Я импортировал кучу таблиц со старого сервера sql (2000) в свою базу данных 2008 года. Все импортированные таблицы начинаются с моим именем, например: jonathan.MovieData
. В таблице properties
он указан jonathan
как схема db. Когда я пишу хранимые процедуры, мне теперь нужно включать jonathan.
перед всеми именами таблиц, что сбивает с толку.
Как мне изменить все мои таблицы на dbo вместо jonathan?
Текущий результат: jonathan.MovieData
Желаемый результат: dbo.MovieData
sql
sql-server
database
sql-server-2008
schema
Джонатан Холл
источник
источник
[DOMAIN\user].[tableName]
. Обычно в сообществе SQL Server используются идентификаторы в кавычках Transact-SQL ([
и]
), избегайте,"
если для этого нет особых требований.[
и]
, как и в любом другом случае, если вы хотите уточнить имя объекта SQL.[domain\user123].TableName
,Вы можете запустить следующее, которое сгенерирует набор операторов ALTER sCHEMA для всех ваших талбов:
Затем вам нужно скопировать и запустить операторы в анализаторе запросов.
Вот более старый сценарий, который, я думаю, сделает это за вас, изменив владельца объекта. Однако не пробовал в 2008 году.
Получил с этого сайта .
В нем также говорится о том, чтобы сделать то же самое для сохраненных процессов, если вам нужно.
источник
sys.tables
вместо него использовать (подмножество sys.objects).Ссылка: ALTER SCHEMA
источник
Переместить таблицу из схемы dbo в MySchema:
Переместить таблицу из MySchema в схему dbo:
источник
Я только что отправил это на аналогичный вопрос: как в sql server 2005 изменить «схему» таблицы без потери данных?
небольшое улучшение отличного ответа Саеида в ...
Я добавил exec, чтобы этот код самовыполнялся, и я добавил объединение вверху, чтобы я мог изменить схему обеих таблиц И хранимых процедур:
Мне тоже пришлось восстановить dbdump, и я обнаружил, что схема не dbo - я потратил часы, пытаясь заставить студию управления Sql Server или передачу данных визуальной студии, чтобы изменить схему назначения ... В итоге я просто запустил это против восстановленного сделайте дамп на новом сервере, чтобы все было так, как я хотел.
источник
Вы можете пакетно изменять схемы нескольких объектов базы данных, как описано в этом посте:
Как изменить схему всех таблиц, представлений и хранимых процедур в MSSQL
источник
Способ сделать это для отдельной вещи:
изменить схему передачи dbo jonathan.MovieData
источник
У меня была аналогичная проблема, но в моей схеме была обратная косая черта. В этом случае заключите схему в скобки.
источник
Откройте SQL Server как учетную запись SA и щелкните новый запрос после следующих запросов.
затем нажмите «Выполнить», он откатит всю имеющуюся схему обратно в учетную запись SA.
источник
мс-помощь: //MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/0a760138-460e-410a-a3c1-d60af03bf2ed.htm
ALTER SCHEMA schema_name TRANSFER securable_name
источник