Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何设置现有SQL Server数据库的所有者_C#_Sql_Sql Server_Database_Smo - Fatal编程技术网

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

C# 如何设置现有SQL Server数据库的所有者,c#,sql,sql-server,database,smo,C#,Sql,Sql Server,Database,Smo,我正在尝试使用C#和SMO设置SQL Server数据库所有者。如果数据库不存在,我可以指定其所有者。但是如果我想设置现有数据库的所有者,我会得到一个错误 新数据库的工作代码: Server server = new Server("WINSERVER\\SQLEXPR"); server.ConnectionContext.LoginSecure = true; Database database = new Database(server, "MyDatabase"); db.Create(

我正在尝试使用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();
现有数据库的无效代码:

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.InvalidSmooOperationException:无法执行此操作,因为尚未创建对象

无需创建新的
数据库
对象,只需将其从服务器上的数据库集合中拉出即可