Comment activer et désactiver Service Broker pour Amazon RDS SQL Server ?

Dernière mise à jour : 03/07/2020

Comment activer et désactiver Service Broker pour Amazon Relational Database Service (Amazon RDS) SQL Server ?

Brève description

Service Broker est pris en charge pour Amazon RDS, mais les points de terminaison Service Broker ne sont pas pris en charge sur Amazon RDS. Pour plus d'informations sur Service Broker, consultez la documentation Microsoft pour Service Broker.

Solution

Lorsque vous activez Service Broker, Amazon RDS demande un verrouillage de base de données. Avant d'activer Service Broker, fermez toutes les connexions ouvertes à la base de données.

1.    Vérifiez si Service Broker est activé :

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

2.    Si Service Broker n'est pas activé, générez un nouveau Service Broker :

ALTER DATABASE [YourDB] SET NEW_BROKER;
GO

3.    Activez Service Broker sur une base de données existante :

ALTER DATABASE [YourDB] SET ENABLE_BROKER;
GO

Si vous exécutez un déploiement multi-AZ, exécutez la commande suivante :

ALTER DATABASE [YourDB] SET PARTNER OFF;
GO

Ensuite, réactivez Service Broker dans un déploiement multi-AZ :

ALTER DATABASE [YourDB] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE

Pour désactiver Service Broker sur une base de données existante, exécutez la commande suivante :

ALTER DATABASE [YourDB] SET DISABLE_BROKER;
GO

Vous ne pouvez pas activer Service Broker sur une base de données qui fait déjà partie d'un groupe de disponibilité. Si vous exécutez la résolution ci-dessus sur une telle base de données, vous recevez une erreur similaire à la suivante :

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.

Activez plutôt Service Broker avant de l'ajouter au groupe de disponibilité. Pour ce faire, convertissez la base de données RDS en base de données AZ unique, puis activez Service Broker.

1. Convertissez votre base de données RDS en Single AZ.

2. Activez Service Broker :

<p>ALTER DATABASE [DBName ] SET NEW_BROKER;<br>GO
</p><p>ALTER DATABASE [DBName ] SET ENABLE_BROKER;<br>GO
</p>
3. Vérifiez que Service Broker est activé :

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

4. Reconvertissez votre base de données RDS en Multi-AZ.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?