Amazon RDS SQL Server の Service Broker を有効または無効にする方法を教えてください。

所要時間2分
0

Amazon Relational Database Service (Amazon RDS) SQL Server の Service Broker を有効にしたり無効にしたりする必要があります。

簡単な説明

Service Broker は Amazon RDS でサポートされていますが、Service Broker エンドポイントは Amazon RDS ではサポートされていません。Service Broker の詳細については、Microsoft ウェブサイトの「Service Broker」を参照してください。

解決策

Service Broker を有効にする

Service Broker を有効にすると、Amazon RDS はデータベースロックをリクエストします。

注: Service Broker を有効にする前に、データベースへの開いている接続をすべて閉じてください。

次の手順を実行します。

  1. Service Broker が有効になっているかどうかを確認します。

    select name,is_broker_enabled from sys.databases
            where name= [YourDB]
  2. Service Broker が有効になっていない場合は、新しい Service Broker を生成します。

    ALTER DATABASE [YourDB] SET NEW_BROKER;
    GO
  3. 既存のデータベースで Service Broker を有効にします。

    ALTER DATABASE [YourDB] SET ENABLE_BROKER;
    GO

マルチ AZ 配置の場合

次の手順を実行します。

  1. 以下のコマンドを実行します。

    ALTER DATABASE [YourDB] SET PARTNER OFF;
    GO
  2. Service Broker を再び有効にします。

    ALTER DATABASE [YourDB] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE

Service Broker を無効にする

既存のデータベースで Service Broker を無効にするには、次のコマンドを実行します。

ALTER DATABASE [YourDB] SET DISABLE_BROKER;
GO

既に可用性グループの一部であるデータベースの Service Broker を有効にする

既に可用性グループの一部であるデータベースの Service Broker を有効にすることはできません。その場合、次のようなエラーが表示されます。

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

代わりに、RDS データベースをシングル AZ に変換してから Service Broker を有効にします。

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

  2. Service Broker を有効にします。

    ALTER DATABASE [DBName ] SET NEW_BROKER;
    GO
    ALTER DATABASE [DBName ] SET ENABLE_BROKER;
    GO
  3. Service Broker が有効になっていることを確認します。

    select name,is_broker_enabled from sys.databases
      where name= [DBName ]
  4. RDS データベースをマルチ AZ に再変換します

関連情報

Amazon RDS for Microsoft SQL Server

Migrating Microsoft SQL Server databases to the AWS Cloud

コメントはありません