我可以在sqlmanager中运行此命令来分离数据库
ALTER DATABASE mydb SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
dbo.sp_detach_db @dbname = N'mydb',@keepfulltextindexfile = N'false'
当我使用相同的连接时,通过ado.net运行相同的commadn失败,并出现错误:
The database 'mydb' can not be opened because it is offline
(错误从德语翻译过来。)
ADO.NET代码是
SqlCommand cmdOffline = new SqlCommand(@"ALTER DATABASE mydb SET OFFLINE WITH ROLLBACK IMMEDIATE");
cmdOffline.Connection = prepareMasterDBConnection;
cmdOffline.ExecuteNonQuery();
SqlCommand cmdDetach = new SqlCommand(@"dbo.sp_detach_db @dbname = N'mydb',@keepfulltextindexfile = N'false'");
cmdDetach.Connection = prepareMasterDBConnection;
cmdDetach.ExecuteNonQuery();
连接设置为master-db并打开。第一个命令成功地执行了。
从ADO和SQL管理器调用代码有什么区别?