需要什么角色才能允许在 Azure SQL 数据库中使用主数据库创建新数据库

问题描述 投票:0回答:1

我有一个要求,我需要通过打开主连接在azure SQL数据库中创建一个新数据库。因此,我需要检查该用户是否有权创建新数据库。对于传统 SQL,我向用户提供“dbcreator”卷并且

string query = "SELECT IS_SRVROLEMEMBER('dbcreator') IS_DBCREATOR";

使用上面的查询来检查用户是否有权创建新数据库。

现在我必须通过 Azure SQL 数据库实现同样的事情。那么我必须将什么卷分配给用户/服务器,以便我允许创建新的数据库。我需要使用什么查询来检查用户是否具有创建者权限。

sql-server azure azure-sql-database
1个回答
0
投票

根据CREATE DATABASE文档

要创建数据库,用户登录必须是以下之一 校长:

  • 服务器级主体登录
  • 本地 Azure SQL Server 的 Azure AD 管理员
  • 作为 dbmanager 数据库角色成员的登录名

对于

dbmanager
角色成员资格,用户需要服务器级别登录、主数据库用户以及
dbmanager
数据库角色成员资格。

授予现有登录权限以在

master
数据库上下文中创建数据库的示例:

CREATE USER YourDbCreatorUser;
ALTER ROLE dbmanager ADD MEMBER YourDbCreatorUser;

检查当前用户的

dbmanager
数据库角色成员身份(在
master
数据库上下文中):

SELECT IS_MEMBER('dbmanager') IS_DBMANAGER;
© www.soinside.com 2019 - 2024. All rights reserved.