【问题标题】:How to add a user to a SQL server role with powershell?如何使用 powershell 将用户添加到 SQL 服务器角色?
【发布时间】:2017-11-26 00:23:27
【问题描述】:

我需要一个关于如何在 Azure SQL 数据库中为用户分配固定服务器角色的工作示例。看来我什至无法访问Roles 收藏:

$DBServerBulkRole = $DBServer.Roles | where {$_.Name -eq 'bulkadmin'};
$DBServerBulkRole.AddMember($DBLoginName);

这会生成

尝试枚举集合时发生以下异常:“版本 12.0.600 SqlAzureDatabase 不支持操作。”

【问题讨论】:

    标签: sql-server powershell azure azure-sql-database smo


    【解决方案1】:

    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

    希望这会有所帮助!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2020-12-17
    • 1970-01-01
    • 2021-07-19
    • 2019-06-05
    • 2017-06-27
    相关资源
    最近更新 更多