在C#中查找所有SQL Server数据库用户

时间:2018-02-13 21:26:26

标签: c# sql-server smo

要查找我正在使用的所有数据库用户/所有者,请使用以下代码

m_server的类型为Microsoft.SqlServer.Management.Smo.Server

var databases = m_server.Databases;
var result = new List<string>();

foreach (Database database in databases)
{
    if (!result.Contains(database.Owner))
    {
        result.Add(database.Owner);
    }
}

此方法缺乏性能。

有没有其他方法可以从Microsoft.SqlServer.Management.Smo.Server类型变量中获取用户列表?

1 个答案:

答案 0 :(得分:0)

      var result = new List<string>();
        foreach (Login login in m_server.Logins)
        {
            if (!login.IsDisabled)
            {
                result.Add(login.Name);
            }
        }
        return result;

我明白了,这是完美的代码