TSQL:在执行sp_dropdistributor之前检查分发服务器是否存在

时间:2017-05-29 20:34:50

标签: c# .net sql-server tsql

有没有办法在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
  未安装分发服务器。

1 个答案:

答案 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
相关问题