Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何禁用所有用户的更新表_Sql Server_Sql Server 2008_Sql Server 2008 R2 - Fatal编程技术网

Sql server 如何禁用所有用户的更新表

Sql server 如何禁用所有用户的更新表,sql-server,sql-server-2008,sql-server-2008-r2,Sql Server,Sql Server 2008,Sql Server 2008 R2,我使用SQL Server 2008 R2,有一个表,我不想让任何人更新,换句话说,我想禁用此表上的更新。为此,我知道两种方法,第一种是使用而不是update触发器来阻止更新,第二种是使用权限 我想找出这方面的最佳实践 编辑1: 我想拒绝所有用户的更新。IMHO,使用权限禁用表更新可能是最好的方法 编辑:在MySQL中,SQL的i-am-a-dummy标志使MySQL、SQL引擎拒绝更新和删除命令,除非存在WHERE子句。为什么,哦,为什么,你会使用触发器来模拟SQL Server免费提供给你的

我使用SQL Server 2008 R2,有一个表,我不想让任何人更新,换句话说,我想禁用此表上的更新。为此,我知道两种方法,第一种是使用
而不是update
触发器来阻止更新,第二种是使用权限

我想找出这方面的最佳实践

编辑1:
我想拒绝所有用户的更新。

IMHO,使用权限禁用表更新可能是最好的方法


编辑:

在MySQL中,SQL的
i-am-a-dummy
标志使MySQL、SQL引擎拒绝
更新和删除
命令,除非存在
WHERE
子句。

为什么,哦,为什么,你会使用触发器来模拟SQL Server免费提供给你的东西?有一段时间管理员忘记了表是不可更新的。当我使用触发器时,没有人可以更新此表。当然,管理员可以禁用触发器,但禁用触发器是有意识的。所以您尝试通过引入技术问题来解决组织问题?有时候,数据非常重要,永远不必更改这些问题。即使是管理员。我知道Instead of update用于重定向,但我可以在中引发错误,而不是每次更新的触发器。我如何拒绝所有用户的更新权限(每次使用都拒绝权限或可以拒绝所有用户)。您可以使用以下行中的内容
deny update on SCHEMA::table TO user
@Habib.OSU,我不明白。你能帮我更多的忙吗。我想
拒绝所有用户的更新
拒绝向单个用户更新所有表
@Habib.OSU我检查了上面的链接。但我想拒绝所有用户的权限。在您的链接中,当我定义新用户时,必须为新定义的用户拒绝更新权限。也许你会忘记它。