SQL Server'de çoğaltmayı el ile kaldırma
Bu makalede, SQL Server'da çoğaltmanın nasıl el ile kaldırılacağı açıklanmaktadır.
Özgün ürün sürümü: SQL Server
Özgün KB numarası: 324401
Özet
Bu makalede, Microsoft SQL Server çalıştıran bir bilgisayardan çoğaltmanın nasıl kaldırılacağı açıklanır. Çoğaltmayı kaldırmak için abonelikleri, yayınları ve çoğaltma için yapılandırılmış dağıtımcıyı bırakmanız gerekir. SQL Server Enterprise Yöneticisi veya SQL Server Management Studio tarafından oluşturulan Transact-SQL betiğini çalıştırarak çoğaltmayı kaldırabilirsiniz. Ancak, çoğaltmayı kaldırmak için Transact-SQL betiğini oluşturamıyorsanız, sistem saklı yordamlarını ve diğer Transact-SQL deyimlerini kullanarak çoğaltmayı el ile kaldırabilirsiniz. Bu makale, bu işlemde kullanılabilecek sistem saklı yordamları hakkında bilgi içerir.
Not
Bu makalede bahsedilen sistem saklı yordamları hakkında daha fazla bilgi için bkz. Çevrimiçi Kitaplar SQL Server.
Çoğaltmayı el ile kaldırma
Sistem saklı yordamlarını ve diğer Transact-SQL deyimlerini kullanarak çoğaltmayı el ile kaldırabilirsiniz. Çoğaltmayı tamamen kaldırmak için şu adımları izleyin:
- Çoğaltma için yapılandırılmış tüm abonelikleri bırakın.
- Çoğaltma için yapılandırılmış tüm yayınları bırakın.
- Çoğaltma için yapılandırılan dağıtımcıyı bırakın.
Not
Her çoğaltma türü için sistem saklı yordamları bu makalenin devamında listelenmiştir. Kaldırmak istediğiniz çoğaltma türüne bağlı olarak uygun saklı yordamları kullanın.
Abonelikleri bırakma
Abonelikleri bir SQL Server örneğinden bırakmak için aşağıdaki saklı yordamları ve uygun parametreleri kullanabilirsiniz:
sp_dropsubscription
: Abonelikleri Publisher'dasp_dropsubscription
belirli bir makaleye, yayına veya abonelik kümesine bırakmak için sistem saklı yordamını kullanabilirsiniz. Saklı yordamı yayın veritabanındaki Publisher sunucusunda çalıştırmanız gerekir.sp_droppullsubscription
: Aboneliği aboneninsp_droppullsubscription
geçerli veritabanına bırakmak için sistem saklı yordamını kullanabilirsiniz. Çekme aboneliği veritabanındaki Abone'de saklı yordamı çalıştırmanız gerekir.sp_dropmergesubscription
: Bir aboneliği birleştirme yayınınasp_dropmergesubscription
ve birleştirme yayınıyla ilişkili Birleştirme Aracısı'na bırakmak için sistem saklı yordamını kullanabilirsiniz. Saklı yordamı yayın veritabanındaki Publisher sunucusunda çalıştırmanız gerekir.sp_dropmergepullsubscription
: Birleştirme çekme aboneliğinisp_dropmergepullsubscription
bırakmak için sistem saklı yordamını kullanabilirsiniz. Çekme aboneliği veritabanındaki Abone'de saklı yordamı çalıştırmanız gerekir.
Anlık görüntü aboneliklerini bırakma
Anlık görüntü yayınının tüm makalelerine anında iletme aboneliğini bırakmak için Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** >
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
Anlık görüntü yayınının tüm makalelerine çekme anlık görüntüsü aboneliğini bırakmak için şu adımları izleyin:
Abone'de aşağıdaki SQL betiğini çalıştırın:
USE < **Subscription database name** > GO EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publication database name>', @publication = N'<Publication name>'
Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** > GO EXEC sp_dropsubscription @publication=N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'all'
İşlem aboneliğini bırakma
bir işlem yayınının tüm makalelerine anında iletme aboneliği bırakmak için Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** >
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
Çekme aboneliğini işlem yayınının tüm makalelerine bırakmak için şu adımları izleyin:
Abone'de aşağıdaki betiği çalıştırın:
USE < **Subscription database name** > GO EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>', @publication = N'<Publication name>'
Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** > GO EXEC sp_dropsubscription @publication =N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'<Destination database name>'
Birleştirme aboneliğini bırakma
Gönderim aboneliğini bırakmak için Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** >
GO
EXEC sp_dropmergesubscription @publication = N'<Publication name>', @subscriber = N'<Publisher server name>', @subscriber_db = N'<Subscription database name>', @subscription_type = N'push'
Çekme aboneliğini bırakmak için şu adımları izleyin:
Abone'de aşağıdaki betiği çalıştırın:
USE < **Subscription database name** > GO EXEC sp_dropmergepullsubscription @publication = N'<Publication name>', @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>'
Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** > GO EXEC sp_dropmergesubscription @subscription_type = N'pull', @publication = N'<Publication name>', @subscriber = N'<Subscriber server name>', @subscriber_db = N'<Subscription database name>'
Yayınları bırakma
Yayına abone olan tüm abonelikleri kaldırdıktan sonra yayını kaldırabilirsiniz. Yayın veritabanındaki yayınları kaldırdıktan sonra, yayın veritabanı için çoğaltma veritabanı seçeneğini false olarak ayarlamanız gerekir. Yayını kaldırmak için aşağıdaki sistem saklı yordamlarını kullanabilirsiniz:
sp_droppublication
: Bir yayını ve yayınla ilişkili makaleleri bırakmak için sistem saklı yordamını kullanabilirsinizsp_droppublication
. Publisher'da yayın veritabanında saklı yordamı çalıştırmanız gerekir.sp_dropmergepublication
: Birleştirme yayınınısp_dropmergepublication
ve birleştirme yayınıyla ilişkili Snapshot Agent'ı bırakmak için sistem saklı yordamını kullanabilirsiniz. Yayınla ilişkili makaleler de bırakılır. Publisher'da yayın veritabanında saklı yordamı çalıştırmanız gerekir.sp_replicationdboption
: Geçerli veritabanı için bir çoğaltma veritabanı seçeneği ayarlamak için sistem saklı yordamını kullanabilirsinizsp_replicationdboption
. Saklı yordamı Publisher sunucusunda çalıştırmanız gerekir.
Anlık görüntü yayınını bırakmak için Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** >
GO
EXEC sp_droppublication @publication = N'<Publication name>'
USE master
GO
exec sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'
İşlem yayınını bırakmak için Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** >
GO
EXEC sp_droppublication @publication = N'<Publication name>'
USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'
Birleştirme yayınını bırakmak için Publisher'da aşağıdaki betiği çalıştırın:
USE < **Publication database name** >
GO
EXEC sp_dropmergepublication @publication = N'<Publication name>'
USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'merge publish', @value = N'false'
Dağıtımcıyı bırakma
Tüm abonelikleri ve yayınları bıraktıktan sonra ilgili Dağıtımcıyı bırakabilirsiniz. Ancak dağıtımcıyı bırakmadan önce Publisher'dan abone atamasını bırakmanız gerekir. Bunu yapmak için aşağıdaki saklı yordamları kullanın:
sp_dropsubscriber
: Kayıtlı bir sunucudansp_dropsubscriber
abone atamasını bırakmak için sistem saklı yordamını kullanabilirsiniz. Saklı yordam abone için kayıt defteri girdisini kaldırır. Saklı yordam yayın veritabanında Publisher'da çalıştırılır.sp_dropdistributor
: Dağıtımcıyısp_dropdistributor
kaldırmak için sistem saklı yordamını kullanabilirsiniz. Saklı yordam dağıtımcıda çalıştırılır. Publisher'dan abone atamasını bırakmak için Publisher'da aşağıdaki betiği çalıştırın:USE master GO EXEC sp_dropsubscriber @subscriber = N'<Subscriber server name>', @reserved = N'drop_subscriptions'
Dağıtımcıyı kaldırmak için dağıtımcıda aşağıdaki betiği çalıştırın:
USE master GO EXEC sp_dropdistributor @no_checks = 1
Saklı yordamları kullanma
Çoğaltmayı kaldırırken aşağıdaki saklı yordamları da kullanabilirsiniz:
sp_removedbreplication
: Dağıtımcıdakisp_removedbreplication
verileri güncelleştirmeden veritabanındaki tüm çoğaltma nesnelerini kaldırmak için sistem saklı yordamını kullanabilirsiniz. Publisher'da yayın veritabanında veya abonelik veritabanındaki Abone'de saklı yordamı çalıştırmanız gerekir. Bu saklı yordamın söz dizimi aşağıdadır:sp_removedbreplication '<Database name>'
sp_droparticle
: Bir anlık görüntü yayınından veya işlem yayınından bir makale bırakmak için sistem saklı yordamını kullanabilirsinizsp_droparticle
. Yayımlanan makalenin bir veya daha fazla aboneliği hala mevcutsa, bir makaleyi kaldıramazsınız. Publisher'da yayın veritabanında saklı yordamı çalıştırmanız gerekir. Bu saklı yordamın söz dizimi aşağıdadır:sp_droparticle @publication = N'<Publication name>', @article = N'<Article name>', @force_invalidate_snapshot = 1
Başvurular
Daha fazla bilgi için SQL Server Books Online'da aşağıdaki konulara bakın:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin