C# TSQL:在执行sp_dropdistributor之前检查分发服务器是否存在
在T-SQL中使用此命令删除分发服务器之前,是否有方法检查分发服务器是否存在C# TSQL:在执行sp_dropdistributor之前检查分发服务器是否存在,c#,.net,sql-server,tsql,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,16级,状态
exec sp_dropdistributor @no_checks = 1, @ignore_distributor=1
大概是这样的:
If (Distributor Exists) Then
exec sp_dropdistributor @no_checks = 1, @ignore_distributor=1
我试图避免在执行该语句而分发服务器不存在时生成的错误:
Msg 21043,16级,状态1,程序sp_dropdistributor,第50行未安装分配器
您可以使用
sp\u get\u 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
也许您可以使用select进行查询。通常我会执行一个更新查询并检查修改行的返回值。如果未修改任何行,则主键不存在,因此我执行Insert查询以添加新项。