C#无法删除数据库

时间:2015-05-25 10:19:13

标签: c# sql-server database

当我尝试使用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);
}

1 个答案:

答案 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;