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

Yayımlama ve dağıtım nasıl yapılandırılacağı açıklanmıştır SQL Server 2012kullanarak SQL Server Management Studio, Transact-SQL, ya da Çoğaltma Yönetimi Nesneleri'ni (rmo).

Bu Konuda

  • Başlamadan Önce

    Güvenlik

  • Yayımlama ve dağıtım yapılandırmak için kullanma:

    SQL Server Management Studio

    Transact-SQL

    Çoğaltma Yönetimi Nesneleri'ni (rmo)

Başlamadan Önce

Güvenlik

Daha fazla bilgi için, bkz. Güvenli dağıtım (çoğaltma).

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Yeni yayın sihirbazını veya dağıtım Yapılandırma Sihirbazı'nı kullanarak dağıtım yapılandırın. Dağıtımcı yapılandırıldıktan sonra görüntülemek ve özellikleri değiştirmek Dağıtımcı özellikleri - <Dağıtıcı > iletişim kutusu. Öylesine bir dağıtımcı yapılandırmak istediğiniz dağıtım Yapılandırma Sihirbazı'nı kullanın, üyelerinin db_owner sabit veritabanı rolleri yayınları oluşturabilir ya da uzak bir dağıtımcı yapılandırmak istediğiniz çünkü bu bir yayımcı değil.

Dağıtım yapılandırmak için

  1. De Microsoft   SQL Server Management Studio, dağıtımcı olacak sunucusuna (çoğu durumda, Publisher ve dağıtımcı aynı sunucudur) ve sonra sunucu düğümünü genişletin.

  2. Sağ çoğaltma klasörünü ve sonra Dağıtım Yapılandır.

  3. İzleyin yapılandırma Dağıtım Sihirbazı için:

    • Bir dağıtımcı seçin. Yerel bir dağıtımcı kullanmak için seçin '<SunucuAdı>' kendi dağıtıcı olarak hareket edecek; SQL Server will create a dağıtım veritabanı ve günlük. Uzak bir dağıtımcı kullanmak için seçin Aşağıdaki sunucu dağıtımcı olarak kullanmakve bir sunucu seçin. Sunucu zaten bir dağıtımcı yapılandırılmış olmalıdır ve yayımcı dağıtımcı kullanmak için etkinleştirilmiş olması gerekir. Daha fazla bilgi için, bkz. Bir uzak Yayımcı tarafında bir dağıtıcı (SQL Server Management Studio'yu) etkinleştir.

      Uzak bir dağıtımcı seçerseniz, size bir şifre girmeniz gerekir Yönetici parolasını yayımcı dağıtımcı olarak yapılan bağlantılar için sayfa. Bu parola, uzak Dağıtıcı yayımcı etkinleştirildiğinde belirtilen parolayla eşleşmesi gerekir.

    • Bir kök anlık görüntü klasörü (bir Yerel dağıtımcı) belirtin. Anlık görüntü klasörü sadece bir paylaşım belirlediğiniz bir dizin olduğunu; okuma ve yazma için bu klasörün aracıları erişmek için yeterli izinleriniz olmalıdır. Bu dağıtımcı kullanan her yayımcı kök klasörü altında bulunan bir klasör oluşturur ve her yayını anlık görüntü dosyaları depolamak Publisher klasörü altındaki klasörler oluşturur. Uygun klasör güvenliğini sağlama hakkında daha fazla bilgi için bkz: Anlık görüntü klasörü güvenli.

    • Dağıtım veritabanı (bir Yerel dağıtımcı) belirtin. Dağıtım veritabanı çoğaltma tüm türleri için tarihi ve meta verileri işlem çoğaltma işlemleri depolar.

    • İsteğe bağlı olarak dağıtımcı kullanmak diğer yayımcıları etkinleştirin. Dağıtımcı kullanmak için diğer yayımcıları etkinleştirilirse, size bir şifre girmeniz gerekir Dağıtımcı parola bu yayımcılardan Dağıtımcı olarak yapılan bağlantılar için sayfa.

    • İsteğe bağlı olarak komut dosyası yapılandırma ayarları. Daha fazla bilgi için, bkz. Komut dosyası çoğaltma.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Çoğaltma yayımlama ve dağıtım programlı olarak çoğaltma depolanmış yordamları kullanarak yapılandırılabilir.

Yayımlama yerel dağıtıcısı kullanarak yapılandırmak için

  1. İdam eşdeğerdirsp_get_distributor (Transact-sql)sunucu zaten bir dağıtımcı yapılandırılıp yapılandırılmadığını belirlemek için.

    • Eğer değeri Kurulu sonuç kümesidir 0, idam eşdeğerdirsp_adddistributor (Transact-sql)Ana veritabanı üzerinde dağıtımcı.

    • Eğer değeri Dağıtım db yüklü sonuç kümesidir 0, idam sp_adddistributiondb (Transact-sql)Ana veritabanı üzerinde dağıtımcı. Dağıtım veritabanı için bir ad belirtin @ veritabanı. İsteğe bağlı olarak, maksimum işlem saklama dönemi belirtebilirsiniz @ max_distretention ve geçmişini saklama dönemi @ history_retention. Yeni bir veritabanı oluşturulmaktadır veritabanı özellik parametreleri belirtin.

  2. Aynı zamanda yayımcı, dağıtıcı idam sp_adddistpublisher (Transact-sql), anlık görüntü klasörü için varsayılan olarak kullanılacak unc paylaşımına belirtme @ working_directory.

  3. Yayımcı tarafında idam sp_replicationdboption (Transact-sql). İçin yayımlanmış veritabanını belirtmek @ dbname, çoğaltma türünü @ optnameve trueiçin @ değeri.

Yayımlama uzak dağıtıcısı kullanarak yapılandırmak için

  1. İdam eşdeğerdirsp_get_distributor (Transact-sql)sunucu zaten bir dağıtımcı yapılandırılıp yapılandırılmadığını belirlemek için.

    • Eğer değeri Kurulu sonuç kümesidir 0, idam eşdeğerdirsp_adddistributor (Transact-sql)Ana veritabanı üzerinde dağıtımcı. Güçlü bir parola belirtmek @ parola. Bu parola distributor_admin hesabı tarafından yayımcı dağıtımcı olarak bağlanırken kullanılacak.

    • Eğer değeri Dağıtım db yüklü sonuç kümesidir 0, idam sp_adddistributiondb (Transact-sql)Ana veritabanı üzerinde dağıtımcı. Dağıtım veritabanı için bir ad belirtin @ veritabanı. İsteğe bağlı olarak, maksimum işlem saklama dönemi belirtebilirsiniz @ max_distretention ve geçmişini saklama dönemi @ history_retention. Yeni bir veritabanı oluşturulmaktadır veritabanı özellik parametreleri belirtin.

  2. Dağıtıcı idam sp_adddistpublisher (Transact-sql), anlık görüntü klasörü için varsayılan olarak kullanılacak unc paylaşımına belirtme @ working_directory. Dağıtımcı kullanacaksanız SQL Serveryayımcı bağlanırken kimlik doğrulamasını da değeri belirtmeniz gerekir 0 için @ security_mode ve Microsoft  SQL Servergiriş bilgilerini @ giriş ve @ parola.

  3. Ana veritabanı üzerinde Yayımcı tarafında idam eşdeğerdirsp_adddistributor (Transact-sql). Adım 1 için kullanılan güçlü bir parola belirtmek @ parola. Bu parola, yayımcı tarafından Dağıtımcı olarak bağlanırken kullanılacak.

  4. Yayımcı tarafında idam sp_replicationdboption (Transact-sql). İçin yayımlanmış veritabanını belirtmek @ dbname, çoğaltma türünü @ optnameve için true değeri @ değeri.

Örnek (Transact-sql)

Aşağıdaki örnek, yayımlama ve dağıtım program aracılığıyla yapılandırma gösterilmiştir. Örneğin, komut dosyası değişkenleri kullanarak bir yayıncı ve yerel bir dağıtımcı olarak konfigüre sunucu adı verilir. Çoğaltma yayımlama ve dağıtım programlı olarak çoğaltma depolanmış yordamları kullanarak yapılandırılabilir.

-- 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 

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Çoğaltma Yönetimi Nesneleri'ni (rmo) kullanarak

Tek bir sunucuda yayımlama ve dağıtım yapılandırmak için

  1. Kullanarak sunucuya bağlantı oluşturmak ServerConnectionsınıf

  2. Örneğini ReplicationServersınıf Geçmek ServerConnectiondan 1 adım.

  3. Örneğini DistributionDatabasesınıf

  4. Set Nameözellik kümesi ve veritabanı adı ConnectionContextözelliği ServerConnectionAdım 1'den.

  5. Dağıtımcı çağırarak yükleme InstallDistributoryöntemi. Geçmek DistributionDatabasenesne adım 3.

  6. Örneğini DistributionPublishersınıf

  7. Aşağıdaki özelliklerini ayarlama DistributionPublisher:

  8. Arama Createyöntemi.

Yayımlama ve dağıtım uzak dağıtıcısı kullanarak yapılandırmak için

  1. Kullanarak uzak dağıtımcı sunucuya bir bağlantı oluşturmak ServerConnectionsınıf

  2. Örneğini ReplicationServersınıf Geçmek ServerConnectiondan 1 adım.

  3. Örneğini DistributionDatabasesınıf

  4. Set Nameözellik kümesi ve veritabanı adı ConnectionContextözelliği ServerConnectionAdım 1'den.

  5. Dağıtımcı çağırarak yükleme InstallDistributoryöntemi. (Uzak dağıtımcı olarak bağlanırken yayımcı tarafından kullanılan) güvenli bir parola belirtin ve DistributionDatabaseAdım 3'den nesneden. Daha fazla bilgi için, bkz. Dağıtımcı güvenliğini.

    Güvenlik notuGüvenlik Notu

    Mümkün olduğunda, zamanında güvenlik kimlik bilgilerini girmesini ister. Kimlik bilgileri saklamanız gerekir kullanın Şifreleme Hizmetleri tarafından sağlanan MicrosoftWindows.net Framework.

  6. Örneğini DistributionPublishersınıf

  7. Aşağıdaki özelliklerini ayarlama DistributionPublisher:

  8. Arama Createyöntemi.

  9. Yerel Publisher sunucuya bir bağlantı kullanarak oluşturmak ServerConnectionsınıf

  10. Örneğini ReplicationServersınıf Geçmek ServerConnectiondan 9 adım.

  11. Arama InstallDistributoryöntemi. Adım 5'te belirtilen uzak bir dağıtımcı uzak dağıtımcı ve parola adı geçmektedir.

    Güvenlik notuGüvenlik Notu

    Mümkün olduğunda, zamanında güvenlik kimlik bilgilerini girmesini ister. Kimlik bilgileri saklamanız gerekir kullanın Şifreleme Hizmetleri Windows tarafından sağlanan.net Framework.

Örnek (rmo)

Çoğaltma yayımlama ve dağıtım, Çoğaltma Yönetimi Nesneleri'ni (rmo) kullanarak program aracılığıyla yapılandırabilirsiniz.

         // Set the server and database names
            string distributionDbName = "distribution";
            string publisherName = publisherInstance;
            string publicationDbName = "AdventureWorks2012";

            DistributionDatabase distributionDb;
            ReplicationServer distributor;
            DistributionPublisher publisher;
            ReplicationDatabase publicationDb;

            // Create a connection to the server using Windows Authentication.
            ServerConnection conn = new ServerConnection(publisherName);

            try
            {
                // Connect to the server acting as the Distributor 
                // and local Publisher.
                conn.Connect();

                // Define the distribution database at the Distributor,
                // but do not create it now.
                distributionDb = new DistributionDatabase(distributionDbName, conn);
                distributionDb.MaxDistributionRetention = 96;
                distributionDb.HistoryRetention = 120;

                // Set the Distributor properties and install the Distributor.
                // This also creates the specified distribution database.
                distributor = new ReplicationServer(conn);
                distributor.InstallDistributor((string)null, distributionDb);

                // Set the Publisher properties and install the Publisher.
                publisher = new DistributionPublisher(publisherName, conn);
                publisher.DistributionDatabase = distributionDb.Name;
                publisher.WorkingDirectory = @"\\" + publisherName + @"\repldata";
                publisher.PublisherSecurity.WindowsAuthentication = true;
                publisher.Create();

                // Enable AdventureWorks2012 as a publication database.
                publicationDb = new ReplicationDatabase(publicationDbName, conn);

                publicationDb.EnabledTransPublishing = true;
                publicationDb.EnabledMergePublishing = true;
            }
            catch (Exception ex)
            {
                // Implement appropriate error handling here.
                throw new ApplicationException("An error occured when installing distribution and publishing.", ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Set the server and database names
Dim distributionDbName As String = "distribution"
Dim publisherName As String = publisherInstance
Dim publicationDbName As String = "AdventureWorks2012"

Dim distributionDb As DistributionDatabase
Dim distributor As ReplicationServer
Dim publisher As DistributionPublisher
Dim publicationDb As ReplicationDatabase

' Create a connection to the server using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(publisherName)

Try
    ' Connect to the server acting as the Distributor 
    ' and local Publisher.
    conn.Connect()

    ' Define the distribution database at the Distributor,
    ' but do not create it now.
    distributionDb = New DistributionDatabase(distributionDbName, conn)
    distributionDb.MaxDistributionRetention = 96
    distributionDb.HistoryRetention = 120

    ' Set the Distributor properties and install the Distributor.
    ' This also creates the specified distribution database.
    distributor = New ReplicationServer(conn)
    distributor.InstallDistributor((CType(Nothing, String)), distributionDb)

    ' Set the Publisher properties and install the Publisher.
    publisher = New DistributionPublisher(publisherName, conn)
    publisher.DistributionDatabase = distributionDb.Name
    publisher.WorkingDirectory = "\\" + publisherName + "\repldata"
    publisher.PublisherSecurity.WindowsAuthentication = True
    publisher.Create()

    ' Enable AdventureWorks2012 as a publication database.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)

    publicationDb.EnabledTransPublishing = True
    publicationDb.EnabledMergePublishing = True

Catch ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("An error occured when installing distribution and publishing.", ex)

Finally
    conn.Disconnect()

End Try

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Ayrıca bkz.

Kavramlar

Görüntüleme ve dağıtıcı ve Publisher özelliklerini değiştirme

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

Yineleme sistem saklı yordamlar kavramları

Dağıtım yapılandırma

Çoğaltma Management Objects kavramları