Yayını Sil

Bu konuda bir yayında silmek açıklar SQL Server 2012kullanarak SQL Server Management Studio, Transact-SQL, ya da Çoğaltma Yönetimi Nesneleri'ni (rmo).

Bu Konuda

  • Bir yayında silmek için kullanma:

    SQL Server Management Studio

    Transact-SQL

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

SQL Server Management Studio Kullanarak

Yayınlardan silmek Yerel yayınları klasöründe SQL Server Management Studio.

Bir yayını silmek için

  1. Yayımcı bağlanmak Management Studiove sonra sunucu düğümünü genişletin.

  2. Genişletme çoğaltma klasörünü ve ardından Yerel yayınları klasörü.

  3. Silin ve ardından istediğiniz yayını sağ tıklatın silmek.

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

Transact-SQL'i Kullanma

Yayınlar, çoğaltma depolanmış yordamları kullanarak programsal olarak silinebilir. Kullanılan saklı yordamlar silinmeden yayın türüne bağlıdır.

[!NOT]

Yayını silmek yayımlanmış nesneler yayın veritabanı veya abone veritabanı ilgili nesneleri kaldırmaz. Kullanım DROP <object>gerekirse, bu nesneler el ile kaldırmak için komut.

Bir anlık görüntü veya işlem yayını silmek için

  1. Aşağıdakilerden birini yapın:

    • Tek bir yayında silmek için sp_droppublication yayını veritabanı üzerinde yayımcı adresindeki.

    • Tüm yayınlarda silmek ve tüm çoğaltma nesneleri yayımlanmış bir veritabanından kaldırmak için sp_removedbreplication yayımcı adresindeki. Değeri belirtmeniz traniçin @ türü. (İsteğe bağlı) Dağıtımcı erişilemiyorsa veya veritabanının durumu şüpheli veya çevrimdışı ise, değeri belirtmeniz 1 için @ zorla. (İsteğe bağlı) Veritabanı için bir ad belirtin @ dbname , sp_removedbreplication yayın veritabanı yürütülür.

      [!NOT]

      Bir değer belirterek 1 için @ zorla çoğaltma ilgili yayımlama nesneleri veritabanında bırakabilir.

  2. (İsteğe bağlı) Bu veritabanı başka bir yayın varsa, sp_replicationdboption (Transact-sql)anlık görüntü veya işlem çoğaltma kullanarak geçerli veritabanı yayını devre dışı bırakmak için.

  3. (İsteğe bağlı) Abone veritabanı Abone tarafında idam sp_subscription_cleanup abonelik veritabanında kalan tüm çoğaltma meta verileri kaldırmak için.

Birleştirme yayını silmek için

  1. Aşağıdakilerden birini yapın:

    • Tek bir yayında silmek için sp_dropmergepublication (Transact-sql)Yayını veritabanı üzerinde yayımcı adresindeki.

    • Tüm yayınlarda silmek ve tüm çoğaltma nesneleri yayımlanmış bir veritabanından kaldırmak için sp_removedbreplication yayımcı adresindeki. Değeri belirtmeniz mergeiçin @ türü. (İsteğe bağlı) Dağıtımcı erişilemiyorsa veya veritabanının durumu şüpheli veya çevrimdışı ise, değeri belirtmeniz 1 için @ zorla. (İsteğe bağlı) Veritabanı için bir ad belirtin @ dbname , sp_removedbreplication yayın veritabanı yürütülür.

      [!NOT]

      Bir değer belirterek 1 için @ zorla çoğaltma ilgili yayımlama nesneleri veritabanında bırakabilir.

  2. (İsteğe bağlı) Bu veritabanı başka bir yayın varsa, sp_replicationdboption (Transact-sql)Geçerli yayın devre dışı bırakmak için veritabanı kullanarak birleştirme çoğaltma.

  3. (İsteğe bağlı) Abone veritabanı Abone tarafında idam sp_mergesubscription_cleanup (Transact-sql)abonelik veritabanında kalan tüm çoğaltma meta verileri kaldırmak için.

Örnekler (Transact-SQL)

Bu örnek işlem yayınına çıkarmak ve sakatlar veritabanı işlemsel yayım gösterilmiştir. Bu örnek, tüm abonelikleri daha önce kaldırılan varsayılmaktadır. Daha fazla bilgi için, bkz. Çekme abonelik silmek veya Itme abonelik silme.

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks2012]
EXEC sp_droppublication @publication = @publication;

-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish', 
  @value = N'false';
GO

Bu örnek, birleştirme yayını kaldırmak ve birleştirme yayımlama için veritabanı devre dışı bırak gösterilmiştir. Bu örnek, tüm abonelikleri daha önce kaldırılan varsayılmaktadır. Daha fazla bilgi için, bkz. Çekme abonelik silmek veya Itme abonelik silme.

DECLARE @publication AS sysname
DECLARE @publicationDB    AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge' 
SET @publicationDB = N'AdventureWorks'

-- Remove the merge publication.
USE [AdventureWorks]
EXEC sp_dropmergepublication @publication = @publication;

-- Remove replication objects from the database.
USE master
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'merge publish', 
  @value = N'false'
GO

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

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

Çoğaltma Yönetimi Nesneleri'ni (rmo) kullanarak yayınlar programlı olarak silebilirsiniz. rmo sınıfları yayını kaldırmak için kullandığınız kaldırdığınız yayın türüne bağlıdır.

Bir anlık görüntü veya işlem yayını kaldırmak için

  1. Kullanarak bir yayımcının bağlantısı oluşturmak ServerConnectionsınıf

  2. Örneğini TransPublicationsınıf

  3. Set Nameve DatabaseNameyayın ve kümesi özelliklerini ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.

  4. Kontrol IsExistingObjectyayın'ın varlığını doğrulamak için özellik. Bu özelliğin değeri ise false, adım 3 yayını özellikleri yanlış tanımlanan veya yayını yok.

  5. Arama Removeyöntemi.

  6. (İsteğe bağlı) Bu veritabanı için hiçbir işlem diğer yayınları mevcut veritabanı işlem gibi yayımlamak için devreden çıkarılabilir:

    1. Örneğini ReplicationDatabasesınıf Set ConnectionContextözelliği örneği ServerConnectiondan 1 adım.

    2. Arama LoadPropertiesyöntemi. Bu yöntem ise false, veritabanında varolduğunu onaylayın.

    3. Set EnabledTransPublishingözelliği false.

    4. Arama CommitPropertyChangesyöntemi.

  7. Bağlantıları kapatın.

Birleştirme yayını kaldırmak için

  1. Kullanarak bir yayımcının bağlantısı oluşturmak ServerConnectionsınıf

  2. Örneğini MergePublicationsınıf

  3. Set Nameve DatabaseNameyayın ve kümesi özelliklerini ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.

  4. Kontrol IsExistingObjectyayın'ın varlığını doğrulamak için özellik. Bu özelliğin değeri ise false, adım 3 yayını özellikleri yanlış tanımlanan veya yayını yok.

  5. Arama Removeyöntemi.

  6. (İsteğe bağlı) Bu veritabanı için diğer bir birleştirme yayımları mevcut, veritabanı birleştirme gibi yayımlamak için devreden çıkarılabilir:

    1. Örneğini ReplicationDatabasesınıf Set ConnectionContextözelliği örneği ServerConnectionAdım 1.

    2. Arama LoadPropertiesyöntemi. Bu yöntem ise false, veritabanı varolduğundan emin olun.

    3. Set EnabledMergePublishingözelliği false.

    4. Arama CommitPropertyChangesyöntemi.

  7. Bağlantıları kapatın.

Örnekler (rmo)

Aşağıdaki örnek işlem yayınına siler. Başka hiçbir işlem yayınlar için bu veritabanı yoksa, işlem yayıncılık da devre dışı bırakılır.

          // Define the Publisher, publication database, 
            // and publication names.
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2012";

            TransPublication publication;
            ReplicationDatabase publicationDb;

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

            try
            {
                conn.Connect();

                // Set the required properties for the transactional publication.
                publication = new TransPublication();
                publication.ConnectionContext = conn;
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;

                // Delete the publication, if it exists and has no subscriptions.
                if (publication.LoadProperties() && !publication.HasSubscription)
                {
                    publication.Remove();
                }
                else
                {
                    // Do something here if the publication does not exist
                    // or has subscriptions.
                    throw new ApplicationException(String.Format(
                        "The publication {0} could not be deleted. " +
                        "Ensure that the publication exists and that all " +
                        "subscriptions have been deleted.",
                        publicationName, publisherName));
                }

                // If no other transactional publications exists,
                // disable publishing on the database.
                publicationDb = new ReplicationDatabase(publicationDbName, conn);
                if (publicationDb.LoadProperties())
                {
                    if (publicationDb.TransPublications.Count == 0)
                    {
                        publicationDb.EnabledTransPublishing = false;
                    }
                }
                else
                {
                    // Do something here if the database does not exist.
                    throw new ApplicationException(String.Format(
                        "The database {0} does not exist on {1}.",
                        publicationDbName, publisherName));
                }
            }
            catch (Exception ex)
            {
                // Implement application error handling here.
                throw new ApplicationException(String.Format(
                    "The publication {0} could not be deleted.",
                    publicationName), ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Define the Publisher, publication database, 
' and publication names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"

Dim publication As TransPublication
Dim publicationDb As ReplicationDatabase

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

Try
    conn.Connect()

    ' Set the required properties for the transactional publication.
    publication = New TransPublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    ' Delete the publication, if it exists and has no subscriptions.
    If publication.LoadProperties() And Not publication.HasSubscription Then
        publication.Remove()
    Else
        ' Do something here if the publication does not exist
        ' or has subscriptions.
        Throw New ApplicationException(String.Format( _
         "The publication {0} could not be deleted. " + _
         "Ensure that the publication exists and that all " + _
         "subscriptions have been deleted.", _
         publicationName, publisherName))
    End If

    ' If no other transactional publications exists,
    ' disable publishing on the database.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)
    If publicationDb.LoadProperties() Then
        If publicationDb.TransPublications.Count = 0 Then
            publicationDb.EnabledTransPublishing = False
        End If
    Else
        ' Do something here if the database does not exist.
        Throw New ApplicationException(String.Format( _
         "The database {0} does not exist on {1}.", _
         publicationDbName, publisherName))
    End If
Catch ex As Exception
    ' Implement application error handling here.
    Throw New ApplicationException(String.Format( _
     "The publication {0} could not be deleted.", _
     publicationName), ex)
Finally
    conn.Disconnect()
End Try

Aşağıdaki örnek, birleştirme yayını siler. Diğer bir birleştirme yayımları için bu veritabanı yoksa, birleştirme yayımlama da devre dışı bırakılır.

           // Define the Publisher, publication database, 
            // and publication names.
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksSalesOrdersMerge";
            string publicationDbName = "AdventureWorks2012";

            MergePublication publication;
            ReplicationDatabase publicationDb;

            // Create a connection to the Publisher.
            ServerConnection conn = new ServerConnection(publisherName);

            try
            {
                // Connect to the Publisher.
                conn.Connect();

                // Set the required properties for the merge publication.
                publication = new MergePublication();
                publication.ConnectionContext = conn;
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;

                // Delete the publication, if it exists and has no subscriptions.
                if (publication.LoadProperties() && !publication.HasSubscription)
                {
                    publication.Remove();
                }
                else
                {
                    // Do something here if the publication does not exist
                    // or has subscriptions.
                    throw new ApplicationException(String.Format(
                        "The publication {0} could not be deleted. " +
                        "Ensure that the publication exists and that all " +
                        "subscriptions have been deleted.",
                        publicationName, publisherName));
                }

                // If no other merge publications exists,
                // disable publishing on the database.
                publicationDb = new ReplicationDatabase(publicationDbName, conn);
                if (publicationDb.LoadProperties())
                {
                    if (publicationDb.MergePublications.Count == 0 && publicationDb.EnabledMergePublishing)
                    {
                        publicationDb.EnabledMergePublishing = false;
                    }
                }
                else
                {
                    // Do something here if the database does not exist.
                    throw new ApplicationException(String.Format(
                        "The database {0} does not exist on {1}.",
                        publicationDbName, publisherName));
                }
            }
            catch (Exception ex)
            {
                // Implement application error handling here.
                throw new ApplicationException(String.Format(
                    "The publication {0} could not be deleted.",
                    publicationName), ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Define the Publisher, publication database, 
' and publication names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2012"

Dim publication As MergePublication
Dim publicationDb As ReplicationDatabase

' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Set the required properties for the merge publication.
    publication = New MergePublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    ' Delete the publication, if it exists and has no subscriptions.
    If (publication.LoadProperties() And Not publication.HasSubscription) Then
        publication.Remove()
    Else
        ' Do something here if the publication does not exist
        ' or has subscriptions.
        Throw New ApplicationException(String.Format( _
         "The publication {0} could not be deleted. " + _
         "Ensure that the publication exists and that all " + _
         "subscriptions have been deleted.", _
         publicationName, publisherName))
    End If

    ' If no other merge publications exists,
    ' disable publishing on the database.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)
    If publicationDb.LoadProperties() Then
        If publicationDb.MergePublications.Count = 0 _
        And publicationDb.EnabledMergePublishing Then
            publicationDb.EnabledMergePublishing = False
        End If
    Else
        ' Do something here if the database does not exist.
        Throw New ApplicationException(String.Format( _
         "The database {0} does not exist on {1}.", _
         publicationDbName, publisherName))
    End If
Catch ex As Exception
    ' Implement application error handling here.
    Throw New ApplicationException(String.Format( _
     "The publication {0} could not be deleted.", _
     publicationName), ex)
Finally
    conn.Disconnect()
End Try

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

Ayrıca bkz.

Kavramlar

Yineleme sistem saklı yordamlar kavramları

Verileri ve veritabanı nesnelerini Yayımla