Bagikan melalui


sp_add_log_shipping_secondary_database (T-SQL)

Berlaku untuk: SQL Server

Menyiapkan database sekunder untuk pengiriman log.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @secondary_database = ] 'secondary_database'

Nama database sekunder. @secondary_database adalah sysname, tanpa default.

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

[ @restore_delay = ] 'restore_delay'

Jumlah waktu, dalam menit, bahwa server sekunder menunggu sebelum memulihkan file cadangan tertentu. @restore_delay int dan tidak boleh NULL. Nilai default adalah 0.

[ @restore_all = ] 'restore_all'

Jika diatur ke 1, server sekunder memulihkan semua cadangan log transaksi yang tersedia saat pekerjaan pemulihan berjalan. Jika tidak, file akan berhenti setelah satu file dipulihkan. @restore_all adalah bit dan tidak bisa NULL.

[ @restore_mode = ] 'restore_mode'

Mode pemulihan untuk database sekunder.

  • 0: Pulihkan log dengan NORECOVERY
  • 1: pulihkan log dengan STANDBY

@restore_mode adalah bit dan tidak bisa NULL.

[ @disconnect_users = ] 'disconnect_users'

Jika diatur ke 1, pengguna terputus dari database sekunder saat operasi pemulihan dilakukan. Default adalah 0. @disconnect_users adalah bit dan tidak bisa NULL.

[ @block_size = ] 'block_size'

Ukurannya, dalam byte, digunakan sebagai ukuran blok untuk perangkat cadangan. @block_size int dengan nilai default -1.

[ @buffer_count = ] 'buffer_count'

Jumlah total buffer yang digunakan oleh operasi pencadangan atau pemulihan. @buffer_count int dengan nilai default -1.

[ @max_transfer_size = ] 'max_transfer_size'

Ukuran, dalam byte, dari permintaan input atau output maksimum yang dikeluarkan oleh SQL Server ke perangkat cadangan. @max_transfersize int dan bisa jadi NULL.

[ @restore_threshold = ] 'restore_threshold'

Jumlah menit yang diizinkan untuk berlalu di antara operasi pemulihan sebelum pemberitahuan dibuat. @restore_threshold int dan tidak bisa NULL.

[ @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 @restore_threshold terlampaui. Nilai 1 (default) berarti bahwa pemberitahuan 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.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Tidak ada.

Keterangan

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

  1. sp_add_log_shipping_secondary_primary harus dipanggil sebelum prosedur tersimpan ini untuk menginisialisasi informasi database pengiriman log utama di server sekunder.

  2. Menambahkan entri untuk database sekunder dalam log_shipping_secondary_databases menggunakan argumen yang disediakan.

  3. Menambahkan rekaman monitor lokal di log_shipping_monitor_secondary server sekunder menggunakan argumen yang disediakan.

  4. Jika server monitor berbeda dari server sekunder, sp_add_log_shipping_secondary_database tambahkan catatan monitor di log_shipping_monitor_secondary server monitor menggunakan argumen yang disediakan.

Izin

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

Contoh

Contoh ini mengilustrasikan menggunakan sp_add_log_shipping_secondary_database prosedur tersimpan untuk menambahkan database LogShipAdventureWorks sebagai database sekunder dalam konfigurasi pengiriman log dengan database AdventureWorks2022 utama yang berada di server TRIBECAutama .

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