Utilisation de l'agent de SQL serveur pour Amazon RDS - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'agent de SQL serveur pour Amazon RDS

Avec AmazonRDS, vous pouvez utiliser l'agent de SQL serveur sur une instance de base de données exécutant Microsoft SQL Server Enterprise Edition, Standard Edition ou Web Edition. SQLL'agent serveur est un service Microsoft Windows qui exécute des tâches administratives planifiées appelées tâches. Vous pouvez utiliser l'agent de SQL serveur pour exécuter des SQL tâches T afin de reconstruire des index, d'exécuter des contrôles de corruption et d'agréger des données dans une instance de base de données de SQL serveur.

Lorsque vous créez une instance de base de données de SQL serveur, l'utilisateur principal est inscrit dans le SQLAgentUserRole rôle.

SQLL'agent de serveur peut exécuter une tâche selon un calendrier, en réponse à un événement spécifique ou à la demande. Pour plus d'informations, consultez la section Agent de SQL serveur dans la documentation Microsoft.

Note

Évitez de planifier l'exécution de travaux pendant les fenêtres de maintenance et de sauvegarde de votre instance de base de données. Les processus de maintenance et de sauvegarde lancés par AWS peuvent interrompre une tâche ou entraîner son annulation.

Dans les déploiements multi-AZ, les tâches de l'agent SQL serveur sont répliquées de l'hôte principal vers l'hôte secondaire lorsque la fonctionnalité de réplication des tâches est activée. Pour de plus amples informations, veuillez consulter Activation de la réplication des tâches de l'agent SQL serveur.

Les déploiements multi-AZ sont limités à 10 000 tâches d'agent SQL serveur. Si vous avez besoin d'une limite plus élevée, demandez une augmentation en contactant Support. Ouvrez la page du Centre AWS Support, connectez-vous si nécessaire, puis choisissez Create case (Créer une demande de support). Sélectionnez Service Limit increase (Augmentation des limites de service). Remplissez et envoyez le formulaire.

Pour afficher l'historique d'une tâche d'agent de SQL serveur individuelle dans SQL Server Management Studio (SSMS), ouvrez l'Explorateur d'objets, cliquez avec le bouton droit sur la tâche, puis choisissez Afficher l'historique.

Étant donné que l'agent de SQL serveur est exécuté sur un hôte géré dans une instance de base de données, certaines actions ne sont pas prises en charge :

  • L'exécution de tâches de réplication et l'exécution de scripts de ligne de commande à l'aide d'ActiveX, de l'interface de commande Windows ou de Windows PowerShell ne sont pas prises en charge.

  • Vous ne pouvez pas démarrer, arrêter ou redémarrer l'agent SQL serveur manuellement.

  • Les notifications par e-mail via l'agent de SQL serveur ne sont pas disponibles depuis une instance de base de données.

  • SQLLes alertes et les opérateurs de l'agent serveur ne sont pas pris en charge.

  • L'utilisation SQL de l'agent serveur pour créer des sauvegardes n'est pas prise en charge. Utilisez Amazon RDS pour sauvegarder votre instance de base de données.

  • RDSPour le moment, for SQL Server ne prend pas en charge l'utilisation de jetons SQL Server Agent.

Activation de la réplication des tâches de l'agent SQL serveur

Vous pouvez activer la réplication des tâches de l'agent SQL serveur à l'aide de la procédure stockée suivante :

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob';

Vous pouvez exécuter la procédure stockée sur toutes les versions de SQL serveur prises en charge par Amazon RDS for SQL Server. Les tâches des catégories suivantes sont répliquées :

  • [Uncategorized (Local)] ([Non classé (local)])

  • [Uncategorized (Multi-Server)] ([Non classé (multi-serveurs)])

  • [Uncategorized] ([Non classé])

  • Data Collector (Collecteur de données)

  • Database Engine Tuning Advisor (Assistant Paramétrage du moteur de base de données)

  • Database Maintenance (Maintenance de base de données)

  • Full-Text (Texte intégral)

Seules les tâches qui utilisent des étapes de SQL tâche en T sont répliquées. Les tâches comportant des types d'étapes tels que SQL Server Integration Services (SSIS), SQL Server Reporting Services (SSRS), Replication et PowerShell non répliquées. Les tâches qui utilisent Database Mail (Messagerie de base de données) et les objets au niveau du serveur ne sont pas répliquées.

Important

L'hôte principal est la source de vérité pour la réplication. Avant d'activer la réplication des tâches, assurez-vous que vos tâches d'agent SQL serveur se trouvent sur le serveur principal. Si vous ne le faites pas, cela pourrait entraîner la suppression de vos tâches d'agent SQL serveur si vous activez la fonctionnalité lorsque les nouvelles tâches sont sur l'hôte secondaire.

Vous pouvez utiliser la fonction suivante pour confirmer si la réplication est activée.

SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();

La SQL requête T renvoie ce qui suit si les tâches de l'agent SQL serveur sont répliquées. Si elles ne se répliquent pas, la requête ne renvoie rien pour object_class.

SQLLes tâches de l'agent serveur se répliquent

Vous pouvez utiliser la fonction suivante pour savoir à quel moment les objets ont été synchronisés pour la dernière UTC fois.

SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();

Supposons, par exemple, que vous modifiez une tâche d'agent de SQL serveur à 01h00. Vous vous attendez à ce que l'heure de synchronisation la plus récente soit postérieure à 01:00, indiquant que la synchronisation a eu lieu.

Après la synchronisation, les valeurs renvoyées pour date_created et date_modified sur le nœud secondaire doivent correspondre.

La dernière fois que les objets du serveur ont été synchronisés était à 01:21:23

Si vous utilisez également la tempdb réplication, vous pouvez activer la réplication à la fois pour les tâches de l'SQLagent et pour la tempdb configuration en les fournissant dans le @object_type paramètre :

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';

Pour plus d'informations sur tempdb la réplication, consultezConfiguration de TempDB pour les déploiements multi-AZ.