1

我正在尝试删除 sql server 数据库。如果不使用它会被删除。如果数据库正在使用中,则会发生异常can not delete database while it is in use。我们可以使用选项从管理工作室中删除使用数据库Close existing connection。但是我们如何使用 C# 代码来做到这一点呢?

4

2 回答 2

3
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;

DROP DATABASE AdventureWorks2012;

通过在其中编写上面的查询来制作一个脚本文件。然后执行此脚本文件,如下所示:

string sqlConnectionString = "Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True";
            FileInfo file = new FileInfo("C:\\myscript.sql");
            string script = file.OpenText().ReadToEnd();
            SqlConnection conn = new SqlConnection(sqlConnectionString);
            Server server = new Server(new ServerConnection(conn));
            server.ConnectionContext.ExecuteNonQuery(script);
于 2012-11-05T07:37:36.397 回答
2

在 MS SQL Server 上启动所有用户的简单方法是:

ALTER DATABASE [MyDB] SET Single_User WITH Rollback Immediate
GO

通过您的代码触发此查询并继续:-

资源:-

于 2012-11-05T07:20:30.947 回答