当我尝试使用c#,方法
删除数据库时Microsoft.SqlServer.Management.Smo.Server.KillDatabase(字符串 数据库)。
失败了。错误信息是
System.Data.SqlClient.SqlException:用户没有权限 alter database' My_Database_Name',数据库不存在,或者 数据库不处于允许访问检查的状态。 ALTER DATABASE 声明失败。"。
我知道的事情:
1)数据库存在;
2)登录名和密码正确;
3)在它运行良好之前,但在我向数据库添加了3个附加表之后,它就停止了工作。
可能是什么原因,为什么它无法删除数据库?
我的代码是:
if (server.Databases.Contains(databaseName))
{
server.KillDatabase(databaseName);
}
答案 0 :(得分:1)
试试这样:
sqlCommandText = "DROP DATABASE [databaseName]";
sqlCommand = new SqlCommand(sqlCommandText , connection);
sqlCommand.ExecuteNonQuery();
假设用户有权删除数据库。
您也可以尝试设置
USE master;
ALTER DATABASE databaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE databaseName;