sp_add_log_shipping_secondary_primary (Transact-SQL)

Définit les informations de la base de données primaire, établit des liaisons avec les serveurs moniteurs locaux et distants, crée des travaux de copie et de restauration sur le serveur secondaire pour la base de données primaire spécifiée.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_add_log_shipping_secondary_primary
 [ @primary_server = ] 'primary_server', 
[ @primary_database = ] 'primary_database',
[ @backup_source_directory = ] 'backup_source_directory' , 
[ @backup_destination_directory = ] '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 principale du moteur de base de données SQL Server de Microsoft dans la configuration de la copie des journaux de transaction. L'argument primary_server est de type sysname et sa valeur ne peut pas être NULL.

  • [ @primary_database = ] 'primary_database'
    Nom de la base de données sur le serveur principal. L'argument primary_database est de type sysname et n'a pas de valeur par défaut.

  • [ @backup_source_directory = ] 'backup_source_directory'
    Le répertoire où sont stockés les fichiers de sauvegarde du journal des transactions du serveur principal. backup_source_directory est de type nvarchar(500) et ne peut pas être NULL.

  • [ @backup_destination_directory = ] 'backup_destination_directory'
    Le répertoire situé sur le serveur secondaire où sont copiés les fichiers de sauvegarde. backup_destination_directory est de type nvarchar(500) et ne peut pas être NULL.

  • [ @copy_job_name = ] 'copy_job_name'
    Nom à utiliser pour le travail de l'Agent SQL Server créé pour copier les sauvegardes du journal de transactions vers le serveur secondaire. copy_job_name est de type sysname et ne peut pas être NULL.

  • [ @restore_job_name = ] 'restore_job_name'
    Nom du travail de l'Agent SQL Server du serveur secondaire chargé de restaurer les sauvegardes dans la base de données secondaire. restore_job_name est de type sysname et ne peut pas être NULL.

  • [ @file_retention_period = ] 'file_retention_period'
    Durée en minutes pendant laquelle l'historique doit être conservé. history_retention_period est de type int, avec NULL comme valeur par défaut. Une valeur de 14420 sera utilisée en l'absence de toute autre spécification.

  • [ @monitor_server = ] 'monitor_server'
    Nom du serveur moniteur. L'argument Monitor_server est de type sysname et ne peut pas prendre la valeur NULL.

  • [ @monitor_server_security_mode = ] 'monitor_server_security_mode'
    Mode de sécurité utilisé pour connecter le serveur moniteur.

    1 = Authentification Windows.

    0 = Authentication SQL Server.

    L'argument monitor_server_security_mode est de type bit et ne peut pas être NULL.

  • [ @monitor_server_login = ] 'monitor_server_login'
    Nom d'utilisateur du compte qui permet d'accéder au serveur moniteur.

  • [ @monitor_server_password = ] 'monitor_server_password'
    Mot de passe du compte qui permet d'accéder au serveur moniteur.

  • [ @copy_job_id = ] 'copy_job_id' OUTPUT
    Identificateur associé au travail de copie sur le serveur secondaire. copy_job_id est de type uniqueidentifier et ne peut pas être NULL.

  • [ @restore_job_id = ] 'restore_job_id' OUTPUT
    Identificateur associé au travail de restauration sur le serveur secondaire. restore_job_id est de type uniqueidentifier et ne peut pas être NULL.

  • [ @secondary_id = ] 'secondary_id' OUTPUT
    Identificateur du serveur secondaire dans la configuration de la copie des journaux de transactions. secondary_id est de type uniqueidentifier et ne peut pas être NULL.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Jeux de résultats

Aucun

Notes

La procédure sp_add_log_shipping_secondary_primary doit être exécutée à partir de la base de données master sur le serveur secondaire. Cette procédure stockée effectue les opérations 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. d'ajouter une entrée pour l'ID secondaire dans log_shipping_secondary en fonction des arguments fournis ;

    2. de créer un travail de copie pour l'ID secondaire qui est désactivé ;

    3. de définir l'ID du travail de copie dans l'entrée log_shipping_secondary conformément à l'identificateur du travail de copie.

    4. de créer un travail de restauration pour l'ID secondaire qui est désactivé ;

    5. de définir l'ID du travail de restauration dans l'entrée log_shipping_secondary conformément à l'identificateur du travail de restauration.

Autorisations

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

Exemple

Cet exemple montre comment utiliser la procédure stockée sp_add_log_shipping_secondary_primary pour définir les informations de la base de données primaire AdventureWorks sur le serveur secondaire.

EXEC master.dbo.sp_add_log_shipping_secondary_primary 
@primary_server = N'TRIBECA' 
,@primary_database = N'AdventureWorks' 
,@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