Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сбрасывает базу данных распространителя. Сбрасывает физические файлы, используемые базой данных, если они не используются другой базой данных. Эта хранимая процедура выполняется на распространителе в любой базе данных.
Синтаксические обозначения в Transact-SQL
Синтаксис
sp_dropdistributiondb [ @database= ] 'database'
Аргументы
- [ @database=] 'database'
База данных для удаления. Аргумент database имеет тип sysname и не имеет значения по умолчанию.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Хранимая процедура sp_dropdistributiondb используется при репликации всех типов.
Эта хранимая процедура должна быть выполнена перед удалением распространителя с помощью выполнения процедуры sp_dropdistributor.
Процедура sp_dropdistributiondb также удаляет задание агента чтения очереди для базы данных распространителя, если оно существует.
Чтобы отключить распространение, база данных распространителя должна быть в режиме «в сети». Если для базы данных распространителя существует моментальный снимок базы данных, он должен быть сброшен перед отключением распространения. Моментальный снимок базы данных доступен только для чтения в виде копии базы данных вне сети и не относится к моментальному снимку репликации. Дополнительные сведения см. в разделе Моментальные снимки базы данных (SQL Server).
Пример
-- 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".
-- Disable publishing and distribution.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB as sysname;
SET @distributionDB = N'distribution';
SET @publisher = $(DistPubServer);
SET @publicationDB = N'AdventureWorks2012';
-- Disable the publication database.
USE [AdventureWorks2012]
EXEC sp_removedbreplication @publicationDB;
-- Remove the registration of the local Publisher at the Distributor.
USE master
EXEC sp_dropdistpublisher @publisher;
-- Delete the distribution database.
EXEC sp_dropdistributiondb @distributionDB;
-- Remove the local server as a Distributor.
EXEC sp_dropdistributor;
GO
Разрешения
Только члены предопределенной роли сервера sysadmin могут выполнять процедуру sp_dropdistributiondb.
См. также
Справочник
sp_adddistributiondb (Transact-SQL)
sp_changedistributiondb (Transact-SQL)
sp_helpdistributiondb (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)