我正在以编程方式锁定数据库服务器上的帐户。我有成百上千的人需要做,所以我需要一个程序化的解决方案。
我正在运行以下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中以与应用程序相同的帐户运行相同的命令,则可以正常运行。
有什么想法或建议吗?
答案 0 :(得分:0)
好的,只是为了回答正在发生的事情。
我将json保留在包含该值的数据库中。
{“实例”:“服务器”,“数据库”:“数据库”,“帐户”:“域\ TestAccount”}
当我将其带入应用程序时,我正在使用Newtonsoft将json转换为对象。不幸的是,该转换看到\ t并将帐户转换为“ Domain estAccount”。
我将json重置为Domain \ TestAccount,它解决了该问题。
感谢您的帮助。