2017-06-22 9 views
1

Azure SQLデータベースのユーザーに固定サーバーロールを割り当てる方法に関する実例が必要です。それは私もアクセスRoles収集できないようだ。powershellを使用してSQLサーバーロールにユーザーを追加する方法はありますか。

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

これは、コレクションを列挙しようとしているときに、次の例外が発生した

を生成します:「操作バージョン12.0.600 SqlAzureDatabaseでサポートされていません」

答えて

2

https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addrolemember-transact-sql

これは述べて:「この機能は、将来のバージョンのMicrosoft SQL Serverでは削除される予定の新しい開発作業ではこの機能を使用して避け、現在この機能を使用しているアプリケーションは修正する予定の使用を。代わりにALTER ROLE。 "

基本的には、同じ呼び出しを実行しながらalter roleコマンドを使用するために、関数をpowershellで書き換えることをお勧めします。これにより、問題が解決されます。 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

は、この情報がお役に立てば幸い!

+0

この構文を使用して関数を作成する方法については、invoke-sqlcmdを調べることをお勧めします。https://docs.microsoft.com/en-us/sql/powershell/invoke-sqlcmd-cmdlet – Mitchell

関連する問題