Aracılığıyla paylaş


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 kullanılan meta veriler depolayan çoğaltma.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ükleme için dağıtıcıda asıl veritabanı üzerinde yürütülür.

Konu bağlantısı simgesiTransact-sql sözdizimi 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'
    Is the name of the distribution database to be created.database is sysname, with no default.Belirtilen veritabanı zaten varsa ve 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ı dağıtım veritabanı olarak etkinleştirilmişse, bir hata döndürülür.

  • [ @data_folder=] **'**data_folder'
    Is the name of the directory used to store the distribution database data file.data_folder is nvarchar(255), with a default of NULL.If NULL, the data directory for that instance of Microsoft SQL Server is used, for example, C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data.

  • [ @data_file=] 'data_file'
    Is the name of the database file.data_file is nvarchar(255), with a default of database.BOŞ ise, saklı yordam veritabanı adı kullanarak bir dosya adı oluşturur.

  • [ @data_file_size=] data_file_size
    Is the initial data file size in megabytes (MB).data_file_size is int, with a default of 5MB.

  • [ @log_folder=] 'log_folder'
    Is the name of the directory for the database log file.log_folder is nvarchar(255), with a default of NULL.If NULL, the data directory for that instance of SQL Server is used (for example, C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data).

  • [ @log_file=] 'log_file'
    Is the name of the log file.log_file is nvarchar(255), with a default of NULL.BOŞ ise, saklı yordam veritabanı adı kullanarak bir dosya adı oluşturur.

  • [ @log_file_size=] log_file_size
    Is the initial log file size in megabytes (MB).log_file_size is int, with a default of 0 MB, which means the file size is created using the smallest log file size allowed by SQL Server.

  • [ @min_distretention=] min_distretention
    Is the minimum retention period, in hours, before transactions are deleted from the distribution database.min_distretention is int, with a default of 0 hours.

  • [ @max_distretention=] max_distretention
    Is the maximum retention period, in hours, before transactions are deleted.max_distretention is int, with a default of 72 hours.En fazla dağıtım saklama süresi eski olan çoğaltılmış komutları almış olan abonelikler etkin değil olarak işaretlenir ve yeniden gerekir.RAISERROR 21011 etkin olmayan her abonelik için verilir.Değeri, 0 , çoğaltılmış hareketleri anlamına gelir değil depolanmış olan dağıtım veritabanı.

  • [ @history_retention=] history_retention
    Is the number of hours to retain history.history_retention is int, with a default of 48 hours.

  • [ @security_mode=] security_mode
    Is the security mode to use when connecting to the Distributor.security_mode is int, with a default of 1.0 belirtir SQL Server kimlik 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.This is required if security_mode is set to 0.login is sysname, with a default of NULL.

  • [ @password=] 'password'
    Dağıtımcı olarak bağlanırken parola kullanılır.Bu gerekli olur security_mode olarak küme 0. password olan sysname, varsayılan değer null.

  • [ @createmode=] createmode
    createmodeİş int, 1, varsayılan değer aşağıdaki değerleri. olabilir ve

    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 kullan varolan veritabanı ve uygulayın Instdist.SQL dosya çoğaltma nesneleri oluşturmak için dağıtım veritabanı.

    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 at çalışır bir dağıtımcı.

Yürüterek dağıtımcı yapılandırmanız gerekir sp_adddistributor yürütmeden önce sp_adddistributiondb.

Çalıştır sp_adddistributor çalışması için önce 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'AdventureWorks2008R2'; 

-- 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 AdventureWorks2008R2 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ü olabilir yürütmek sp_adddistributiondb.