XXX Схема по умолчанию - PullRequest
0 голосов
/ 30 июня 2010

В Microsoft SQL Server у меня есть схема XXX. Q: Как мне создать пользователя XXX таким образом, чтобы выполнить следующую команду:

SELECT * FROM Table

совпадает с

SELECT * FROM XXX.Table

Вот что у меня есть:

CREATE SCHEMA XXX authorization dbo -- I think
CREATE LOGIN XXX
WITH PASSWORD = '123';
CREATE USER ItDontMatter FOR LOGIN XXX
WITH DEFAULT_SCHEMA = XXX;

Ответы [ 2 ]

4 голосов
/ 30 июня 2010

Правильно.

Опция DEFAULT_SCHEMA - это то, что вы используете

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

и

Если DEFAULT_SCHEMA оставить неопределенным, пользователь базы данных будет использовать dbo в качестве схемы по умолчанию.Для DEFAULT_SCHEMA может быть задана схема, которой в настоящее время нет в базе данных.DEFAULT_SCHEMA может быть задано до создания схемы, на которую он указывает.

2 голосов
/ 01 июля 2010

Как небольшая заметка к ответу ГБН, они никогда не бывают одинаковыми. Если вы не укажете владельца таблицы, SQL Server не будет кэшировать ваш запрос, поскольку он не уверен в правах доступа. Поэтому для производительности всегда указывайте schema.table в своих запросах, процедурах, функциях и представлениях.

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