为什么我没有更改 SQL 数据库的权限?

问题描述 投票:0回答:0

我有一个正在运行的 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
命令中不断收到错误消息。

我还能做什么?

c# sql-server user-permissions alter
© www.soinside.com 2019 - 2024. All rights reserved.