防止SQL Server中的删除表

防止SQL Server中的删除表,sql,sql-server,Sql,Sql Server,有没有一种方法可以简单地通过使用SSMS及其功能,以某种方式防止在SQL Server中删除表?不授予用户删除表的权限 你可能会认为一种新的方法可以防止这种情况。在某种程度上,它是这样做的:它让下降发生,然后它将其回滚。这并不能完全阻止它,但我认为它可能已经足够好了。检查,基本上有两种方法 第一个是基于在带有选项的表上创建视图 策划。当使用SCHEMABINDING选项时,表不能 修改的方式将影响视图定义,以及 除非先删除视图,否则无法删除该视图 第二种方法是在SQLServer2005中使用新

有没有一种方法可以简单地通过使用SSMS及其功能,以某种方式防止在SQL Server中删除表?

不授予用户删除表的权限

你可能会认为一种新的方法可以防止这种情况。在某种程度上,它是这样做的:它让下降发生,然后它将其回滚。这并不能完全阻止它,但我认为它可能已经足够好了。

检查,基本上有两种方法

第一个是基于在带有选项的表上创建视图 策划。当使用SCHEMABINDING选项时,表不能 修改的方式将影响视图定义,以及 除非先删除视图,否则无法删除该视图

第二种方法是在SQLServer2005中使用新的DDL触发器。 为主体中包含回滚的DROP_表定义触发器不会 允许放下桌子


SSMS只是一个帮助管理服务器和数据方面的软件。它不能也不能控制这些事情。您正在寻找SQL Server的功能可以做到这一点。如果用户也可以删除视图,那么视图技巧实际上不会阻止任何事情。我会小心地指定DDL触发器将阻止它。它会将其回滚,如果下落需要很长时间,这不是一个瞬间的动作。防止这种情况发生的唯一正确方法是控制权限。如果这个答案解释了调整用户权限以防止他们删除表的过程,那么这个答案会更好。