2

我需要以编程方式锁定 SQL-Server 登录。目标是模拟 SQL 中的自动功能,该功能将锁定使用错误密码进行多次连接尝试的用户。

我可以轻松解锁登录,但我也需要锁定它。

我尝试使用sqlConnection包含无效密码的 .NET 循环 20 次,但结果非常不一致。

4

1 回答 1

2

使用SqlConnetion客户端:

using (var con = new SqlConnection(MyConnectionString))
{
    con.Open();
    var cmd = new SqlCommand("ALTER LOGIN [Username] DISABLE", con);
    cmd.ExecuteNonQuery();
}

或者,您可以拒绝用户连接权限(只要用户不是该sysadmin角色的成员)。请注意,为了做到这一点,您必须连接到master数据库,因为它是服务器级别的权限:

using (var con = new SqlConnection(MyConnectionStringToMasterDatabase))
{
    con.Open();
    var cmd = new SqlCommand("DENY CONNECT SQL TO [Username]", con);
    cmd.ExecuteNonQuery();
}
于 2012-07-02T20:51:25.797 回答