gpt4 book ai didi

c# - 如何设置现有 SQL Server 数据库的所有者

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:39 24 4
gpt4 key购买 nike

我正在尝试使用 C# 和 SMO 设置 SQL Server 数据库所有者。如果数据库不存在,我可以指定它的所有者。但是,如果我想设置现有数据库的所有者,则会出现错误。

新数据库的工作代码:

Server server = new Server("WINSERVER\\SQLEXPR");
server.ConnectionContext.LoginSecure = true;
Database database = new Database(server, "MyDatabase");
db.Create();

database.SetOwner("SOMEOWNER", true)
database.Refresh();

不适用于现有数据库的代码:

Server server = new Server("WINSERVER\\SQLEXPR");
server.ConnectionContext.LoginSecure = true;
Database database = new Database(server, "MyDatabase");

database.SetOwner("SOMEOWNER", true)
database.Refresh();

错误:

Microsoft.SqlServer.Management.Smo.InvalidSmoOperationException: You cannot execute this operation since the object has not benn created.

最佳答案

Server server = new Server("WINSERVER\\SQLEXPR");
server.ConnectionContext.LoginSecure = true;

// changed line below
Database database = server.Databases["MyDatabase"];

database.SetOwner("SOMEOWNER", true)
database.Refresh();

无需创建新的 Database 对象,只需从服务器上的数据库集合中提取即可。

关于c# - 如何设置现有 SQL Server 数据库的所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com