標籤:資訊 com offline href 分享 .com 解決問題 drop 錯誤
在資料庫伺服器刪除複製(發布訂閱)後,如何刪除掉資料庫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.
出現這個錯誤,是因為必須先刪除對應的分發發行伺服器,否則就會出現下面錯誤。
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。
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
SQL Server刪除distribution資料庫