我需要以编程方式锁定 SQL-Server 登录。目标是模拟 SQL 中的自动功能,该功能将锁定使用错误密码进行多次连接尝试的用户。
我可以轻松解锁登录,但我也需要锁定它。
我尝试使用sqlConnection
包含无效密码的 .NET 循环 20 次,但结果非常不一致。
我需要以编程方式锁定 SQL-Server 登录。目标是模拟 SQL 中的自动功能,该功能将锁定使用错误密码进行多次连接尝试的用户。
我可以轻松解锁登录,但我也需要锁定它。
我尝试使用sqlConnection
包含无效密码的 .NET 循环 20 次,但结果非常不一致。
使用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();
}