我有一个数据库“D:\MDF CONNECTION SAMPLE\BIN\DEBUG\HARMDATABASE.MDF”。
我正在尝试使用以下代码分离或重命名它:
SqlConnection conn = new SqlConnection("Data Source=.\\MSSQLSERVER2008;database=Master;Integrated Security=True;");
SqlCommand cmd = new SqlCommand("", conn);
cmd.CommandText = @"sys.sp_detach_db D:\MDF CONNECTION SAMPLE\BIN\DEBUG\HARMDATABASE.MDF";
conn.Open();
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Dispose();
但出现错误:
“\”附近的语法不正确。
为了分离数据库并同时解决错误
无法分离数据库“YOUR_DATABASE”,因为它当前正在使用
您可以简单地使用以下代码:
private void DetachDatabase()
{
String databaseConnectionString = "Data Source=localhost;MultipleActiveResultSets=True;Integrated Security=True";
using (SqlConnection sqlDatabaseConnection = new SqlConnection(databaseConnectionString))
{
try
{
sqlDatabaseConnection.Open();
string commandString = "ALTER DATABASE YOUR_DATABASE SET OFFLINE WITH ROLLBACK IMMEDIATE ALTER DATABASE YOUR_DATABASE SET SINGLE_USER EXEC sp_detach_db 'YOUR_DATABASE'";
SqlCommand sqlDatabaseCommand = new SqlCommand(commandString, sqlDatabaseConnection);
sqlDatabaseCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
请注意您的数据库有时不带单引号,有时带单引号。仅更换您的数据库与您的数据库名称不带.mdf扩展并保留字符串的其余部分原样......
感谢这个网站:分离数据库删除连接 http://www.sqlservercentral.com/Forums/Topic870653-391-1.aspx
还有这个网站:SQL Server – 如何分离数据库 http://sqlandme.com/2013/06/03/sql-server-how-to-detach-a-database/
顺便说一句,这对我在 SQL SERVER 2014 上有用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)