--查询一个库有那些同步
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'%存储过程名%'