无法从C#锁定SQL Server AD帐户?

时间:2018-07-30 18:08:16

标签: c# sql-server

我正在以编程方式锁定数据库服务器上的帐户。我有成百上千的人需要做,所以我需要一个程序化的解决方案。

我正在运行以下2条命令

string query = "ALTER LOGIN [" + itemJson.Account + "] DISABLE;";
query = "USE MASTER DENY CONNECT SQL TO [" + itemJson.Account + "];";

变成

ALTER LOGIN [TestAccount] DISABLE;
USE MASTER DENY CONNECT SQL TO [TestAccount];

效果很好。

但是,如果我将命令更改为

ALTER LOGIN [domain\TestAccount] DISABLE;
USE MASTER DENY CONNECT SQL TO [domain\TestAccount];

该过程失败,并显示

  

无法更改登录名“ domain \ TestAccount”,因为它不存在或您没有权限。

如果我在SSMS中以与应用程序相同的帐户运行相同的命令,则可以正常运行。

有什么想法或建议吗?

1 个答案:

答案 0 :(得分:0)

好的,只是为了回答正在发生的事情。

我将json保留在包含该值的数据库中。

{“实例”:“服务器”,“数据库”:“数据库”,“帐户”:“域\ TestAccount”}

当我将其带入应用程序时,我正在使用Newtonsoft将json转换为对象。不幸的是,该转换看到\ t并将帐户转换为“ Domain estAccount”。

我将json重置为Domain \ TestAccount,它解决了该问题。

感谢您的帮助。