2012-01-09 3 views
4

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

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 будет разрешение делать практически все, что мне нравится. Очевидно, я не совсем понимаю это. Может ли кто-нибудь объяснить, как я могу работать над этой командой, чтобы я мог изменить схему по умолчанию.

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

Любая помощь была бы очень полезной.

EDIT: Я не знаю, предоставят ли они какую-либо помощь. Я выполнил команды:

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

ответ

4

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

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

+0

Я смотрел под охраной \ логины, и я там. L01 \ Admin. Поэтому теперь, когда я знаю, что это логин, а не пользователь базы данных. Что мне нужно изменить, чтобы команда работала так же, как в колледже. Спасибо за Ваш ответ. –

+0

@FrancisRodgers вы можете создать отдельного пользователя базы данных и сопоставить свой логин с этим пользователем базы данных, а не с пользователем 'dbo'. Затем вы можете изменить 'default_schema' для этого нового пользователя базы данных, к которому вы привязаны. –

+0

Я попытался создать пользователя MyXyz. Он запрашивает имя пользователя. Когда я вхожу в L01 \ Admin, он дает мне ошибку ==> У учетной записи уже есть учетная запись под другим именем пользователя. Ошибка 15063). Поэтому я даже не могу создать пользователя. Спасибо за вашу помощь. –

0

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

+0

Предыдущий ответ показал, что логин отличается от пользователя. Когда я смотрю под S00103417 \ Security \ Users (то есть - DatabaseName \ Security \ Users), я единственный пользователь, которого я вижу, это dbo, guest, INFORMATION_SCHEMA, sys. Я не вижу ничего для L01 \ Admin, поэтому я предполагаю, что я пользователь dbo или один из других. Так что я должен сделать, чтобы моя команда работала так же, как в колледже. Спасибо за Ваш ответ. –

Смежные вопросы