Bagikan melalui


sp_add_log_shipping_secondary_primary (T-SQL)

Berlaku untuk: SQL Server

Menyiapkan informasi utama, menambahkan tautan monitor lokal dan jarak jauh, dan membuat pekerjaan penyalinan dan pemulihan di server sekunder untuk database utama yang ditentukan.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @primary_server = ] 'primary_server'

Nama instans utama Mesin Database SQL Server dalam konfigurasi pengiriman log. @primary_server adalah sysname dan tidak boleh NULL.

[ @primary_database = ] 'primary_database'

Nama database di server utama. @primary_database adalah sysname, tanpa default.

[ @backup_source_directory = ] N'backup_source_directory'

Direktori tempat file cadangan log transaksi dari server utama disimpan. @backup_source_directory adalah nvarchar(500) dan tidak boleh NULL.

[ @backup_destination_directory = ] N'backup_destination_directory'

Direktori pada server sekunder tempat file cadangan disalin. @backup_destination_directory adalah nvarchar(500) dan tidak boleh NULL.

[ @copy_job_name = ] 'copy_job_name'

Nama yang digunakan untuk pekerjaan SQL Server Agent dibuat untuk menyalin cadangan log transaksi ke server sekunder. copy_job_name adalah sysname dan tidak boleh NULL.

[ @restore_job_name = ] 'restore_job_name'

Nama pekerjaan SQL Server Agent di server sekunder yang memulihkan cadangan ke database sekunder. restore_job_name adalah sysname dan tidak boleh NULL.

[ @file_retention_period = ] 'file_retention_period'

Lamanya waktu, dalam menit, bahwa file cadangan disimpan di server sekunder di jalur yang ditentukan oleh @backup_destination_directory parameter sebelum dihapus. @history_retention_period int, dengan default NULL. Nilai 14420 digunakan jika tidak ada yang ditentukan.

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

[ @copy_job_id = ] OUTPUT 'copy_job_id'

ID yang terkait dengan pekerjaan penyalinan di server sekunder. @copy_job_id lebih unik dan tidak boleh NULL.

[ @restore_job_id = ] OUTPUT 'restore_job_id'

ID yang terkait dengan pekerjaan pemulihan di server sekunder. @restore_job_id adalah pengidentifikasi unik dan tidak boleh NULL.

[ @secondary_id = ] OUTPUT 'secondary_id'

ID untuk server sekunder dalam konfigurasi pengiriman log. @secondary_id adalah pengidentifikasi unik dan tidak boleh NULL.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Tidak ada.

Keterangan

sp_add_log_shipping_secondary_primary harus dijalankan dari master database di server sekunder. Prosedur tersimpan ini melakukan hal berikut:

  1. Menghasilkan ID sekunder untuk server utama dan database utama yang ditentukan.

  2. Lakukan hal berikut:

    1. Menambahkan entri untuk ID sekunder dalam log_shipping_secondary menggunakan argumen yang disediakan.
    2. Membuat pekerjaan penyalinan untuk ID sekunder yang dinonaktifkan.
    3. Mengatur ID pekerjaan penyalinan log_shipping_secondary dalam entri ke ID pekerjaan pekerjaan penyalinan.
    4. Membuat pekerjaan pemulihan untuk ID sekunder yang dinonaktifkan.
    5. Atur ID pekerjaan pemulihan dalam log_shipping_secondary entri ke ID pekerjaan pekerjaan pemulihan.

Izin

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

Contoh

Contoh ini menggambarkan menggunakan sp_add_log_shipping_secondary_primary prosedur tersimpan untuk menyiapkan informasi untuk database AdventureWorks2022 utama di server sekunder.

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