3

有没有办法以某种方式阻止 SQL Server 中的 DROP TABLE,只需使用 SSMS 及其功能?

4

2 回答 2

7

不要授予用户删除表的权限。

您可能认为DDL 触发器可以防止这种情况发生。在某种程度上确实如此:它让下降发生,然后将其回滚。这并没有完全阻止它,但我想它可能已经足够好了。

于 2012-09-12T20:00:11.463 回答
0

检查一下,基本上有两种方法

第一个基于使用选项 SCHEMABINDING 在表上创建视图。当使用 SCHEMABINDING 选项时,不能以影响视图定义的方式修改表,并且除非先删除视图,否则不能删除它。

第二种方法是使用 SQL Server 2005 中的新 DDL 触发器。为 DROP_TABLE 定义带有回滚主体的触发器将不允许删除表。

于 2012-09-12T20:01:07.577 回答