Почему таблицы создаются со схемой по умолчанию dbo, хотя я указал другую схему? - PullRequest
1 голос
/ 21 июля 2011

Если я запускаю сценарий sql в SQL Server 2005 SSMS (версия 9.00.4035.00), например

CREATE TABLE xxx.MyTable

таблица будет создана как dbo.MyTable, хотя схема xxx существует! Нет сообщения об ошибке!

Пользователь, которого я использую для запуска скрипта, имеет все разрешения (проверено пользователем windows и пользователем sql с ролью сервера sysadmin)

Что не так?

Ответы [ 2 ]

1 голос
/ 21 июля 2011

Возможно, у вас сейчас 2 таблицы

  • xxx.MyTable
  • dbo.MyTable

Для проверки:

SELECT SCHEMA_NAME(schema_id), name, create_date, modify_date
FROM sys.objects
WHERE name = 'MyTable'

Не полагайтесь на SSMS Object Explorer: его нужно обновить (щелкните правой кнопкой мыши узел таблиц, обновите).

Или неверная база данных, неверный сервер и т. Д.

Мы используем схемы и никогда не было проблем

Редактировать: теперь проверить все базы данных

EXEC sp_msforeachdb '
    USE ?
    SELECT SCHEMA_NAME(schema_id), name, create_date, modify_date
    FROM sys.objects
    WHERE name = ''MyTable''
'
0 голосов
/ 21 июля 2011

Пожалуйста, обратите внимание на возможные обходные пути:

1) Создайте имя входа SQL с правами dbo для базы данных, в которой должны быть созданы таблицы и другие объекты.Попросите пользователей подключиться к SSMS с помощью созданного вами имени входа SQL.Таблицы могут быть созданы с использованием SSMS без проблем.

2) Пользователь группы безопасности Windows должен создать таблицу с помощью TSQL.Вы увидите, что для этой базы данных будет создана новая схема и пользователь с именем пользователя.Таблица создается с именем пользователя Windows в качестве владельца.Теперь перейдите к базе данных пользователя, который был создан.Измените схему по умолчанию на ххх.Пользователь этой группы безопасности может создавать таблицы в SSMS и с dbo в качестве владельца объекта.

По-видимому, это ошибка Microsoft, которая еще не устранена.

https://connect.microsoft.com/feedback/viewfeedback.aspx?FeedbackID=238246&wa=wsignin1.0&siteid=68

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...