Как мне найти владельца данной базы данных? - PullRequest
0 голосов
/ 01 мая 2009

Как найти владельца данной базы данных с помощью .NET DbConnection.GetSchema ()?

В качестве альтернативы, если у вас есть другое решение, которое не связано с конкретным реализацией SQL, я бы тоже хотел это услышать.

Ответы [ 2 ]

3 голосов
/ 01 мая 2009

Вызов GetSchema в DbConnection, к сожалению, не возвращает владельца БД для вас: - (

Но вы можете попробовать это на 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

Если вы хотите подключиться к SQL Server из .NET, вы можете использовать SMO (объекты управления SQL) и найти своего владельца следующим образом:

    Server server = new Server("Your Server");

    Database db = server.Databases["Your Database"];

    Console.WriteLine("Database owner is: " + db.Owner);

Марк

1 голос
/ 01 мая 2009

Я не верю, что стандарт SQL-92 указывает, что у каталога (базы данных) должен быть владелец. Таким образом, я не знаю, что вы можете получить способ реализации, не зависящий от реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...