在sql server azure上执行操作的用户权限不足

0kjbasz6  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(354)

我正在尝试在azure中新创建的db上重新运行迁移。db、user和所有特权都是从头创建的。我基本上授予用户所有操作权限,包括db admin角色的读写权限:(基本上都试过了)

  1. EXEC sp_addrolemember 'db_ddladmin', N'myuser'
  2. EXEC sp_addrolemember N'db_datareader', N'myuser'
  3. EXEC sp_addrolemember N'db_datawriter', N'myuser'
  4. GRANT SELECT, INSERT, UPDATE, ALTER TO myuser

但最终我还是看到了执行这个特定操作的错误(来自azure devops的日志)

  1. 2020-08-06T15:26:10.9511511Z Beginning Transaction
  2. 2020-08-06T15:26:11.0719834Z ExecuteSqlStatement ALTER TABLE [dbo].[ContextState] ALTER COLUMN [JsonContent] ADD MASKED WITH (FUNCTION = 'default()');
  3. 2020-08-06T15:26:11.2674256Z !!! An error occured executing the following sql:
  4. 2020-08-06T15:26:11.2675116Z ALTER TABLE [dbo].[ContextState] ALTER COLUMN [JsonContent] ADD MASKED WITH (FUNCTION = 'default()');
  5. 2020-08-06T15:26:11.2675549Z The error was User does not have permission to perform this action.
ckocjqey

ckocjqey1#

不确定db\u owner提供了什么额外的特权,但这解决了我的问题:

  1. EXEC sp_addrolemember N'db_owner', N'myuser'

我把它贴在这里希望它能帮助任何人。

相关问题