我想调整 SQL Server 表的权限,以便用户只能使用SELECT
和命令。所有其他命令(例如, ,...)INSERT
的执行应该是不可能的。UPDATE
DELETE
我已经尝试过以下方法:
USE MyDB
GO
CREATE TABLE dbo.TestTable
(
colA INT,
colB INT
);
CREATE ROLE my_role;
GRANT SELECT, INSERT ON OBJECT::dbo.TestTable TO my_role;
DENY UPDATE, DELETE ON OBJECT::dbo.TestTable TO my_role;
ALTER ROLE my_role ADD MEMBER user1;
但权限似乎没有改变。一切仍有可能。我读过,所有权链可能是原因,但即使我创建一个以 public 作为所有者的新模式并在此模式上创建表,它与上面的情况相同。
如何设置有效的表权限?