sp_add_log_shipping_secondary_primary (Transact-SQL)

S’applique à :SQL Server

Initialise les informations liées au serveur principal, ajoute des liens de surveillance local et distant, et crée des travaux de copie et de restauration sur le serveur secondaire pour la base de données primaire spécifiée.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_add_log_shipping_secondary_primary
    [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] 'primary_database'
    , [ @backup_source_directory = ] N'backup_source_directory'
    , [ @backup_destination_directory = ] N'backup_destination_directory'
    , [ @copy_job_name = ] 'copy_job_name'
    , [ @restore_job_name = ] 'restore_job_name'
    [ , [ @file_retention_period = ] 'file_retention_period' ]
    [ , [ @monitor_server = ] 'monitor_server' ]
    [ , [ @monitor_server_security_mode = ] 'monitor_server_security_mode' ]
    [ , [ @monitor_server_login = ] 'monitor_server_login' ]
    [ , [ @monitor_server_password = ] 'monitor_server_password' ]
    [ , [ @copy_job_id = ] 'copy_job_id' OUTPUT ]
    [ , [ @restore_job_id = ] 'restore_job_id' OUTPUT ]
    [ , [ @secondary_id = ] 'secondary_id' OUTPUT ]
[ ; ]

Arguments

[ @primary_server = ] 'primary_server'

Nom de l'instance primaire de moteur de base de données SQL Server dans la configuration d'envoi de journaux. @primary_server est sysname et ne peut pas être NULL.

[ @primary_database = ] 'primary_database'

Nom de la base de données sur le serveur principal. @primary_database est sysname, sans valeur par défaut.

[ @backup_source_directory = ] N’backup_source_directory'

Répertoire où les fichiers de sauvegarde des journaux de transactions du serveur principal sont stockés. @backup_source_directory est nvarchar(500) et ne peut pas être NULL.

[ @backup_destination_directory = ] N’backup_destination_directory'

Répertoire sur le serveur secondaire où sont copiés les fichiers de sauvegarde. @backup_destination_directory est nvarchar(500) et ne peut pas être NULL.

[ @copy_job_name = ] 'copy_job_name'

Nom à utiliser pour la tâche SQL Server Agent en cours de création pour copier les sauvegardes du journal des transactions sur le serveur secondaire. copy_job_name est sysname et ne peut pas être NULL.

[ @restore_job_name = ] 'restore_job_name'

Nom du travail SQL Server Agent sur le serveur secondaire qui restaure les sauvegardes dans la base de données secondaire. restore_job_name est sysname et ne peut pas être NULL.

[ @file_retention_period = ] 'file_retention_period'

Durée, en minutes, qu’un fichier de sauvegarde est conservé sur le serveur secondaire dans le chemin d’accès spécifié par le @backup_destination_directory paramètre avant d’être supprimé. @history_retention_period est int, avec la valeur par défaut NULL. La valeur 14 420 est utilisée si aucune autre valeur n'est spécifiée.

[ @monitor_server = ] 'monitor_server'

Nom du serveur moniteur. @monitor_server est sysname, sans valeur par défaut et ne peut pas être NULL.

[ @monitor_server_security_mode = ] 'monitor_server_security_mode'

Mode de sécurité utilisé pour la connexion au serveur moniteur.

  • 1: Authentification Windows
  • 0: Authentification SQL Server

@monitor_server_security_mode est bit, avec une valeur par défaut 1, et ne peut pas être NULL.

[ @monitor_server_login = ] 'monitor_server_login'

Nom d’utilisateur du compte utilisé pour accéder au serveur moniteur.

[ @monitor_server_password = ] 'monitor_server_password'

Mot de passe du compte utilisé pour accéder au serveur moniteur.

[ @copy_job_id = ] SORTIE 'copy_job_id'

ID associé au travail de copie sur le serveur secondaire. @copy_job_id est uniqueidentifier et ne peut pas être NULL.

[ @restore_job_id = ] SORTIE 'restore_job_id'

ID associé au travail de restauration sur le serveur secondaire. @restore_job_id est uniqueidentifier et ne peut pas être NULL.

[ @secondary_id = ] SORTIE 'secondary_id'

ID du serveur secondaire dans la configuration d'envoi de journaux. @secondary_id est uniqueidentifier et ne peut pas être NULL.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Aucune.

Notes

sp_add_log_shipping_secondary_primary doit être exécuté à partir de la master base de données sur le serveur secondaire. Elle effectue les actions suivantes :

  1. Génère un ID secondaire pour le serveur principal et la base de données primaire spécifiés.

  2. Se charge :

    1. Ajoute une entrée pour l’ID secondaire dans l’utilisation log_shipping_secondary des arguments fournis.
    2. de créer un travail de copie pour l'ID secondaire qui est désactivé ;
    3. Définit l’ID du travail de copie dans l’entrée log_shipping_secondary sur l’ID de travail de la tâche de copie.
    4. de créer un travail de restauration pour l'ID secondaire qui est désactivé ;
    5. Définissez l’ID de travail de restauration dans l’entrée log_shipping_secondary sur l’ID de travail du travail de restauration.

Autorisations

Seuls les membres du rôle serveur fixe sysadmin peuvent exécuter cette procédure.

Exemples

Cet exemple illustre l’utilisation de la sp_add_log_shipping_secondary_primary procédure stockée pour configurer des informations pour la base de données AdventureWorks2022 primaire sur le serveur secondaire.

EXEC master.dbo.sp_add_log_shipping_secondary_primary @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @backup_source_directory = N'\\tribeca\LogShipping',
    @backup_destination_directory = N'',
    @copy_job_name = N'',
    @restore_job_name = N'',
    @file_retention_period = 1440,
    @monitor_server = N'ROCKAWAY',
    @monitor_server_security_mode = 1,
    @copy_job_id = @LS_Secondary__CopyJobId OUTPUT,
    @restore_job_id = @LS_Secondary__RestoreJobId OUTPUT,
    @secondary_id = @LS_Secondary__SecondaryId OUTPUT;
GO