为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 C# 在 Azure SQL 数据库上创建包含的用户?

如何使用 C# 在 Azure SQL 数据库上创建包含的用户?

C#
慕工程0101907 2023-04-29 15:46:27
我需要使用 C# 为我的 Azure SQL 数据库创建一个包含的用户。我已经有以下用于创建数据库的代码:// Login to Azurevar credentials = UserTokenProvider.LoginSilentAsync(clientId, domainName, username, password).Result;// Create clientSqlManagementClient client = new SqlManagementClient(credentials){    SubscriptionId = subscriptionId};// Database parametersvar databaseParameters = new Microsoft.Azure.Management.Sql.Models.Database(){    Location = "ukwest",    ElasticPoolId = elasticPoolId,};// Create databasevar dbResponse = client.Databases.CreateOrUpdate(resourceGroupName, serverName, databaseName, databaseParameters);我发现以下 SQL 脚本可用于使用 SQL Management Studio 创建包含的用户,但这需要您手动连接到要为其创建用户的数据库:CREATE USER [databaseUser] WITH PASSWORD = 'xxxxxxxxxxx';ALTER ROLE [db_datareader] ADD MEMBER [databaseUser]ALTER ROLE [db_datawriter] ADD MEMBER [databaseUser]那么我如何在创建数据库后使用 C# 代码中的 SQL 脚本连接数据库,然后为该数据库创建包含的 SQL 用户,或者 Microsoft.Azure.Management.Sql.SqlManagementClient 中是否有一些等效代码可用做这个?
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

从概念上讲,您应该将 Azure SQL 数据库视为具有(至少)2 个您可以操作的不同层:

  • 有一个 REST API 用于控制操作,例如创建数据库、更改其保留大小、恢复副本等。

  • 有一个用于数据库容器内操作的 T-SQL 接口,从创建表到插入行等。

这两个表面之间可能存在一些重叠 - 在传统的 SQL Server 中,所有这些都在后一个 T-SQL 接口中公开。其中一些命令在 Azure SQL 数据库中启用,它们在内部为你调用 REST API。

请注意,对 REST API 的操作使用与 Azure 门户基础结构关联的凭据。在数据库中,您可以映射到 SQL 登录名/用户,但您也可以拥有与 Azure 身份完全不关联的 SQL 登录名/用户。

Net-net:您应该使用 C# SQLClient 连接到数据库,并使用具有足够权限的经过身份验证的用户(在您的情况下,可能是管理员帐户或 sa)运行这些命令,以设置新用户和角色信息。

查看完整回答
反对 回复 2023-04-29
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信