?
脚本在分发服务器上执行!我主要使用来监控复制情况.下面是个案例,仅供参考!根据实际情况修改相关参数
?
/* 说明:命令在主用用于监控replication性能: 1.分发服务器上执行:监控复制进程是否运行、发布服务器到分发服务器、分发到订阅服务器传递的命令数; 2.分发服务器到订阅服务器复制等待情况
*/
--********************************************************************************************** --第一部分:监控复制进程是否运行、发布服务器到分发服务器、分发到订阅服务器传递的命令数 --**********************************************************************************************
set nocount on
--新建临时表 create?? table? #result ( dbname sysname? null, name nvarchar(100)? not null, status int NOT NULL, publisher sysname?? null, publisher_db sysname?? null, publication sysname? null, start_time datetime? null, time datetime? null, duration int NULL, comments nvarchar(255) NULL, delivered_transactions int NULL, delivered_commands int NULL, delivery_rate int NULL, job_id varchar(36) NULL, delivery_latency int NULL, subscriber sysname? null, subscriber_db sysname? null, subscription_type int NULL, subscriber_type tinyint NULL, publisher_insertcount int NULL, publisher_updatecount int NULL, publisher_deletecount int NULL, publisher_conflicts int NULL, subscriber_insertcount int NULL, subscriber_updatecount int NULL, subscriber_deletecount int NULL, subscriber_conflicts int NULL, agent_type nvarchar(4000) )
--新建临时表 ? create table #qs_rep_merge ?(dbname sysname? not null ?,name nvarchar(100)? not null ?,status int NOT NULL ?,publisher sysname? not null ?,publisher_db sysname? not null ?,publication sysname? null ?,subscriber sysname? null ?,subscriber_db sysname? null ?,subscription_type int NULL ?,start_time nvarchar(24)? null ?,time nvarchar(24)? null ?,duration int NULL ?,comments nvarchar(255) NULL ?,delivery_rate int NULL ?,publisher_insertcount int NULL ?,publisher_updatecount int NULL ?,publisher_deletecount int NULL ?,publisher_conflicts int NULL ?,subscriber_insertcount int NULL ?,subscriber_updatecount int NULL ?,subscriber_deletecount int NULL ?,subscriber_conflicts int NULL ?,error_id int NULL ?,job_id binary(16) NULL ?,local_job bit NULL ?,profile_id int NOT NULL ?,agent_id int NOT NULL ?,local_timestamp binary(8) NOT NULL ?,offload_enabled bit NOT NULL ?,offload_server sysname? null ?,subscriber_type tinyint NULL ?) ? ?--新建临时表 ??? create table #qs_rep_distribution ?(dbname sysname? not null ?,comments nvarchar(4000) NULL ?,delivery_time int NULL ?,delivered_transactions int NULL ?,delivered_commands int NULL ?,average_commands int NULL ?,delivery_latency int NULL ?,error_id INT NULL ?,subscriber_type tinyint NULL ?) ? ?--新建临时表 ??create table #qs_rep_misc ?( ???? name sysname? not null ?,agent_type nvarchar(4000) ?,message nvarchar(1024) ?,start_time nvarchar(24)? null ???,run_duration int ?,local_timestamp binary(8) NOT NULL ?) ? ?--新建临时表 ??? create table #qs_rep_snapshot ?(dbname sysname? not null ?,name sysname? not null ?,publication sysname? not null ?,delivery_rate float NULL ?,dynamic_filter_login sysname NULL ?,dynamic_filter_hostname sysname NULL) ?create table #qs_rep_logreader ?(dbname sysname? not null ?,local_timestamp binary(8) NOT NULL ?) ? ?--新建临时表 ?create table #qs_rep_qreader ?(dbname sysname? not null ?,transactions_processed int NULL ?,commands_processed int NULL ?,profile_id int NULL ?,local_timestamp binary(8) NOT NULL ?) ? ? ??? declare @db_name sysname ??? declare @cmd nvarchar(1000) ?SET ANSI_WARNINGS OFF ?insert into #qs_rep_misc with (tablockx) ??? select j.name,'agent_type' = c.name, ??????????? 'status' = case isnull(jh.run_status,5) -- mapped to never run ??????????????? when 0 then 5?? -- Fail mapping ??????????????? when 1 then 2?? -- Success mapping ??????????????? when 2 then 5?? -- Retry mapping ??????????????? when 3 then 2?? -- Shutdown mapping ??????????????? when 4 then 3?? -- Inprogress mapping ??????????????? when 5 then 0?? -- Unknown is mapped to never run ??????????? end, ??????????? jh.message,'start_time' = convert(nvarchar(8),jh.run_date) + N' ' + ?????????????????????????????????????? stuff(stuff(right(convert(nvarchar(7),jh.run_time + 1000000),6),5,N':'),3,N':') + ?????????????????????????????????????? + N'.000', ??????????? jh.run_duration, ??????????? 'job_id' = convert(binary(16),j.job_id),'local_timestamp' = 0 from ??????????????? msdb..sysjobs j ??????????? LEFT OUTER JOIN msdb..sysjobhistory jh ON ??????????? j.job_id = jh.job_id and ??????????? jh.instance_id = (select max(instance_id) from msdb..sysjobhistory jh2 where ??????????????? jh2.job_id = j.job_id) ??????????? INNER JOIN msdb..syscategories c ON ??????????? j.category_id = c.category_id ??????????? where j.category_id in ( 11,12,16,17,18) ??? order by j.job_id asc ?SET ANSI_WARNINGS ON ????? ?declare hCdatabase CURSOR LOCAL FAST_FORWARD FOR ??select name from master.dbo.sysdatabases ???where ???category & 16 <> 0 and ???has_dbaccess(name) = 1 ?for read only ?open hCdatabase ?fetch next from hCdatabase into @db_name ?while (@@fetch_status <> -1) ?begin ?? ??-- 检查用户权限 ??declare @has_pm bit ??select @cmd = quotename(@db_name) + '.dbo.sp_executesql' ??exec @cmd ???N'if is_member(N''db_owner'') = 1 or is_member(N''replmonitor'') = 1 set @has_pm = 1', ???N'@has_pm bit output', ???@has_pm output ??if @has_pm = 1 ??begin ????-- 快照 ????select @cmd = 'insert into #qs_rep_snapshot with (tablockx) ' + ??????' exec ' + quotename(@db_name) + '.dbo.sp_MSenum_snapshot @show_distdb = 1' ????exec (@cmd) ????-- 日志读取 ????select @cmd = 'insert into #qs_rep_logreader with (tablockx) ' + ??????' exec ' + quotename(@db_name) + '.dbo.sp_MSenum_logreader @show_distdb = 1' ????exec (@cmd) ????-- 分发 ????select @cmd = 'insert into #qs_rep_distribution with (tablockx) ' + ??????' exec ' + quotename(@db_name) + '.dbo.sp_MSenum_distribution @show_distdb = 1,? @exclude_anonymous = 0 ' ????exec (@cmd) ????--merge ????select @cmd = 'insert into #qs_rep_merge with (tablockx) ' + ??????' exec ' + quotename(@db_name) + '.dbo.sp_MSenum_merge @show_distdb = 1,? @exclude_anonymous = 0 ' ????exec (@cmd) ??? ????select @cmd = 'insert into #qs_rep_qreader with (tablockx) ' + ??????' exec ' + quotename(@db_name) + '.dbo.sp_MSenum_qreader @show_distdb = 1' ????exec (@cmd) ??? ??end ??fetch next from hCdatabase into @db_name ?end ?close hCdatabase ?deallocate hCdatabase ?declare? @misc_list_columns varchar(4000) ?declare? @snapshot_list_columns varchar(4000) ?declare? @logreader_list_columns varchar(4000) ?declare? @distribution_list_columns varchar(4000) ?declare? @merge_list_columns varchar(4000) ?declare? @qreader_list_columns varchar(4000) ?set @misc_list_columns =?'NULL dbname ' + ????????',a.name ' + ????????',a.status ' + ????????',NULL publisher ' + ????????',NULL publisher_db ' + ????????',NULL publication ' + ????????',convert(datetime,a.start_time,121) start_time ' + ????????',121) [time] ' + ????????',a.run_duration run_duration ' + ????????',a.message comments ' + ????????',NULL delivered_transactions ' + ????????',NULL delivered_commands ' + ????????',NULL delivery_rate ' + ????????',convert(varchar(36),cast(a.job_id as uniqueidentifier)) job_id' + ????????',NULL delivery_latency ' + ????????',NULL subscriber ' + ????????',NULL subscriber_db ' + ????????',NULL subscription_type ' + ????????',NULL subscriber_type ' + ????????',NULL publisher_insertcount ' + ????????',NULL publisher_updatecount ' + ????????',NULL publisher_deletecount ' + ????????',NULL publisher_conflicts ' + ???? ???????',NULL subscriber_insertcount ' + ????????',NULL subscriber_updatecount ' + ????????',NULL subscriber_deletecount ' + ????????',NULL subscriber_conflicts ' + ????????',5 agent_type ' ?set @snapshot_list_columns = ?'dbname '+ ?????????',name '+ ?????????',status '+ ?????????',publisher '+ ?????????',publisher_db '+ ?????????',publication '+ ?????????',start_time,121) start_time '+ ?????????',[time],121) [time] '+ ?????????',duration run_duration '+ ?????????',comments '+ ?????????',delivered_transactions '+ ?????????',delivered_commands '+ ?????????',delivery_rate '+ ?????????',cast(job_id as uniqueidentifier)) job_id'+ ?????????',NULL delivery_latency '+ ?????????',NULL subscriber '+ ?????????',NULL subscriber_db '+ ?????????',NULL subscription_type '+ ?????????',NULL subscriber_type '+ ?????????',NULL publisher_insertcount '+ ?????????',NULL publisher_updatecount '+ ?????????',NULL publisher_deletecount '+ ?????????',NULL publisher_conflicts '+ ???? ????????',NULL subscriber_insertcount '+ ?????????',NULL subscriber_updatecount '+ ?????????',NULL subscriber_deletecount '+ ?????????',NULL subscriber_conflicts '+ ?????????',1 agent_type ' ?set @logreader_list_columns =?'dbname ' + ?????????',name ' + ?????????',status ' + ?????????',publisher ' + ?????????',publisher_db ' + ?????????',NULL publication ' + ?????????',121) start_time ' + ?????????',121) [time] ' + ?????????',duration run_duration ' + ?????????',comments ' + ?????????',delivered_transactions ' + ?????????',delivered_commands ' + ?????????',delivery_rate ' + ?????????',cast(job_id as uniqueidentifier)) job_id' + ?????????',delivery_latency ' + ?????????',NULL subscriber ' + ?????????',NULL subscriber_db ' + ?????????',NULL subscription_type ' + ?????????',NULL subscriber_type ' + ?????????',NULL publisher_insertcount ' + ?????????',NULL publisher_updatecount ' + ?????????',NULL publisher_deletecount ' + ?????????',NULL publisher_conflicts ' + ???? ????????',NULL subscriber_insertcount ' + ?????????',NULL subscriber_updatecount ' + ?????????',NULL subscriber_deletecount ' + ?????????',NULL subscriber_conflicts ' + ?????????',2 agent_type ' ?set @distribution_list_columns =?'dbname '+ ??????????',name '+ ??????????',status '+ ??????????',publisher '+ ??????????',publisher_db '+ ??????????',publication '+ ??????????',121) start_time '+ ??????????',121) [time] '+ ??????????',duration run_duration '+ ??????????',comments '+ ??????????',delivered_transactions '+ ??????????',delivered_commands '+ ??????????',delivery_rate '+ ??????????',cast(job_id as uniqueidentifier)) job_id'+ ??????????',delivery_latency '+ ??????????',subscriber '+ ??????????',subscriber_db '+ ??????????',subscription_type '+ ??????????',NULL subscriber_type '+ ??????????',NULL publisher_insertcount '+ ??????????',NULL publisher_updatecount '+ ??????????',NULL publisher_deletecount '+ ??????????',NULL publisher_conflicts '+ ???? ?????????',NULL subscriber_insertcount '+ ??????????',NULL subscriber_updatecount '+ ??????????',NULL subscriber_deletecount '+ ??????????',NULL subscriber_conflicts '+ ??????????',3 agent_type ' ?set @merge_list_columns =??'dbname '+ ?????????',NULL delivered_transactions '+ ?????????',NULL delivered_commands '+ ?????????',subscriber '+ ?????????',subscriber_db '+ ?????????',subscription_type '+ ?????????',publisher_insertcount '+ ?????????',publisher_updatecount '+ ?????????',publisher_deletecount '+ ?????????',publisher_conflicts '+ ???? ????????',subscriber_insertcount '+ ?????????',subscriber_updatecount '+ ?????????',subscriber_deletecount '+ ?????????',subscriber_conflicts '+ ?????????',4 agent_type ' ?set @qreader_list_columns =??'dbname '+ ?????????',NULL publisher '+ ?????????',NULL publisher_db '+ ?????????',NULL publication '+ ?????????',delivery_latency '+ ?????????',9 agent_type ' ?? ??set nocount off ?? ?? ?? ??insert into #result ??exec( ??' select ' +? @misc_list_columns + ??' from #qs_rep_misc a with (tablockx),msdb..sysjobs b ' + ??' where a.job_id = b.job_id ' + ??' and b.category_id in (10,11,18)' + ??' union all ' + ??' select ' + @snapshot_list_columns + ??' from #qs_rep_snapshot with (tablockx) ' + ??' union all ' + ??' select ' + @logreader_list_columns + ??' from #qs_rep_logreader with (tablockx) ' + ??' union all ' + ??' select ' + @distribution_list_columns + ??' from #qs_rep_distribution with (tablockx) ' + ??' union all ' + ??' select ' + @merge_list_columns + ??' from #qs_rep_merge with (tablockx) ' + ??' union all ' + ??' select ' + @qreader_list_columns + ??' from #qs_rep_qreader with (tablockx) ') ??
?
select?? dbname as [数据库名],name as [作业名], case status when 3 then '正在运行(复制)' when 2 then '未运行' when NULL then '未知' end as [状态], publisher as [发布服务器], publisher_db as [发布数据库], isnull(publication,'日志读取') as [发布名], comments as [说明],subscriber as [订阅服务器], subscriber_db as [订阅数据库] from #result where publisher_db? is not null and agent_type=3 union all select?? dbname as [数据库名], case status when 3 then '正在运行(日志读取)' when 2 then '未运行' when NULL then '未知' end as [状态], subscriber_db as [订阅数据库] from #result where publisher_db? is not null and agent_type=2
drop table #qs_rep_merge drop table #qs_rep_distribution drop table #qs_rep_misc drop table #qs_rep_snapshot drop table #qs_rep_logreader drop table #qs_rep_qreader drop table? #result go
--********************************************************************************************** --第二部分:监控复制进程是否运行、发布服务器到分发服务器、分发到订阅服务器传递的命令数
--**********************************************************************************************
/*
说明:根据自己环境需要定义下面变量: set? @inactive=1? --默认不变 set? @virtual=-1? --默认不变 set @publisher='dbclu'? --发布服务器名 set @publisher_db='jin'? --发布数据库 set @publication='jinpolicy'? --发布名称 set @subscriber='jin81'? --订阅服务器名 set @subscriber_db='jin'? --订阅数据库 set @subscription_type=0? --默认不变
--------新建临时表(不同名)
*/
----2.1 监视第一台订阅服务器
use distribution declare? @publisher sysname declare @publisher_db sysname declare @publication sysname declare @subscriber sysname declare @subscriber_db sysname declare @subscription_type int declare @retcode int? declare @agent_id int? declare @publisher_id int? declare @subscriber_id int? declare @lastrunts timestamp? declare @avg_rate float? declare @xact_seqno varbinary(16)? declare @inactive int?? declare @virtual int
set? @inactive=1 set? @virtual=-1 set @publisher='dbclu' set @publisher_db='jin' set @publication='jinpolicy' set @subscriber='jin81' set @subscriber_db='jin' set @subscription_type=0 set nocount on
--------新建临时表(不同名) ??? create table #t001 ??? ( ??? subname sysname, ??? waits int, ??? est int ??? ) ??? ??? if (@subscription_type not in (0,1))? ??? begin? ??????? raiserror(14200,'@subscription_type')? ??????? return ??? end? ? ??? select @publisher_id = server_id from sys.servers where upper(name) = upper(@publisher)? ??? if (@publisher_id is null)? ??? begin? ??????? raiserror(21618,-1,@publisher)? ??????? return?? ??? end? ??? select @subscriber_id = server_id from sys.servers where upper(name) = upper(@subscriber)? ??? if (@subscriber_id is null)? ??? begin? ??????? raiserror(20032,@subscriber,@publisher)? ??????? return? ??? end? ??? --? ??? -- 获得agentID ??? --? ??? select @agent_id = id? ??? from dbo.MSdistribution_agents?? ??? where publisher_id = @publisher_id?? ??????? and publisher_db = @publisher_db? ??????? and publication in (@publication,'ALL')? ??????? and subscriber_id = @subscriber_id? ??????? and subscriber_db = @subscriber_db? ??????? and subscription_type = @subscription_type? ??? if (@agent_id is null)? ??? begin? ??????? raiserror(14055,-1)? ??????? return?? ??? end;? ??? --? ??? -- 计算时间 ??? --? ??? with dist_sessions (start_time,runstatus,timestamp)? ??? as? ??? (? ??????? select start_time,max(runstatus),max(timestamp)?? ??????? from dbo.MSdistribution_history? ??????? where agent_id = @agent_id? ??????? group by start_time?? ??? )? ??? select @lastrunts = max(timestamp)? ??? from dist_sessions? ??? where runstatus in (2,4);? ??? if (@lastrunts is null)? ??? begin? ??????? if exists (select *? ??????????????????? from dbo.MSpublications p join dbo.MSsubscriptions s on p.publication_id = s.publication_id? ??????????????????? where p.publisher_id = @publisher_id?? ??????????????????????? and p.publisher_db = @publisher_db? ??????????????????????? and p.publication = @publication? ??????????????????????? and p.immediate_sync = 1? ?????? and s.status = @inactive and s.subscriber_id = @virtual)?? ??????? begin? ????? select 'pendingcmdcount' = 0,N'estimatedprocesstime' = 0? ????? return?? ??????? end? ? ??????? select @lastrunts = max(timestamp)? ??????? from dbo.MSdistribution_history? ??????? where agent_id = @agent_id? ??? end? ? ??? select @xact_seqno = xact_seqno? ???????????,@avg_rate = delivery_rate? ??? from dbo.MSdistribution_history? ??? where agent_id = @agent_id? ??????? and timestamp = @lastrunts?
??? select @xact_seqno = isnull(@xact_seqno,0x0)? ???????????,@avg_rate = isnull(@avg_rate,0.0)?
??? if (@avg_rate = 0.0)? ??? begin? ??????? select @avg_rate = isnull(avg(delivery_rate),0.0)? ??????? from dbo.MSdistribution_history? ??????? where agent_id = @agent_id? ??? end? ? --------新建临时表(不同名) ??? create table #countab (pendingcmdcount int ) ??? ??? insert into #countab (pendingcmdcount)? ??????? exec @retcode = sys.sp_MSget_repl_commands?? ??????????????????????????????????? @agent_id = @agent_id? ???????????????????????????????????,@last_xact_seqno = @xact_seqno? ???????????????????????????????????,@get_count = 2? ???????????????????????????????????,@compatibility_level = 9000000? ??????????????????????????????????? ??????????????????????????????????? ??? if (@retcode != 0 or @@error != 0)? ??????? return ??? --? ??? -- compute the time to process? ??? -- return the resultset? ??? --? --------新建临时表(不同名) ??? create table #subname(subscriber char(30)) ??? insert into #subname (subscriber) values(@subscriber) ???? ???? insert into #t001 ??? select?? subscriber as '订阅名', ??????? pendingcmdcount? as [等待的命令数] ???????,N'估计秒数' = case when (@avg_rate != 0.0)?? ???????? then cast((cast(pendingcmdcount as float) / @avg_rate) as int)? ???????? else pendingcmdcount end? ??? from #countab,#subname ? --------删除临时表? ??? drop table #countab ??? drop table #subname
----2.2 监视第二台订阅服务器
set? @inactive=1 set? @virtual=-1 set @publisher='dbclu' set @publisher_db='jin' set @publication='dbtc' set @subscriber='dbtc' set @subscriber_db='policy' set @subscription_type=0 set nocount on --------新建临时表(不同名) ??? create table #t002 ??? ( ??? subname sysname, ??? est int ??? ) if (@subscription_type not in (0,@publisher)? ??????? return? ??? end?
??? select @agent_id = id? ??? from dbo.MSdistribution_agents?? ??? where publisher_id = @publisher_id?? ??????? and publisher_db = @publisher_db? ??????? and publication in (@publication,-1)? ??????? return?? ??? end;?
??? with dist_sessions (start_time,4);? ??? if (@lastrunts is null)? ??? begin?
??????? if exists (select *? ??????????????????? from dbo.MSpublications p join dbo.MSsubscriptions s on p.publication_id = s.publication_id? ??????????????????? where p.publisher_id = @publisher_id?? ??????????????????????? and p.publisher_db = @publisher_db? ??????????????????????? and p.publication = @publication? ??????????????????????? and p.immediate_sync = 1? ?????? and s.status = @inactive and s.subscriber_id = @virtual)?? ??????? begin? ????? select 'pendingcmdcount' = 0,N'estimatedprocesstime' = 0? ????? return?? ??????? end? ? ??????? select @lastrunts = max(timestamp)? ??????? from dbo.MSdistribution_history? ??????? where agent_id = @agent_id? ??? end?
??? select @xact_seqno = xact_seqno? ???????????,0.0)? ??????? from dbo.MSdistribution_history? ??????? where agent_id = @agent_id? ??? end?
--------新建临时表(不同名) ??? create table #countab1 (pendingcmdcount int ) ??? insert into #countab1 (pendingcmdcount)? ??????? exec @retcode = sys.sp_MSget_repl_commands?? ??????????????????????????????????? @agent_id = @agent_id? ???????????????????????????????????,@compatibility_level = 9000000? ??????????????????????????????????? ??????????????????????????????????? ??? if (@retcode != 0 or @@error != 0)? ??????? return ??? --? ??? -- compute the time to process? ??? -- return the resultset? ??? --? --------新建临时表(不同名) ??? create table #subname1(subscriber char(30)) ??? insert into #subname1 (subscriber) values(@subscriber) ???? ??? insert into #t002 ??? select?? subscriber as '订阅名',N'估计秒数' = case when (@avg_rate != 0.0)?? ???????? then cast((cast(pendingcmdcount as float) / @avg_rate) as int)? ???????? else pendingcmdcount end? ??? from #countab1,#subname1 --------删除临时表 ??? drop table #countab1 ??? drop table #subname1 ??? ? ?----2.3 监视第三台订阅服务器 set? @inactive=1 set? @virtual=-1 set @publisher='dbclu' set @publisher_db='jin' set @publication='rate168' set @subscriber='dell' set @subscriber_db='jin' set @subscription_type=0 set nocount on
--------新建临时表(不同名) ??? create table #t003 ??? ( ??? subname sysname,@publisher)? ??????? return? ??? end? ? ??? select @agent_id = id? ??? from dbo.MSdistribution_agents?? ??? where publisher_id = @publisher_id?? ??????? and publisher_db = @publisher_db? ??????? and publication in (@publication,-1)? ??????? return?? ??? end;? ? ??? with dist_sessions (start_time,@avg_rate = delivery_rate? ??? from dbo.MSdistribution_history? ??? where agent_id = @agent_id? ??????? and timestamp = @lastrunts? ? ??? select @xact_seqno = isnull(@xact_seqno,0.0)? ? ??? if (@avg_rate = 0.0)? ??? begin? ??????? select @avg_rate = isnull(avg(delivery_rate),0.0)? ??????? from dbo.MSdistribution_history? ??????? where agent_id = @agent_id? ??? end?
--------新建临时表(不同名) ??? create table #countab2 (pendingcmdcount int ) ??? ??? insert into #countab2 (pendingcmdcount)? ??????? exec @retcode = sys.sp_MSget_repl_commands?? ??????????????????????????????????? @agent_id = @agent_id? ???????????????????????????????????,@last_xact_seqno = @xact_seqno? ???????????????????????????????????,@get_count = 2? ???????????????????????????????????,@compatibility_level = 9000000? ??????????????????????????????????? ??????????????????????????????????? ??? if (@retcode != 0 or @@error != 0)? ??????? return ? --------新建临时表(不同名) ??? create table #subname2(subscriber char(30)) ??? insert into #subname2 (subscriber) values(@subscriber) ???? ???? insert into #t003 ??? select?? subscriber as '订阅名',??????? pendingcmdcount? as [等待的命令数] ???????,N'估计秒数' = case when (@avg_rate != 0.0)?? ???????? then cast((cast(pendingcmdcount as float) / @avg_rate) as int)? ???????? else pendingcmdcount end? ??? from #countab2,#subname2 ??? --------删除临时表??? ??? drop table #countab2 ??? drop table #subname2 ? ? -----合并所有数据 ??? select c.subname as [订阅名],c.waits as [等待的命令数],c.est as [估计秒数]? from ??? ( ??? select * from #t001 ?union all ?? select * from #t002 ?? union all ?? select * from #t003 ?? ) c --------删除临时表??? ? drop table #t001 ? drop table #t002 ? drop table #t003 ???
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|