有没有办法在T-SQL中使用此命令删除分发服务器之前检查分发服务器是否存在?
exec sp_dropdistributor @no_checks = 1, @ignore_distributor=1
这样的事情:
If (Distributor Exists) Then
exec sp_dropdistributor @no_checks = 1, @ignore_distributor=1
我正在尝试避免在执行该语句时生成的错误并且分发服务器不存在:
Msg 21043,Level 16,State 1,Procedure sp_dropdistributor,Line 50
未安装分发服务器。
答案 0 :(得分:2)
您可以使用sp_get_distributor
程序:
declare @temp table
(
is_installed int,
distribution_server_name varchar(500),
is_distribution_db_installed int,
is_distribution_publisher int,
has_remote_distribution_publisher int
);
insert @temp exec sp_get_distributor
if((select is_installed from @temp) = 1)
begin
exec sp_dropdistributor @no_checks = 1, @ignore_distributor=1
end