在MS SQL 2008 Management Studio中,我试图将表中的某些列/字段拒绝给特定用户。
为此,我右键单击数据库,展开“安全性”,然后展开“用户”。 一旦我选择了有问题的用户,我就会右键单击并选择“属性”。
下一步是选择“Securables”页面,然后选择“选择”权限。然后单击“列权限”
一旦我选择了我想拒绝为所选用户访问的字段,我就点击了Script,所以我可以在新的查询窗口中看到T-SQL(您可以参考上面的相同图片。脚本位于窗口的顶部。)
所以这是我的问题:结果脚本似乎每次重复两次动作。 例如,这是它的样子:
use [master_table]
GO
DENY SELECT ON [dbo].[Table_Main] ([DatabaseConnectionString]) TO [Testing_Login]
GO
use [master_table]
GO
DENY SELECT ON [dbo].[Table_Main] ([DBUserName]) TO [Testing_Login]
GO
use [master_table]
GO
DENY SELECT ON [dbo].[Table_Main] ([DBPassword]) TO [Testing_Login]
GO
use [master_table]
GO
DENY SELECT ON [dbo].[Table_Main] ([DatabaseConnectionString]) TO [Testing_Login]
GO
use [master_table]
GO
DENY SELECT ON [dbo].[Table_Main] ([DBUserName]) TO [Testing_Login]
GO
use [master_table]
GO
DENY SELECT ON [dbo].[Table_Main] ([DBPassword]) TO [Testing_Login]
GO
知道为什么这样做吗?我们有许多表要匹配权限,并且正在考虑使用CURSOR来执行此操作。但我不知道是否应该按照我的程序包含上述脚本,或者删除重复的语句是否安全。
请让我知道你的想法。
由于
答案 0 :(得分:1)
我在SSMS 2008 R2中尝试了相同的操作,并为表中的每一列获得了相同的重复脚本。这似乎是SSMS的一个问题。我没有看到你需要包含重复脚本的任何理由。我建议你可以忽略它们。
您可能希望在Microsoft Connect网站上报告此问题。
看起来网站上有类似的问题报告。它仍被列为活动。