sp_add_log_shipping_primary_database (T-SQL)

Berlaku untuk:SQL Server

Menyiapkan database utama untuk konfigurasi pengiriman log, termasuk pekerjaan pencadangan, catatan monitor lokal, dan catatan pemantauan jarak jauh.

Konvensi sintaks transact-SQL

Sintaks

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 ]
[ ; ]

Argumen

[ @database = ] 'database'

Nama database utama pengiriman log. @database adalah sysname, tanpa default, dan tidak boleh NULL.

[ @backup_directory = ] N'backup_directory'

Jalur ke folder cadangan di server utama. @backup_directory adalah nvarchar(500), tanpa default, dan tidak boleh NULL.

[ @backup_share = ] N'backup_share'

Jalur jaringan ke direktori cadangan di server utama. @backup_share adalah nvarchar(500), tanpa default, dan tidak boleh NULL.

[ @backup_job_name = ] 'backup_job_name'

Nama pekerjaan SQL Server Agent di server utama yang menyalin cadangan ke folder cadangan. @backup_job_name adalah sysname dan tidak boleh NULL.

[ @backup_retention_period = ] backup_retention_period

Lamanya waktu, dalam menit, untuk menyimpan file cadangan log di direktori cadangan di server utama. @backup_retention_period int, tanpa default, dan tidak boleh NULL.

[ @monitor_server = ] 'monitor_server'

Nama server monitor. @monitor_server adalah sysname, tanpa default, dan tidak boleh NULL.

[ @monitor_server_security_mode = ] monitor_server_security_mode

Mode keamanan yang digunakan untuk menyambungkan ke server monitor.

  • 1: Autentikasi Windows
  • 0: Autentikasi SQL Server

@monitor_server_security_mode adalah bit, dengan default 1, dan tidak boleh NULL.

[ @monitor_server_login = ] 'monitor_server_login'

Nama pengguna akun yang digunakan untuk mengakses server monitor.

[ @monitor_server_password = ] 'monitor_server_password'

Kata sandi akun yang digunakan untuk mengakses server monitor.

[ @backup_threshold = ] backup_threshold

Lamanya waktu, dalam menit, setelah pencadangan terakhir sebelum kesalahan @threshold_alert dimunculkan. @backup_threshold int, dengan default 60 menit.

[ @threshold_alert = ] threshold_alert

Pemberitahuan yang akan dinaikkan ketika ambang cadangan terlampaui. @threshold_alert int, dengan default 14.420.

[ @threshold_alert_enabled = ] threshold_alert_enabled

Menentukan apakah pemberitahuan dinaikkan saat @backup_threshold terlampaui. Nilai nol (0), default, berarti pemberitahuan dinonaktifkan dan tidak akan dinaikkan. @threshold_alert_enabled sedikit.

[ @history_retention_period = ] history_retention_period

Lamanya waktu dalam menit di mana riwayat dipertahankan. @history_retention_period int, dengan default NULL. Nilai 14420 digunakan jika tidak ada yang ditentukan.

[ @backup_job_id = ] backup_job_id OUTPUT

ID pekerjaan SQL Server Agent yang terkait dengan pekerjaan pencadangan di server utama. @backup_job_id adalah parameter OUTPUT dari jenis pengidentifikasi unik dan tidak boleh NULL.

[ @primary_id = ] primary_id OUTPUT

ID database utama untuk konfigurasi pengiriman log. @primary_id adalah parameter OUTPUT dari jenis pengidentifikasi unik dan tidak boleh NULL.

[ @backup_compression = ] backup_compression_option

Menentukan apakah konfigurasi pengiriman log menggunakan kompresi cadangan.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Tidak ada.

Keterangan

sp_add_log_shipping_primary_database harus dijalankan dari master database di server utama. Prosedur tersimpan ini melakukan fungsi berikut:

  1. Menghasilkan ID utama dan menambahkan entri untuk database utama dalam tabel log_shipping_primary_databases menggunakan argumen yang disediakan.

  2. Membuat pekerjaan pencadangan untuk database utama yang dinonaktifkan.

  3. Mengatur ID pekerjaan pencadangan dalam log_shipping_primary_databases entri ke ID pekerjaan pekerjaan pencadangan.

  4. Menambahkan rekaman monitor lokal dalam tabel log_shipping_monitor_primary di server utama menggunakan argumen yang disediakan.

  5. Jika server monitor berbeda dari server utama, sp_add_log_shipping_primary_database tambahkan catatan monitor di log_shipping_monitor_primary server monitor menggunakan argumen yang disediakan.

Izin

Hanya anggota peran server tetap sysadmin yang dapat menjalankan prosedur ini.

Contoh

Contoh ini menambahkan database AdventureWorks2022 sebagai database utama dalam konfigurasi pengiriman log.

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