Не удалось создать базу данных, SMO, C # - PullRequest
1 голос
/ 16 октября 2011

Я пытаюсь создать новую базу данных программно, используя SMO (c #).

Я работаю на SQL Server 2005. Это код:

ServerConnection connection = new ServerConnection(serverName, userName, password);
Server sqlServer = new Server(connection);
Database newDB = new Database(sqlServer, databaseName);
newDB.Create();

Я получаю исключение:

«Не удалось создать базу данных.»

В чем может быть проблема и как я могу создать новую БД? спасибо ...

1 Ответ

3 голосов
/ 16 октября 2011

Я попробовал это: с пользователем сисадмина, все работает просто отлично.С «обычным» пользователем я получаю ту же ошибку, что и вы.

Попробуйте:

ServerConnection connection = new ServerConnection(serverName, userName, password);
Server sqlServer = new Server(connection);
Database newDB = new Database(sqlServer, databaseName);

try
{
   newDB.Create();
} 
catch(Exception exc) 
{
   string msg1 = exc.Message;

   if(exc.InnerException != null)
   {
       string msg2 = exc.InnerException.Message;

       if(exc.InnerException.InnerException != null)
       {
           string msg3 = exc.InnerException.InnerExceptionMessage;
       }
   }
}

Вы видите msg2 и msg3 ??Что они говорят ???

При использовании пользователя без необходимого разрешения у меня msg3 очень очень ясно :

В CREATE DATABASE отказано в разрешениибаза данных 'master'.

...