如果您仍然在使用SQL Server 2000(我们的许多客户都在使用),那么这里有另一个升级到新版本的理由。文件级别的安全性得到了极大的改进。SQL Server 2005引入了权限继承。让我们来看看。
在SQL Server 2000中,如果您只想将数据库中的一组存储过程的Execute权限授予特定用户或角色,则必须将该权限分别授予每个存储过程。这是一种痛苦。
在SQL Server 2005中,我们现在有了权限继承。这意味着我们可以在四个主要级别设置权限。这些级别遵循数据库对象的四部分命名约定:Server.Database.Schema.Object。对于表,还可以在列级别设置权限。
所以现在我们仍然可以在单个对象级别为表,视图,存储过程等设置权限,但我们现在可以在模式,数据库或服务器级别的更高级别设置权限。新模式对象允许我们在数据库中使用逻辑名称(如Accounting或Marketing)将对象分组。为了向后兼容,默认模式是dbo。
该模型与NTFS文件安全非常相似,包括驱动器、文件夹、子文件夹和文件。可以在每个级别设置权限,并使用继承将权限应用到较低级别。用户的有效权限是所有权限的累积,如果存在冲突,Deny优于Grant权限。SSMS有一个漂亮的“有效的权限”按钮,以帮助您解开一组多级权限。
因此,现在,如果您想为数据库中的一组存储过程授予权限,那么您现在可以在数据库级别授予执行权限。或者你可以把它们组合成模式并在模式级别设置权限。在SSMS中,可以是单个复选框。工作。
微软再一次给了我们一个选择。
最近的帖子: