gpt4 book ai didi

sql-server - 仅授予对数据库的 CREATE TABLE 权限,但不授予 ALTER

转载 作者:行者123 更新时间:2023-12-05 07:55:19 25 4
gpt4 key购买 nike

只是尝试使用权限,我想向用户授予 CREATE 表权限,而不是 ALTERDROP。此外,用户应该只能创建表(没有存储过程,没有函数)

grant alter on schema::dbo to demo_db_user
grant create table to demo_db_user

通过使用上述命令,用户也可以更改表。

最佳答案

如果当前用户不是特定角色(或其他角色)的成员,您可以编写 DDL 触发器并阻止 ALTER TABLE,类似如下(未测试):

CREATE TRIGGER [ddl_tr_prvent_alter_table] ON DATABASE
FOR alter_procedure
as
begin
if User_Name() <> 'dbo'
RAISERROR ('go ahead, you must not change a table', 16, 1);
end

关于sql-server - 仅授予对数据库的 CREATE TABLE 权限,但不授予 ALTER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29968320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com