使用SQL Server 7.0建立一个安全的数据库的最好…

2008-04-02 10:52:49来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

永远不要给用户直接访问表的权限。假如您希望让用户使用交互式工具如Microsoft Acess 2000来访问数据库,能够只给他们访问视图和存储过程的权限,而不是对表的直接访问权限。假如存储过程的拥有者是“dbo”,而且存储过程所引用的表和视图的拥有者也都是“dbo”,给予用户对存储过程的执行(EXECUTE)权限就足够了。这样就根本不用检查对表的访问权限了。

您还能够使用其他安全特性,比如通过在存储过程中加入商业逻辑来控制哪些字段或行能够被访问。视图是阻止用户直接访问表的另一种途径。和存储过程的区别是,您能够为视图授予SELECT、INSERT、UPDATE或DELETE权限,而存储过程则只能授予EXECUTE权限。

更有一件需要注意的事情是,假如您在另外一个数据库中执行SELECT语句,数据库对象拥有者的的链式关系仍然适用。比如说,在由SQL Server登录名“sa”所拥有的pubs数据库中,您就不能执行跨表查询连接至被一个NT登录名所拥有的数据库中,即使两个登录名都是“sysadmin”角色的成员。假如您希望连接来自3个不同数据库的表,那么这3个数据库的拥有者应该是同一个帐号。假如需要的话您能够使用存储过程“sp_changedbowner”来改变数据库的拥有者。



标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: SQL Server同Exchange Server结合应用--SQL Mail2

下一篇: 分页 SQLServer存储过程