SQL Server刪除distribution數據庫


  在數據庫服務器刪除復制(發布訂閱)后,如何刪除掉數據庫distribution呢?如果你通過SSMS工具去刪除數據庫distribution,你會發現根本沒有刪除選項。 下面介紹一下刪除distribution的步驟

 

步驟1: 查看相關訂閱服務器的信息,如果還存在對應的訂閱服務器,從注冊的服務器中刪除訂閱服務器名稱

exec sp_helpsubscriberinfo ;
go
 
exec sp_dropsubscriber 'SubscriberName';
go

 

步驟2: 查看分發服務器的發布服務器的屬性

exec sp_helpdistpublisher;

 

步驟3: 刪除分發發布服務器

exec sp_dropdistpublisher  @publisher = 'PublisherName'

 

步驟4: 使用sp_dropdistributiondb刪除數據庫distribution

use master;
 
go
 
exec sp_dropdistributiondb @database = N'distribution'
 
go
 
use master; 
 
go 
 
exec sp_dropdistributor @no_checks = 1, @ignore_distributor = 1 
 
go
 

 

注意事項:

1:錯誤信息“Could not drop the distribution database 'distribution'. This distributor database is associated with a Publisher.”

 

exec sp_dropdistributiondb @database = N'distribution'

GO

消息 14120,級別 16,狀態 1,過程 sp_dropdistributiondb,第 85 行

Could not drop the distribution database 'distribution'. This distributor database is associated with a Publisher.

clipboard

出現這個錯誤,是因為必須先刪除對應的分發發布服務器,否則就會出現下面錯誤。

 

2:錯誤信息“Cannot drop the distribution database 'distribution' because it is currently in use”

 

exec sp_dropdistributiondb @database = N'distribution'

go

消息 21122,級別 16,狀態 1,過程 sp_dropdistributiondb,第 124 行

Cannot drop the distribution database 'distribution' because it is currently in use.

 

出現上面情況,是因為會話窗口使用的數據庫是distribution,你可以指定會話窗口的數據庫為master或使用下面語句即可解決問題。

use master; 
 
go 
 
exec sp_dropdistributiondb @database = N'distribution' 
 
go
 

 

另外由於某些原因,導致無法使用sp_dropdistributiondb刪除distribution數據庫。此時可以使用下面方式強制刪除數據庫distribution。

clipboard[1]

use master 
go 
 
alter database distribution set offline; 
go
 
drop database distribution;

use master;
go
 
alter database distribution set single_user with rollback immediate
go
 
drop database distribution;
go


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM