c# 应用程序连接到数据库 - 无法分离

c# application connected to the database - cannot detach

当我使用 C# 创建新数据库并创建 table 时,我可以关闭和打开与它的连接。如果我尝试在我的应用程序的同一会话中分离数据库,它告诉我我不能。 如果我重新启动应用程序,然后打开数据库,然后关闭并分离 - 它可以工作。 为什么会发生这种情况,我该如何解决?

P.S。我已经尝试使用 SET OFFLINE WITH ROLLBACK IMMEDIATE,这有效,但更改了我的数据库权限,我真的不想要这个。

我的连接字符串:

myConn.ConnectionString = String.Format("Server={0};Integrated security=SSPI;", serverName);

我的分离字符串:

str = string.Format("EXEC sp_detach_db '{0}'", databaseName);

朋友您好,您正在使用:"Microsoft.SqlServer.Management.Smo;"?
if NO 然后用它来分离你的数据库

Server MyServer = new Server("your server name"); MyServer .DetachDatabase("name of database",true);


如果请说明您的问题

您不能分离正在使用的数据库。
因此,如果您连接到要分离的同一个数据库,请先切换到数据库主服务器。

str = string.Format("use master GO EXEC sp_detach_db '{0}'", databaseName);