我有一个正在运行的 Windows 应用程序,它使用名为
LakDB
的 SQL Server 数据库来运行。我想提供一个选项来选择另一个数据库文件。我要做的第一件事是使当前数据库脱机,这样我就可以使用相同的数据库名称设置新的数据文件。但我一直收到这个错误:
System.Data.SqlClient.SqlException: User does not have permission to alter database 'LakDB', 数据库不存在,或者数据库不在允许访问检查的状态。 ALTER DATABASE 语句失败。
我使用的代码是:
string conn = @"Server=(localdb)\MSSQLLocalDB;Integrated security=True;Connection Timeout=30";
using (SqlConnection c = new SqlConnection(conn))
{
string query = "use master";
using (SqlCommand cmd = new SqlCommand(query, c))
{
c.Open();
cmd.ExecuteNonQuery();
c.Close();
}
query = "alter database LakDB set offline with rollback immediate";
using (SqlCommand cmd = new SqlCommand(query, c))
{
c.Open();
cmd.ExecuteNonQuery();
c.Close();
}
query = "drop database if exists LakDB";
using (SqlCommand cmd = new SqlCommand(query, c))
{
c.Open();
cmd.ExecuteNonQuery();
c.Close();
}
}
而且我在
ExecuteNonQuery
查询下的第一个 alter database LakDB
命令中不断收到错误消息。
我还能做什么?