我需要一个关于如何在Azure SQL数据库中为用户分配固定服务器角色的工作示例。我似乎甚至无法访问Roles
集合:
$DBServerBulkRole = $DBServer.Roles | where {$_.Name -eq 'bulkadmin'};
$DBServerBulkRole.AddMember($DBLoginName);
这会生成
尝试枚举集合时发生以下异常:“版本12.0.600 SqlAzureDatabase上不支持操作。”
答案 0 :(得分:2)
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addrolemember-transact-sql
这表明:“此功能将在未来版本的Microsoft SQL Server中删除。请避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。请改用ALTER ROLE。”
我建议你基本上在powershell中重写一个函数来执行相同的调用但是使用alter role命令。这应该可以解决您的问题。 Azure的SQL实现略有不同,并且某些命令不可用。此外,如文档中所示,我认为现在这是一个弃用的过程。
-- Syntax for SQL Server (starting with 2012) and Azure SQL Database
ALTER ROLE role_name
{
ADD MEMBER database_principal
| DROP MEMBER database_principal
| WITH NAME = new_name
}
[;]
自: https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-role-transact-sql
希望这有帮助!