SQLServer: проблема с выбором схемы по умолчанию для пользователя - PullRequest
0 голосов
/ 27 августа 2010

Я назвал схему неправильно, и все таблицы созданы со схемой с неправильным именем. Поэтому я создал один и использую схему alter для переноса таблиц.

Первая проблема заключается в том, что SQL Server не работает, когда я пытаюсь отбросить неправильную схему, во-вторых, хотя пользователи были созданы с новой схемой по умолчанию, я полагаю, что могу просто сказать

select * from table1, 

вместо

select * from myschema.table1, 

но это не работает. Я должен быть явным Есть идеи, что происходит? Более странно то, что старый пользователь, который был создан с неверной схемой по умолчанию, теперь не может ее изменить. Это отчасти расстраивает. Пожалуйста помоги.

1 Ответ

2 голосов
/ 27 августа 2010

Можете ли вы попробовать сделать следующее:

ALTER USER userName  
WITH DEFAULT_SCHEMA =myschema

Предполагая, что "myschema" - это новая схема, для которой пользователь должен использовать значение по умолчанию.

Я знаю, что вы упомянули, что новый пользовательсоздается с новой схемой, но если это так, то вы не должны видеть такого рода ошибки.Так что, похоже, что-то пошло не так.Явная установка схемы по умолчанию может исправить это.

Как правило,

  1. Схема по умолчанию для сеанса входа в систему в текущей базе данных - это схема по умолчанию, назначенная текущей базе данных.основной уровень - пользователь базы данных.

  2. Если вы ссылаетесь на объект в схеме по умолчанию, вам не нужно указывать имя схемы.

  3. Если вы ссылаетесь на объект вне схемы по умолчанию, вы должны указать имя схемы.

Для получения более подробной информации о схеме сеанса и т. Д., Возможно, это также поможет

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