Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt uitgelegd hoe u replicatie handmatig verwijdert in SQL Server.
Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 324401
Samenvatting
In dit artikel wordt beschreven hoe u een replicatie verwijdert van een computer waarop Microsoft SQL Server wordt uitgevoerd. Als u een replicatie wilt verwijderen, moet u de abonnementen, de publicaties en de distributeur verwijderen die is geconfigureerd voor de replicatie. U kunt de replicatie verwijderen door het Transact-SQL-script uit te voeren dat wordt gegenereerd door SQL Server Enterprise Manager of SQL Server Management Studio. Als u het Transact-SQL-script echter niet kunt genereren om de replicatie te verwijderen, kunt u de replicatie handmatig verwijderen met behulp van door het systeem opgeslagen procedures en andere Transact-SQL-instructies. Dit artikel bevat informatie over door het systeem opgeslagen procedures die in dit proces kunnen worden gebruikt.
Notitie
Zie SQL Server Books Online voor meer informatie over de door het systeem opgeslagen procedures die in dit artikel worden genoemd.
Handmatig een replicatie verwijderen
U kunt een replicatie handmatig verwijderen met behulp van door het systeem opgeslagen procedures en andere Transact-SQL-instructies. Voer de volgende stappen uit om een replicatie volledig te verwijderen:
- Verwijder alle abonnementen die zijn geconfigureerd voor de replicatie.
- Verwijder alle publicaties die zijn geconfigureerd voor de replicatie.
- Verwijder de distributeur die is geconfigureerd voor de replicatie.
Notitie
De door het systeem opgeslagen procedures voor elk type replicatie worden verderop in dit artikel vermeld. Gebruik de juiste opgeslagen procedures, afhankelijk van het type replicatie dat u wilt verwijderen.
De abonnementen verwijderen
Als u de abonnementen wilt verwijderen uit een exemplaar van SQL Server, kunt u de volgende opgeslagen procedures en de juiste parameters gebruiken:
sp_dropsubscription: U kunt de door hetsp_dropsubscriptionsysteem opgeslagen procedure gebruiken om abonnementen te verwijderen naar een bepaald artikel, een bepaalde publicatie of een set abonnementen op Publisher. U moet de opgeslagen procedure uitvoeren op de Publisher-server in de publicatiedatabase.sp_droppullsubscription: U kunt de door hetsp_droppullsubscriptionsysteem opgeslagen procedure gebruiken om een abonnement te verwijderen in de huidige database van de abonnee. U moet de opgeslagen procedure uitvoeren bij abonnee in de pull-abonnementsdatabase.sp_dropmergesubscription: U kunt de door hetsp_dropmergesubscriptionsysteem opgeslagen procedure gebruiken om een abonnement te verwijderen naar een samenvoegpublicatie en naar de samenvoegagent die is gekoppeld aan de samenvoegpublicatie. U moet de opgeslagen procedure uitvoeren op de Publisher-server in de publicatiedatabase.sp_dropmergepullsubscription: U kunt de opgeslagen procedure van hetsp_dropmergepullsubscriptionsysteem gebruiken om een pull-abonnement voor samenvoegen te verwijderen. U moet de opgeslagen procedure uitvoeren bij abonnee in de pull-abonnementsdatabase.
Momentopnameabonnementen verwijderen
Als u een push-abonnement wilt verwijderen naar alle artikelen voor een momentopnamepublicatie, voert u het volgende script uit op Publisher:
USE < **Publication database name** >
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
Als u een pull-momentopnameabonnement wilt verwijderen uit alle artikelen voor een momentopnamepublicatie, voert u de volgende stappen uit:
Voer het volgende SQL-script uit op de abonnee:
USE < **Subscription database name** > GO EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publication database name>', @publication = N'<Publication name>'Voer het volgende script uit bij Publisher:
USE < **Publication database name** > GO EXEC sp_dropsubscription @publication=N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'all'
Een transactioneel abonnement verwijderen
Als u een pushabonnement wilt verwijderen naar alle artikelen voor een transactionele publicatie, voert u het volgende script uit op Publisher:
USE < **Publication database name** >
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
Als u een pull-abonnement wilt verwijderen uit alle artikelen voor een transactionele publicatie, voert u de volgende stappen uit:
Voer het volgende script uit op de abonnee:
USE < **Subscription database name** > GO EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>', @publication = N'<Publication name>'Voer het volgende script uit bij Publisher:
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>'
Een samenvoegabonnement verwijderen
Als u een push-abonnement wilt verwijderen, voert u het volgende script uit bij Publisher:
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'
Voer de volgende stappen uit om een pull-abonnement te verwijderen:
Voer het volgende script uit op de abonnee:
USE < **Subscription database name** > GO EXEC sp_dropmergepullsubscription @publication = N'<Publication name>', @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>'Voer het volgende script uit bij Publisher:
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>'
De publicaties verwijderen
Nadat u alle abonnementen hebt verwijderd die zich op een publicatie abonneren, kunt u de publicatie verwijderen. Nadat u de publicaties in de publicatiedatabase hebt verwijderd, moet u de optie voor de replicatiedatabase voor de publicatiedatabase instellen op false. Als u een publicatie wilt verwijderen, kunt u de volgende door het systeem opgeslagen procedures gebruiken:
sp_droppublication: U kunt de door hetsp_droppublicationsysteem opgeslagen procedure gebruiken om een publicatie en de artikelen die aan de publicatie zijn gekoppeld, te verwijderen. U moet de opgeslagen procedure uitvoeren bij Publisher in de publicatiedatabase.sp_dropmergepublication: U kunt de door hetsp_dropmergepublicationsysteem opgeslagen procedure gebruiken om een samenvoegpublicatie en de momentopnameagent te verwijderen die is gekoppeld aan de samenvoegpublicatie. De artikelen die aan de publicatie zijn gekoppeld, worden ook verwijderd. U moet de opgeslagen procedure uitvoeren bij Publisher in de publicatiedatabase.sp_replicationdboption: U kunt de door hetsp_replicationdboptionsysteem opgeslagen procedure gebruiken om een optie voor de replicatiedatabase in te stellen voor de huidige database. U moet de opgeslagen procedure uitvoeren op de Publisher-server.
Als u een momentopnamepublicatie wilt verwijderen, voert u het volgende script uit bij Publisher:
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'
Als u een transactionele publicatie wilt verwijderen, voert u het volgende script uit bij Publisher:
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'
Als u een samenvoegpublicatie wilt verwijderen, voert u het volgende script uit bij Publisher:
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'
Zet de distributeur neer
Nadat u alle abonnementen en publicaties hebt wegvallen, kunt u de relevante distributeur verwijderen. Voordat u de distributeur neerwijst, moet u de abonneeaanduiding echter uit Publisher verwijderen. Gebruik hiervoor de volgende opgeslagen procedures:
sp_dropsubscriber: U kunt de door hetsp_dropsubscribersysteem opgeslagen procedure gebruiken om de toewijzing van abonnees van een geregistreerde server te verwijderen. Met de opgeslagen procedure wordt de registervermelding voor de abonnee verwijderd. De opgeslagen procedure wordt uitgevoerd bij Publisher in de publicatiedatabase.sp_dropdistributor: U kunt desp_dropdistributorsysteem opgeslagen procedure gebruiken om de distributeur te verwijderen. De opgeslagen procedure wordt uitgevoerd bij de distributeur. Voer het volgende script uit bij Publisher om de aanduiding van de abonnee uit te zetten bij Publisher:USE master GO EXEC sp_dropsubscriber @subscriber = N'<Subscriber server name>', @reserved = N'drop_subscriptions'Als u de distributeur wilt verwijderen, voert u het volgende script uit bij de distributeur:
USE master GO EXEC sp_dropdistributor @no_checks = 1
Opgeslagen procedures gebruiken
U kunt ook de volgende opgeslagen procedures gebruiken wanneer u de replicatie verwijdert:
sp_removedbreplication: U kunt de opgeslagen procedure van hetsp_removedbreplicationsysteem gebruiken om alle replicatieobjecten uit een database te verwijderen zonder de gegevens bij de distributeur bij te werken. U moet de opgeslagen procedure uitvoeren bij Publisher in de publicatiedatabase of bij abonnee in de abonnementsdatabase. Hier volgt de syntaxis voor deze opgeslagen procedure:sp_removedbreplication '<Database name>'sp_droparticle: U kunt de door hetsp_droparticlesysteem opgeslagen procedure gebruiken om een artikel te verwijderen uit een momentopnamepublicatie of uit de transactionele publicatie. U kunt een artikel niet verwijderen als een of meer abonnementen op het gepubliceerde artikel nog bestaan. U moet de opgeslagen procedure uitvoeren bij Publisher in de publicatiedatabase. Hier volgt de syntaxis voor deze opgeslagen procedure:sp_droparticle @publication = N'<Publication name>', @article = N'<Article name>', @force_invalidate_snapshot = 1
Verwijzingen
Zie de volgende onderwerpen in SQL Server Books Online voor meer informatie: