cin*_*ndi 5 t-sql sql-server security
我想构建一个transact sql脚本,它将阻止指定人员对所有数据库运行某些命令:
drop database, drop table or preferbly drop *
delete
update
Run Code Online (Sandbox Code Playgroud)
这可能吗?用户已经可以访问服务器.
注意:我不是要为服务器开发安全模型,也不是为了防止恶意攻击.这是一个现有服务器,人们可以通过它们所属的各种Windows组拥有一系列访问权限.我只是想知道是否有快速安全措施来防止人们错误地在错误的服务器上运行命令.
如果您使用的是 SQL Server 2005 或 2008,那么最好的答案就是已经给出的答案,那就是 DDL 触发器。正确编写的 DDL 触发器甚至可以阻止具有系统管理员权限的人执行任何类型的 DDL 操作。系统管理员可以禁用触发器来执行工作,或者可以编写触发器以允许某些人执行工作,因此您仍然可以选择根据需要进行修改。
如果您使用的是 SQL Server 2000(或更低版本),您唯一的办法就是检查每个登录名/用户的安全权限。最终,即使您使用的是 SQL Server 2005 或 2008,这也是需要完成的事情,但在以前的版本中没有快捷方式。
归档时间: |
|
查看次数: |
1074 次 |
最近记录: |