所以我的表格如下所示
CREATE TABLE [dbo].[Test]
(
[Id] INT NOT NULL,
[CommaSeperatedString] nvarchar(Max) NOT NULL,
CONSTRAINT [PK_Test] PRIMARY KEY ([Id])
)
我希望锁定此表,以便只能通过触发器进行更新。
即。我不希望用户能够运行
- 插入
- 更新
- 删除
反对这张桌子。它可能只是通过我设置的一些触发器更新。
这可能吗?
答案 0 :(得分:2)
这里 INSTEAD OF Triggers 就好了。
您可以为RewriteRule ^(photo|videos?|quote|post|author|...)/([^/]+)/.+$ /$1.php?slug=$2 [L]
RewriteRule ^(blog|check-ins|videos|photos|...)/$ $1.php [L]
和INSTEAD OF INSERT
创建触发器,也可以为删除创建触发器。
INSTEAD OF UPDATE
答案 1 :(得分:1)
在管理工作室中,您可以转到用户角色 - >属性 - >安全对象。
在此处添加表格,您可以拒绝表格的权利。 拒绝否决任何允许权利。因此,即使用户有另一个允许的角色,它仍将被拒绝权利。
更多信息:Understanding GRANT, DENY, and REVOKE in SQL Server
编辑:如果您的触发器在同一个表上,请使用而不是触发器,就像其他答案所说的那样。否则使用权利。
答案 2 :(得分:1)
是的,使用代替触发器,我们可以有条件地阻止其他人使用CURD操作。但我们也可以完全从某些用户那里批准或拒绝这项操作。为此我们使用像
这样的命令GRANT - gives a user permission to perform certain tasks on database objects
DENY - denies any access to a user to perform certain tasks on database objects
REVOKE - removes a grant or deny permission from a user on certain database objects
请参阅此网站
https://www.mssqltips.com/sqlservertip/1138/giving-and-removing-permissions-in-sql-server/
所有最好的.....