Aracılığıyla paylaş


sp_add_log_shipping_primary_database (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Yedekleme işi, yerel izleyici kaydı ve uzak izleyici kaydı dahil olmak üzere günlük gönderim yapılandırması için birincil veritabanını ayarlar.

Transact-SQL söz dizimi kuralları

Sözdizimi

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 ]
    [ , [ @primary_connection_options = ] '<key_value_pairs>;[...]' ]
    [ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]

Tartışmalar

[ @database = ] 'veritabanı'

Günlük gönderimi birincil veritabanının adı. @databasesysname'dir ve varsayılan değer yoktur ve olamaz NULL.

[ @backup_directory = ] N'backup_directory'

Birincil sunucudaki yedekleme klasörünün yolu. @backup_directorynvarchar(500)'dir ve varsayılan değer yoktur ve olamaz NULL.

[ @backup_share = ] N'backup_share'

Birincil sunucudaki yedekleme dizininin ağ yolu. @backup_sharenvarchar(500)'dir ve varsayılan değer yoktur ve olamaz NULL.

[ @backup_job_name = ] 'backup_job_name'

Yedeklemeyi yedekleme klasörüne kopyalayan birincil sunucudaki SQL Server Aracısı işinin adı. @backup_job_namesysname'dir ve olamaz NULL.

[ @backup_retention_period = ] backup_retention_period

Günlük yedekleme dosyasını birincil sunucudaki yedekleme dizininde tutma süresi (dakika cinsinden). @backup_retention_period varsayılan olmadan int'tir ve olamaz NULL.

[ @monitor_server = ] 'monitor_server'

İzleyici sunucusunun adı. @monitor_serversysname'dir ve varsayılan değer yoktur ve olamaz NULL.

[ @monitor_server_security_mode = ] monitor_server_security_mode

monitör sunucusuna bağlanmak için kullanılan güvenlik modu.

  • 1: Windows Kimlik Doğrulaması
  • 0: SQL Server Kimlik Doğrulaması

@monitor_server_security_modebittir ve varsayılan değeri 1ile olamaz NULL.

[ @monitor_server_login = ] 'monitor_server_login'

İzleyici sunucusuna erişmek için kullanılan hesabın kullanıcı adı.

[ @monitor_server_password = ] 'monitor_server_password'

İzleyici sunucusuna erişmek için kullanılan hesabın parolası.

[ @backup_threshold = ] backup_threshold

bir @threshold_alert hatası oluşmadan önceki son yedeklemeden sonraki dakika cinsinden süre. @backup_threshold , varsayılan değeri 60 dakika olan int'tir.

[ @threshold_alert = ] threshold_alert

Yedekleme eşiği aşıldığında tetiklenecek uyarı. @threshold_alert , varsayılan değeri 14.420 olan int'tir.

[ @threshold_alert_enabled = ] threshold_alert_enabled

@backup_threshold aşıldığında bir uyarının tetiklenip tetiklenmeyeceğini belirtir. Varsayılan değer olan sıfır (0) değeri, uyarının devre dışı bırakıldığı ve yükseltilmeyeceği anlamına gelir. @threshold_alert_enabledbittir.

[ @history_retention_period = ] history_retention_period

Geçmişin tutıldığı dakika cinsinden süre. @history_retention_period, varsayılan değeri olan int'tirNULL. Belirtilmezse 14420 değeri kullanılır.

[ @backup_job_id = ] backup_job_id ÇıKıŞ

Birincil sunucudaki yedekleme işiyle ilişkili SQL Server Aracısı iş kimliği. @backup_job_iduniqueidentifier türünde bir OUTPUT parametresidir ve olamaz NULL.

[ @primary_id = ] primary_id ÇıKıŞ

Günlük gönderim yapılandırması için birincil veritabanının kimliği. @primary_iduniqueidentifier türünde bir OUTPUT parametresidir ve olamaz NULL.

[ @backup_compression = ] backup_compression_option

Günlük gönderim yapılandırmasının yedekleme sıkıştırması kullanıp kullanmadığını belirtir.

  • 0:Sakat. Günlük yedeklemelerini asla sıkıştırmayın.
  • 1:Etkin. Günlük yedeklemelerini her zaman sıkıştırır.
  • 2 (varsayılan): Yedekleme sıkıştırma varsayılan sunucu yapılandırma seçeneğini kullanın.

[ @primary_connection_options = ] '<key_value_pairs>;[ ...]'

Geçerlidir: SQL Server 2025 (17.x) ve sonraki sürümler

Birincile bağlanırken anahtar değer çiftleri biçiminde ek bağlantı seçeneklerini belirtir. @primary_connection_optionsnvarchar(4000) ve varsayılan değeridir NULL.

Aşağıdaki tabloda kullanılabilir bağlantı seçenekleri listelenmiştir:

Key Değer
Encrypt strict, mandatory, optional, true, , false
TrustServerCertificate true, false, yes, no
ServerCertificate Dosya sistemindeki sunucu sertifikası yolu. Bu, en fazla 260 karakter uzunluğundadır.
HostNameInCertificate Sertifika için ana bilgisayar adı geçersiz kılma. Bu, en fazla 255 karakter uzunluğundadır.

[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'

Geçerlidir: SQL Server 2025 (17.x) ve sonraki sürümler

Uzak bir monitör kullanırken bağlantılı sunucu bağlantısı için anahtar değer çiftleri biçiminde ek bağlantı seçeneklerini belirtir. @monitor_connection_optionsnvarchar(4000) ve varsayılan değeridir NULL.

Aşağıdaki tabloda kullanılabilir bağlantı seçenekleri listelenmiştir:

Key Değer
Encrypt strict, mandatory, optional, true, , false
TrustServerCertificate true, false, yes, no
ServerCertificate Dosya sistemindeki sunucu sertifikası yolu. Bu, en fazla 260 karakter uzunluğundadır.
HostNameInCertificate Sertifika için ana bilgisayar adı geçersiz kılma. Bu, en fazla 255 karakter uzunluğundadır.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Sonuç kümesi

Yok.

Açıklamalar

sp_add_log_shipping_primary_database birincil sunucudaki master veritabanından çalıştırılmalıdır. Bu saklı yordam aşağıdaki işlevleri gerçekleştirir:

  1. Birincil kimlik oluşturur ve sağlanan bağımsız değişkenleri kullanarak tablodaki log_shipping_primary_databases birincil veritabanı için bir girdi ekler.

  2. Devre dışı bırakılan birincil veritabanı için bir yedekleme işi oluşturur.

  3. Girdideki log_shipping_primary_databases yedekleme işi kimliğini yedekleme işinin iş kimliğine ayarlar.

  4. Sağlanan bağımsız değişkenleri kullanarak birincil sunucudaki tabloya log_shipping_monitor_primary yerel bir izleyici kaydı ekler.

  5. İzleyici sunucusu birincil sunucudan farklıysa, sp_add_log_shipping_primary_database sağlanan bağımsız değişkenleri kullanarak izleyici sunucusuna bir izleyici kaydı log_shipping_monitor_primary ekler.

İzinler

Bu yordamı yalnızca sysadmin sabit sunucu rolünün üyeleri çalıştırabilir.

Örnekler

A. Log gönderim yapılandırmasında birincil veritabanı ekleyin

Bu örnek, veritabanını AdventureWorks2025 günlük gönderim yapılandırmasında birincil veritabanı olarak ekler.

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

EXECUTE master.dbo.sp_add_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\lsbackup',
    @backup_share = N'\\backupshare\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 1440,
    @monitor_server = N'monitor-server',
    @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

B. Sıkı şifrelemeyle birincil veritabanı ekleyin

Bu örnek, veritabanını AdventureWorks2025 günlük gönderim yapılandırmasında birincil veritabanı olarak ekler ve günlük gönderimi için hem günlük gönderim yürütülebilir dosyasından birincil örneğe hem de birincil örnekten uzak izleyici örneğine monitor-serverbağlantı için katı şifreleme seçeneklerini kullanma talimatını gönderir.

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

EXECUTE master.dbo.sp_add_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\lsbackup',
    @backup_share = N'\\backupshare\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 1440,
    @monitor_server = N'monitor-server',
    @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,
    @primary_connection_options = N'Encrypt=Strict;',
    @monitor_connection_options = N'Encrypt=Strict;';
GO

C. Bağlantı seçenekleriyle uzaktan monitör kullanın

Günlük gönderim topolojisindeki diğer SQL Server örnekleri önceki bir sürümü kullandığında, izleyici uzak bir SQL Server 2025 (17.x) örneğiyse günlük gönderimi izleme bozulabilir.

Mevcut yapılandırmayı kaldırdıktan sonra, hem birincil hem de ikincil replikalar için doğru @monitor_connection_options ile günlük gönderim yapılandırmasını yeniden oluşturmak için aşağıdaki örnek betikleri kullanın.

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

EXECUTE
    master.dbo.sp_add_log_shipping_primary_database
    @database = N'LogShippedDB',
    @backup_directory = N'\\backupshare\lsbackup',
    @backup_share = N'\\backupshare\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 4320,
    @backup_compression = 2,
    @monitor_server = N'LS25Monitor',
    @monitor_server_security_mode = 1,
    @backup_threshold = 60,
    @threshold_alert_enabled = 1,
    @history_retention_period = 5760,
    @backup_job_id = @LS_BackupJobId OUTPUT,
    @primary_id = @LS_PrimaryId OUTPUT,
    @overwrite = 1,
    @monitor_connection_options = N'Encrypt=Mandatory;TrustServerCertificate=Yes;';

Daha fazla bilgi için bkz . Şifreleme ve sertifika doğrulama davranışı.