使用.NET的DbConnection.GetSchema(),如何找到给定数据库的所有者?
或者,如果你有另一个解决方案没有与SQL的特定实例相结合,我也想听听。
答案 0 :(得分:3)
遗憾的是,DbConnection的GetSchema调用无法为您检索数据库所有者: - (
但是你可以在SQL Server上试试这个:
select
db.name, db.database_id, l.name, l.type
from
sys.databases db
inner join
sys.login_token l on db.owner_sid = l.sid
如果要从.NET连接到SQL Server,可以使用SMO(SQL管理对象)并找到您的所有者,如下所示:
Server server = new Server("Your Server");
Database db = server.Databases["Your Database"];
Console.WriteLine("Database owner is: " + db.Owner);
马克
答案 1 :(得分:1)
我不相信SQL-92标准规定目录(数据库)必须拥有所有者。因此,我不知道您可以采用非特定于实现的方式来执行此操作。