Проблемы с настройкой схемы по умолчанию - PullRequest
4 голосов
/ 10 января 2012

В колледже я запускаю следующую команду, чтобы изменить схему по умолчанию:

ALTER USER [campus\s00103417]
WITH DEFAULT_SCHEMA = MyCmdSet01;

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

ALTER USER [L01\Admin]
WITH DEFAULT_SCHEMA = dbo;

Ниже приведена ошибка, которую я получаю

Cannot alter the user 'L01\Admin', because it does not exist or you do not have permission.

Что я не понимаю, так это то, что я, очевидно, существую, я создал базу данных. Кроме того, я учил меня, поскольку у DBO было бы право делать почти все, что мне нравилось. Очевидно, я не до конца понимаю этот материал. Может кто-нибудь объяснить, как я могу использовать команду выше, чтобы я мог изменить мою схему по умолчанию.

Если это актуально, у меня есть только один вход в систему Windows (без пароля). Как только компьютер загружается, он выводит меня на рабочий стол. Затем я запускаю SQL Server 2008 Management Studio, которая просит меня подключиться, и я набираю L01 в качестве имени сервера и выбираю проверку подлинности Windows.

Любая помощь будет очень оценена.

РЕДАКТИРОВАТЬ: Я не знаю, окажут ли они какую-либо помощь. Я выполнил команды:

SELECT SUSER_NAME()  --Output L01\Admin
SELECT USER_NAME()   --Output dbo

Ответы [ 2 ]

4 голосов
/ 10 января 2012

Вы говорите о своем логине (я думаю, это 'L01 \ Admin').Это отличается от пользователя базы данных.Если ваш логин принадлежит к фиксированной серверной роли sysadmin, вы автоматически сопоставляетесь с пользователем встроенной базы данных dbo.Следовательно, именно поэтому вы не находите своего L01\Admin пользователя, потому что его на самом деле не существует.

Имеет ли это смысл?Просто помните: server login <> database user.

0 голосов
/ 10 января 2012

В SQL Server пользователь является объектом уровня базы данных. Какая у вас база данных, когда вы выполняете команду alter? У вас есть пользователь с именем [L01 \ Admin]?

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