sql - 如果我无法向其中添加任何 USER,Azure Syanpse 中的 ROLES 有什么用?
问题描述
我正在使用管理员登录 ID 和密码在 Azure 突触中创建用户,特别是 login_id。
到目前为止,我必须使用下面的代码单独授予每个登录权限。 (brown_batman 是在 login_id brown_batman 中为数据库 Adventure2016 创建的用户)
grant Select,Alter,Update,Execute,Insert on database::[adventure2016] to brown_batman;
我正在使用以下代码在 Adventure2016 DB 中创建一个角色并授予该角色权限:
CREATE ROLE Perm;
grant Select,Alter,Update,Execute,Insert on database::[adventure2016] to Perm
现在,如果我尝试使用代码将用户添加到角色中,ALTER ROLE Perm ADD Member brown_batman;
则会收到错误消息
第 1 行第 17 列的解析错误:“添加”附近的语法不正确。
当我无法将用户添加到特定角色时,我真的想了解角色的使用。
解决方案
在这里查看文档;
https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/sql-authentication?tabs=serverless
在 Azure SQL 数据库或 synapse 无服务器中,使用 ALTER ROLE 语句。
ALTER ROLE db_owner ADD MEMBER Mary;
我假设您没有使用无服务器,因此您需要使用以下语法:
在专用 SQL 池中使用 EXEC sp_addrolemember
EXEC sp_addrolemember 'db_owner', 'Mary';
推荐阅读
- c# - 使用反射更改特定模型中的所有变量
- bash - 创建具有不同 PATH 的 shell
- javascript - 拆分很长的javascript字符串
- graph - 遍历有限制的图
- javascript - 该函数应返回一个包含城市、逗号和空格、州、空格和邮政编码的字符串
- visual-studio-code - VSCode 在launch.json 中添加条件以根据文件类型进行区分
- c - avr-ld:输入文件“main.o”的 avr:51 架构与 avr 输出不兼容
- unity3d - 网络大厅等到所有玩家场景加载完毕
- cassandra - DSE 搜索获取列的不同计数
- c# - AOT:找不到图像“...dll.so”