复制同步查询脚本

--查询一个库有那些同步

USE TEST
GO
SELECT sct.dest_db ,srt.dest_owner , srt.name , sct.srvname,  pub.pubid , srt.dest_table --,srt.artid ,sct.artid
FROM syspublications as pub  WITH(NOLOCK)
inner join sysarticles  as srt WITH(NOLOCK) on  pub.pubid = srt.pubid
inner join syssubscriptions  sct with(nolock) on srt.artid = sct.artid
GROUP BY sct.srvname , pub.pubid ,srt.dest_owner , srt.name , srt.dest_table ,sct.dest_db


/*

利用脚本对数据进行订阅
一个库,只有一个 LogReader
只有这个库上有同步,就不能去动 Logreader

USE TEST
EXEC dbo.sp_addlogreader_agent 
        @job_login = NULL, 
        @job_password = NULL, 
        @publisher_security_mode = 1
这个,可以把 LogReader 加上去,但是这样做不保险,因为从你删除到加回去这之间的日志,并不一定会被读到
所以还是要重建一次才能比较放心 

另外关于JOB停止与删除的区别:

停了,只是某种原因导致它没有在删除,启动起来就会继续工作
删除后根本就没job了,所以根本没法执行的

*/

---附:-根据SP来检查用的那个作业

SELECT * 
FROM msdb.dbo.sysjobs JOB WITH(NOLOCK) 
INNER JOIN msdb.dbo.sysjobsteps STP WITH(NOLOCK) 
ON STP.job_id = JOB.job_id 
WHERE STP.command LIKE N'%存储过程名%'

你可能感兴趣的:(脚本)