Amazon RDS SQL Server のサービスブローカーを有効または無効にする方法を教えてください。

所要時間1分
0

Amazon Relational Database Service (Amazon RDS) SQL Server のサービスブローカーを有効または無効にする方法を教えてください。

簡単な説明

サービスブローカーは Amazon RDS でサポートされていますが、サービスブローカーのエンドポイントは Amazon RDS ではサポートされていません。サービスブローカーの詳細については、Microsoft ドキュメントの Service Broker を参照してください。

解決方法

サービスブローカーを有効にすると、Amazon RDS はデータベースのロックをリクエストします。サービスブローカーを有効にする前に、データベースへの開いている接続をすべて閉じます。

1.    サービスブローカーが有効になっているかどうかを確認します。

select name,is_broker_enabled from sys.databases
  where name= [YourDB]

2.    サービスブローカーが有効になっていない場合は、新しいサービスブローカーを生成します。

ALTER DATABASE [YourDB] SET NEW_BROKER;
GO

3.    既存のデータベースでサービスブローカーを有効にします。

ALTER DATABASE [YourDB] SET ENABLE_BROKER;
GO

マルチ AZ 配置を実行する場合は、次のコマンドを実行します。

ALTER DATABASE [YourDB] SET PARTNER OFF;
GO

次に、マルチ AZ 配置でサービスブローカーを再度有効にします。

ALTER DATABASE [YourDB] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE

既存のデータベースでサービスブローカーを無効にするには、次のコマンドを実行します。

ALTER DATABASE [YourDB] SET DISABLE_BROKER;
GO

既に可用性グループの一部になっているデータベースでサービスブローカーを有効にすることはできません。このようなデータベースで上記の解決方法を実行すると、次のようなエラーが表示されます。

ALTER DATABASE [test] SET PARTNER OFF;<br>GO <br>Msg 1416, Level 16, State 1, Line 1<br>Database "test" is not configured for database mirroring.

代わりに、可用性グループに追加する前にサービスブローカーを有効にします。これを実行するには、RDS データベースをシングル AZ に変換し、サービスブローカーを有効にします。

1.RDS データベースをシングル AZ に変換します。

2.サービスブローカーを有効にする:

<p>ALTER DATABASE [DBName ] SET NEW_BROKER;<br>GO
</p><p>ALTER DATABASE [DBName ] SET ENABLE_BROKER;<br>GO
</p>

3.サービスブローカーが有効になっていることを確認します:

select name,is_broker_enabled from sys.databases<br>
 where name= [DBName ]

4.RDS データベースをマルチ AZ に変換して戻します。


関連情報

Amazon RDS での Microsoft SQL Server

Migrating Microsoft SQL Server databases to the AWS Cloud (Microsoft SQL Server データベースを AWS クラウドに移行する)