sp_adddistributiondb (Transact-sql)

Yeni bir dağıtım veritabanı oluşturur ve dağıtıcı şema yükler. Dağıtım veritabanı yordamları, şema ve çoğaltmada kullanılan meta verileri depolar. Bu saklı yordam dağıtım veritabanı oluşturup gerekli tablolar ve saklı yordamlar çoğaltma dağıtım etkinleştirmek için gereken yüklemek için veritabanı üzerinde dağıtımcı ana yürütülür.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sp_adddistributiondb [ @database= ] 'database' 
    [ , [ @data_folder= ] 'data_folder' ] 
    [ , [ @data_file= ] 'data_file' ] 
    [ , [ @data_file_size= ] data_file_size ] 
    [ , [ @log_folder= ] 'log_folder' ] 
    [ , [ @log_file= ] 'log_file' ] 
    [ , [ @log_file_size= ] log_file_size ] 
    [ , [ @min_distretention= ] min_distretention ] 
    [ , [ @max_distretention= ] max_distretention ] 
    [ , [ @history_retention= ] history_retention ] 
    [ , [ @security_mode= ] security_mode ] 
    [ , [ @login= ] 'login' ] 
    [ , [ @password= ] 'password' ] 
    [ , [ @createmode= ] createmode ]
    [ , [ @from_scripting = ] from_scripting ]

Bağımsız değişkenler

  • **@database=**database'
    Oluşturulacak dağıtım veritabanının adıdır. databaseise sysname, hiçbir varsayılan ile. Belirtilen veritabanı zaten varsa ve zaten dağıtım veritabanı olarak işaretlenmemiş, dağıtım etkinleştirmek için gereken nesneleri daha sonra yüklenir ve veritabanı dağıtım veritabanı olarak işaretlenir. Belirtilen veritabanı zaten dağıtım veritabanı olarak etkin ise, bir hata döndürülür.

  • **@ data_folder ='**data_folder'
    Dağıtım veritabanı veri dosyasında saklamak için kullanılan dizin adıdır. data_folderise nvarchar(255), null varsayılan. BOŞ ise, bu örneği için veri dizini Microsoft  SQL Serverkullanılır, örneğin, C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data.

  • @data_file='data_file'
    Veritabanı dosyasının adıdır. data_fileise nvarchar(255), varsayılan veritabanı. BOŞ ise, saklı yordam veritabanı adı kullanarak bir dosya adı oluşturur.

  • **@ data_file_size =**data_file_size
    İlk veri dosyası boyutunu megabayt (mb) olduğunu. data_file_size is int, varsayılan 5 MB.

  • @ log_folder ='log_folder'
    Dizin veritabanı günlük dosyasının adıdır. log_folderise nvarchar(255), null varsayılan. BOŞ ise, bu örneği için veri dizini SQL Serverkullanılır (örneğin, C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data).

  • @log_file='log_file'
    Günlük dosyasının adıdır. log_fileise nvarchar(255), null varsayılan. BOŞ ise, saklı yordam veritabanı adı kullanarak bir dosya adı oluşturur.

  • **@ log_file_size =**log_file_size
    İlk günlük dosyası boyutunu megabayt cinsinden (mb) olduğunu. log_file_size ise int, bir varsayılan 0 MB dosya boyutu izin verilen en küçük günlük dosyası boyutu kullanılarak oluşturulan yani SQL Server.

  • **@ min_distretention =**min_distretention
    Minimum saklama dönemi, Saat hareketleri dağıtım veritabanından silinmeden önce olduğunu. min_distretentionise int, varsayılan 0 Saat.

  • **@ max_distretention =**max_distretention
    En fazla saklama dönemi, Saat hareketleri silinmeden önce olduğunu. max_distretentionise int, varsayılan 72 Saat. En fazla dağıtım saklama dönemi eski olan çoğaltılmış komutları almadık abonelikler etkin değil olarak işaretlenir ve yeniden gerekir. RAISERROR 21011 etkin olmayan her abonelik için verilir. Değeri 0 hareketler çoğaltılır anlamına değil dağıtım veritabanında depolanır.

  • **@ history_retention =**history_retention
    Geçmişi korumak için saat sayısıdır. history_retentionise int, varsayılan 48 Saat.

  • **@ security_mode =**security_mode
    Dağıtımcı olarak bağlanırken kullanılacak güvenlik modudur. security_modeise int, 1 varsayılan. 0 belirtir SQL Serverkimlik doğrulama; 1 Windows tümleşik kimlik doğrulamasını belirtir.

  • @login='login'
    Oturum açma adı, Dağıtımcı olarak bağlanırken, dağıtım veritabanı oluşturmak için kullanılır. Bu gereklidir security_modeayarı 0. loginise sysname, null varsayılan.

  • @password='password'
    Dağıtımcı olarak bağlanırken parola kullanılır. Bu gereklidir security_modeayarı 0. password 's sysname, null varsayılan.

  • **@ createmodeint =**createmode
    createmodeise int, 1, varsayılan ve aşağıdaki değerlerden biri olabilir.

    Değer

    Açıklama

    0

    Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.

    1 (varsayılan)

    Veritabanı oluşturma veya kullanma Varolan veritabanı ve sonra Instdist.SQL distribution veritabanını yineleme nesneleri oluşturmak için dosya.

    2

    Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.

  • **@ from_scripting =**from_scripting
    Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez. 

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

sp_adddistributiondb çoğaltma tüm türleri kullanılır. Ancak, bu saklı yordam yalnızca bir dağıtımcı çalıştırır.

Sen-meli configure dağıtımcı yürüterek sp_adddistributor yürütmeden önce sp_adddistributiondb.

Koşmak sp_adddistributor running kala sp_adddistributiondb.

Örnek

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

-- Install the Distributor and the distribution database.
DECLARE @distributor AS sysname;
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @directory AS nvarchar(500);
DECLARE @publicationDB AS sysname;
-- Specify the Distributor name.
SET @distributor = $(DistPubServer);
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);
-- Specify the replication working directory.
SET @directory = N'\\' + $(DistPubServer) + '\repldata';
-- Specify the publication database.
SET @publicationDB = N'AdventureWorks2012'; 

-- Install the server MYDISTPUB as a Distributor using the defaults,
-- including autogenerating the distributor password.
USE master
EXEC sp_adddistributor @distributor = @distributor;

-- Create a new distribution database using the defaults, including
-- using Windows Authentication.
USE master
EXEC sp_adddistributiondb @database = @distributionDB, 
    @security_mode = 1;
GO

-- Create a Publisher and enable AdventureWorks2012 for replication.
-- Add MYDISTPUB as a publisher with MYDISTPUB as a local distributor
-- and use Windows Authentication.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);

USE [distribution]
EXEC sp_adddistpublisher @publisher=@publisher, 
    @distribution_db=@distributionDB, 
    @security_mode = 1;
GO 

İzinler

Yalnızca üyeleri sysadmin sabit sunucu rolü yürütebilirsiniz sp_adddistributiondb.

Ayrıca bkz.

Başvuru

sp_changedistributiondb (Transact-sql)

sp_dropdistributiondb (Transact-sql)

sp_helpdistributiondb (Transact-sql)

Sistem saklı yordamları (Transact-sql)

Kavramlar

Yayımlama ve dağıtım yapılandırma

Dağıtım yapılandırma