--get list of the possible databases by querying the publisher SELECT * FROM distribution.dbo.MSpublisher_databases --Now figure out what the article number is --the database name there is the database that the publication is in. Replication_Master..sp_helparticle @publication = 'User_Profiles' --Now that you have the publisher database ID (step 1) and the article id (step 2) --get the list of commands. EXEC distribution..sp_browsereplcmds @publisher_database_id = 2, @article_id = 369 --And if you're really lucky, in sqlmonitor you'll get the following: --(Transaction sequence number: 0x00018A0500009072002A00000000, Command ID: 1) --in which case... EXEC distribution..sp_browsereplcmds @publisher_database_id = 2, @article_id = 369, @xact_seqno_start = '0x00018A0500009072002A00000000', @xact_seqno_end = '0x00018A0500009072002A00000000' --(set both start and end to the same value, the one in the error message)
-----------
simplified version 2013/07/12
was having more problems.
first, look at commands:
use distribution
select top 1000 * from dbo.MSrepl_commands ORDER BY command_id DESC
Now, from there we have two options. The first gives you the name of the problem child.
SELECT * FROM distribution.dbo.MSpublisher_databases SELECT * FROM dbo.MSarticles ORDER BY article_id
The second gives you the exact commands run
EXEC distribution..sp_browsereplcmds @publisher_database_id = 6, @article_id = 338, @xact_seqno_start = '0x0005334A0000049B0001', @xact_seqno_end = '0x0005334A0000049B0001' --begin and end seqno will be the same.
and if you need to remove old records because you're running out of space and just did a bunch of changes....
(remembering that it saves all the commands for 72 hours by default)
EXEC dbo.sp_MSdistribution_cleanup @min_distretention = 0, @max_distretention = 50
No comments:
Post a Comment