Partager via


sp_add_log_shipping_secondary_database (Transact-SQL)

S'applique à : SQL Server

Initialise une base de données secondaire pour l'envoi de journaux.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_add_log_shipping_secondary_database
    [ @secondary_database = ] 'secondary_database'
    , [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] 'primary_database'
    [ , [ @restore_delay = ] 'restore_delay' ]
    [ , [ @restore_all = ] 'restore_all' ]
    [ , [ @restore_mode = ] 'restore_mode' ]
    [ , [ @disconnect_users = ] 'disconnect_users' ]
    [ , [ @block_size = ] 'block_size' ]
    [ , [ @buffer_count = ] 'buffer_count' ]
    [ , [ @max_transfer_size = ] 'max_transfer_size' ]
    [ , [ @restore_threshold = ] 'restore_threshold' ]
    [ , [ @threshold_alert = ] 'threshold_alert' ]
    [ , [ @threshold_alert_enabled = ] 'threshold_alert_enabled' ]
    [ , [ @history_retention_period = ] 'history_retention_period' ]
[ ; ]

Arguments

[ @secondary_database = ] 'secondary_database'

Nom de la base de données secondaire. @secondary_database est sysname, sans valeur par défaut.

[ @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.

[ @restore_delay = ] 'restore_delay'

Durée, en minutes, de l'attente du serveur secondaire avant de restaurer un fichier de sauvegarde donné. @restore_delay est int et ne peut pas être NULL. La valeur par défaut est 0.

[ @restore_all = ] 'restore_all'

Si la valeur est définie à 1, le serveur secondaire restaure toutes les sauvegardes du journal des transactions disponibles au moment de la restauration. Dans le cas contraire, le serveur s'arrête une fois qu'un fichier est restauré. @restore_all est bit et ne peut pas être NULL.

[ @restore_mode = ] 'restore_mode'

Mode de restauration pour la base de données secondaire.

  • 0: Restaurer le journal avec NORECOVERY
  • 1: restaurer le journal avec STANDBY

@restore_mode est bit et ne peut pas être NULL.

[ @disconnect_users = ] 'disconnect_users'

Si la valeur est définie 1, les utilisateurs sont déconnectés de la base de données secondaire lorsqu’une opération de restauration est effectuée. Par défaut, il s’agit de 0. @disconnect_users est bit et ne peut pas être NULL.

[ @block_size = ] 'block_size'

Taille, en octets, utilisée comme taille de bloc pour l’appareil de sauvegarde. @block_size est int avec une valeur par défaut de -1.

[ @buffer_count = ] 'buffer_count'

Nombre total de mémoires tampons utilisées par l'opération de sauvegarde ou de restauration. @buffer_count est int avec une valeur par défaut de -1.

[ @max_transfer_size = ] 'max_transfer_size'

Taille, en octets, de la demande maximale d’entrée ou de sortie émise par SQL Server sur l’appareil de sauvegarde. @max_transfersize est int et peut être NULL.

[ @restore_threshold = ] 'restore_threshold'

Nombre de minutes pouvant s'écouler entre les opérations de restauration avant qu'une alerte ne soit générée. @restore_threshold est int et ne peut pas être NULL.

[ @threshold_alert = ] 'threshold_alert'

Alerte à déclencher lorsque le seuil de sauvegarde est dépassé. @threshold_alert est int, avec une valeur par défaut de 14 420.

[ @threshold_alert_enabled = ] 'threshold_alert_enabled'

Spécifie si une alerte est déclenchée lorsque @restore_threshold est dépassé. La valeur 1 (par défaut) signifie que l’alerte est déclenchée. @threshold_alert_enabled est bit.

[ @history_retention_period = ] '@history_retention_period'

Durée en minutes pendant laquelle l’historique est conservé. @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.

Valeurs des codes de retour

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

Jeu de résultats

Aucune.

Notes

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

  1. sp_add_log_shipping_secondary_primary doit être appelé avant cette procédure stockée pour initialiser les informations de base de données de copie des journaux de transaction primaires sur le serveur secondaire.

  2. Ajoute une entrée pour la base de données secondaire à log_shipping_secondary_databases l’aide des arguments fournis.

  3. Ajoute un enregistrement de moniteur local sur le serveur secondaire à log_shipping_monitor_secondary l’aide d’arguments fournis.

  4. Si le serveur moniteur est différent du serveur secondaire, sp_add_log_shipping_secondary_database ajoute un enregistrement log_shipping_monitor_secondary de moniteur sur le serveur moniteur à l’aide d’arguments fournis.

autorisations

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

Exemples

Cet exemple illustre l’utilisation de la procédure stockée pour ajouter la sp_add_log_shipping_secondary_database base de données en tant que base de données LogShipAdventureWorks secondaire dans une configuration de copie des journaux de transaction avec la base de données AdventureWorks2022 primaire résidant sur le serveur TRIBECAprincipal.

EXEC master.dbo.sp_add_log_shipping_secondary_database
    @secondary_database = N'LogShipAdventureWorks',
    @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @restore_delay = 0,
    @restore_mode = 1,
    @disconnect_users = 0,
    @restore_threshold = 45,
    @threshold_alert_enabled = 0,
    @history_retention_period = 1440;
GO