我是 SQL DW 的新手,但对 DB 有一些经验
我正在尝试创建具有不同权限的用户 (3),但希望将它们限制为一个模式“dep”。所以我做了以下。
1) 使用超级管理员 ID 登录数据库。然后运行以下命令。他们都工作得很好
enter code here---main db
CREATE LOGIN dep_ingestion_owner_login WITH PASSWORD = 'XXXXXXXXXXXXXXX';
CREATE LOGIN dep_ingestion_rw_login WITH PASSWORD = 'XXXXXXXXXXXXXXX';
CREATE LOGIN dep_ingestion_ro_login WITH PASSWORD = 'XXXXXXXXXXXXXXX';
go
---inside db "db-testing"
CREATE SCHEMA dep;
create user dep_ingestion_owner_user for login dep_ingestion_owner_login;
create user dep_ingestion_rw_user for login dep_ingestion_rw_login;
create user dep_ingestion_ro_user for login dep_ingestion_ro_login;
ALTER AUTHORIZATION ON SCHEMA::dep to dep_ingestion_owner_user;
go
GRANT SELECT,INSERT,UPDATE,DELETE ON SCHEMA :: dep TO dep_ingestion_rw_user WITH GRANT OPTION;
GRANT SELECT ON SCHEMA :: dep TO dep_ingestion_ro_user WITH GRANT OPTION;
go
我可以通过 SSMS 查看架构名称和用户。
现在我正在尝试使用用户 ID“ dep_ingestion_owner_login ”登录并选择 db as => db-testing
登录工作得很好。但以下命令给了我错误。
CREATE TABLE depletions_ke.Sizes (ChainID int, width dec(10,2));
我也尝试了不同的排列,但得到了同样的错误。
CREATE TABLE [db-testing].depletions_ke.Sizes (ChainID int, width dec(10,2));
消息 6004,级别 14,状态 9,第 1 行用户无权执行此操作。将数据库上下文更改为“db-testing”。