我正在尝试使用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();
我得到例外:
“为数据库创建失败。”
可能是什么问题,如何创建新数据库? 感谢...
答案 0 :(得分:3)
我试过这个:使用sysadmin用户,一切正常。对于“普通”用户,我会得到与您相同的错误。
试试这个:
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
非常清楚:
在数据库'master'中拒绝CREATE DATABASE权限。