Partager via


sp_add_log_shipping_primary_database (Transact-SQL)

S'applique à : SQL Server

Initialise la base de données primaire d'une configuration d'envoi de journaux, ce qui inclut le travail de sauvegarde, l'enregistrement de surveillance local, et l'enregistrement de surveillance distant.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_add_log_shipping_primary_database
    [ @database = ] 'database'
    , [ @backup_directory = ] N'backup_directory'
    , [ @backup_share = ] N'backup_share'
    , [ @backup_job_name = ] 'backup_job_name'
    [ , [ @backup_retention_period = ] backup_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' ]
    [ , [ @backup_threshold = ] backup_threshold ]
    [ , [ @threshold_alert = ] threshold_alert ]
    [ , [ @threshold_alert_enabled = ] threshold_alert_enabled ]
    [ , [ @history_retention_period = ] history_retention_period ]
    [ , [ @backup_job_id = ] backup_job_id OUTPUT ]
    [ , [ @primary_id = ] primary_id OUTPUT ]
    [ , [ @backup_compression = ] backup_compression_option ]
[ ; ]

Arguments

[ @database = ] 'database'

Nom de la base de données principale de copie des journaux de transaction. @database est sysname, sans valeur par défaut et ne peut pas être NULL.

[ @backup_directory = ] N’backup_directory'

Chemin d’accès au dossier de sauvegarde sur le serveur principal. @backup_directory est nvarchar(500), sans valeur par défaut et ne peut pas être NULL.

[ @backup_share = ] N’backup_share'

Chemin d’accès réseau au répertoire de sauvegarde sur le serveur principal. @backup_share est nvarchar(500), sans valeur par défaut et ne peut pas être NULL.

[ @backup_job_name = ] 'backup_job_name'

Nom du travail SQL Server Agent sur le serveur principal qui copie la sauvegarde dans le dossier de sauvegarde. @backup_job_name est sysname et ne peut pas être NULL.

[ @backup_retention_period = ] backup_retention_period

Durée, en minutes, de conservation du fichier de sauvegarde du journal dans le répertoire de sauvegarde sur le serveur principal. @backup_retention_period est int, sans valeur par défaut et ne peut pas être NULL.

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

[ @backup_threshold = ] backup_threshold

Durée, en minutes, après la dernière sauvegarde avant qu’une erreur de @threshold_alert soit générée. @backup_threshold est int, avec une valeur par défaut de 60 minutes.

[ @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 @backup_threshold est dépassé. La valeur zéro (0), la valeur par défaut, signifie que l’alerte est désactivée et ne sera pas 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.

[ @backup_job_id = ] sortie de backup_job_id

ID de travail sql Server Agent associé au travail de sauvegarde sur le serveur principal. @backup_job_id est un paramètre OUTPUT de type uniqueidentifier et ne peut pas être NULL.

[ @primary_id = ] sortie de primary_id

ID de la base de données primaire pour la configuration de la copie des journaux de transaction. @primary_id est un paramètre OUTPUT de type uniqueidentifier et ne peut pas être NULL.

[ @backup_compression = ] backup_compression_option

Spécifie si une configuration de copie des journaux de transaction utilise la compression de sauvegarde.

Valeurs des codes de retour

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

Jeu de résultats

Aucune.

Notes

sp_add_log_shipping_primary_database doit être exécuté à partir de la master base de données sur le serveur principal. Cette procédure stockée remplit les fonctions suivantes :

  1. Génère un ID principal et ajoute une entrée pour la base de données primaire dans la table log_shipping_primary_databases à l’aide des arguments fournis.

  2. Elle crée un travail de sauvegarde pour la base de données primaire qui est désactivée.

  3. Définit l’ID du travail de sauvegarde dans l’entrée log_shipping_primary_databases sur l’ID de travail de la tâche de sauvegarde.

  4. Ajoute un enregistrement de moniteur local dans la table log_shipping_monitor_primary sur le serveur principal à l’aide d’arguments fournis.

  5. Si le serveur moniteur est différent du serveur principal, sp_add_log_shipping_primary_database ajoute un enregistrement de moniteur sur le serveur moniteur à log_shipping_monitor_primary l’aide d’arguments fournis.

autorisations

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

Exemples

Cet exemple ajoute la base de données AdventureWorks2022 en tant que base de données primaire dans une configuration d'envoi de journaux.

DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;

EXEC master.dbo.sp_add_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\lsbackup',
    @backup_share = N'\\tribeca\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 1440,
    @monitor_server = N'rockaway',
    @monitor_server_security_mode = 1,
    @backup_threshold = 60,
    @threshold_alert = 0,
    @threshold_alert_enabled = 0,
    @history_retention_period = 1440,
    @backup_job_id = @LS_BackupJobId OUTPUT,
    @primary_id = @LS_PrimaryId OUTPUT,
    @overwrite = 1,
    @backup_compression = 0;
GO