接続しているユーザーが SQL Server 管理者 (sysadmin ロール) であるかどうかを確認したいのですが、これが最善の方法であるかどうか疑問に思っています。
private static bool IsUserAdmin(Server server)
{
Login login = server.Logins[server.ConnectionContext.Login];
return login.IsMember("sysadmin");
}
SQLDMO.SQLServer
SQL DMO (SMO の前身である COM ベース) には、と呼ばれるオブジェクトにぶら下がるプロパティがありましたIsServerAdmin
。SMO に似たようなものがあるのだろうかと思っていますが、見つけられなかったのですか?