Назад | Перейти на главную страницу

В разрешении отказано при создании базы данных в Sql Server 2008 Express

Выполнение следующего (сгенерированного Sql Server Management Studio) на Sql Server 2008 Express под Vista:

CREATE DATABASE [test] ON  PRIMARY 
( NAME = N'test', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\test.mdf' , SIZE = 5120KB , FILEGROWTH = 10%)
 LOG ON 
( NAME = N'test_log', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\test_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

приводит к

Msg 262, Level 14, State 1, Line 1
CREATE DATABASE permission denied in database 'master'.

Инструмент площади поверхности, на который я нашел ссылки для sql 2005, больше не существует, и я не могу понять, как добавить локальных администраторов (в том числе я) к администраторам базы данных для sql express.

Насколько мне известно, это довольно стандартная установка.

Как мне создать новую базу данных?

Программа установки 2008 R2 попросит вас во время установки выбрать, какой пользователь будет администратором сервера sql. Это не делает учетную запись локального администратора системным администратором sql server, как в предыдущих версиях. Если вы не знаете, какого пользователя вы сделали администратором во время установки (или пользователь был удален), вам придется запустить sql-сервер в одиночном пользовательском режиме и добавить свою учетную запись в качестве системного администратора.

Вы можете следовать этим инструкциям
Убедитесь, что вы щелкните правой кнопкой мыши и запустите sqlcmd «от имени администратора». На шаге 5 вы должны добавить свою учетную запись Windows в качестве имени входа, а затем добавить ее к роли сервера sysadmin с помощью следующих двух команд:

exec sp_addlogin [YOULOCALMACHINENAME\YourUsername]
exec sp_addsrvrolemember [YOULOCALMACHINENAME\YourUsername], 'sysadmin'

Затем у вас должны быть права, необходимые для запуска оператора CREATE DATABASE, и он будет работать!

Попробуйте войти в систему как 'sa' (с соответствующим паролем) в режиме аутентификации sql server.

Пробовали ли вы использовать инструмент командной строки OSQL и входить в систему с использованием встроенной аутентификации с помощью переключателя -E. Вы не должны использовать переключатели -U и -P (имя пользователя / пароль).

Убедитесь, что вы вошли в систему как администратор. Затем из OSQL вы можете выполнять свои сценарии создания.

Попробуйте это, это сработало:

exec sp_addlogin [YOULOCALMACHINENAME\YourUsername]
exec sp_addsrvrolemember [YOULOCALMACHINENAME\YourUsername], 'sysadmin'