Príznaky
Uložená procedúra sp_replmonitorsubscriptionpendingcmds nie je kompatibilná s replikáciou technológie peer-to-peer (P2P). Vráti nesprávny počet čakajúcich príkazov. Po použití tejto opravy bude sp_replmonitorsubscriptionpendingcmds kompatibilný s replikáciou P2P.
Poznámka: Karta Nerušené príkazy na monitore replikácie vyvolá sp_replmonitorsubscriptionpendingcmds na pozadí.
Riešenie
Informácie o kumulatívnej aktualizácii
Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
PoznámkaPo použití tejto kumulatívnej aktualizácie môže sp_replmonitorsubscriptionpendingcmds napriek tomu nahlásiť nesprávny počet čakajúcich príkazov na replikáciu P2P, ak tabuľka MSrepl_originators obsahuje zastarané položky.
Ak tabuľka MSrepl_originators obsahuje zastarané položky, spustením sp_replmonitorsubscriptionpendingcmds sa v denníku chýb SQL Server vygeneruje nasledujúce hlásenie s upozornením:
Upozornenie: Nepodarilo sa získať verziu databázy pre databázu odberu <database_name>. Sp_replmonitorsubscriptionpendingcmds môže nahlásiť nesprávny počet čakajúcich príkazov na replikáciu P2P.
Ak chcete vyriešiť tento problém, odstráňte zastarané položky z MSrepl_originators alebo po spustení sp_replmonitorsubscriptionpendingcmds zadajte správnu "dbversion" databázy odberu ako argument subdb_version.
Tipy: Môžete vybrať niektorú z nasledujúcich metód na vyhľadanie "dbversion" databázy odberu:
-
V distribučnej databáze spustite nasledujúci dotaz: select dbversion from MSrepl_originators
where publisher_database_id = <Publisher_Database_ID>
and srvname = <Subscriber_Server>
and dbname = <Subscriber_Database>
Poznámka: V prípade <Publisher_Database_ID>, <Subscriber_Server> a <Subscriber_Database> je potrebné nahradiť príslušné hodnoty. -
V databáze odberu spustite nasledujúci dotaz: declare @current_version int , @currentGuid uniqueidentifier
select @currentGuid = recovery_fork_guid
from sys.database_recovery_status
where database_id = db_id()
select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)
print @current_version
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli v predchádzajúcej zostave. Odporúčame nainštalovať najnovšiu zostavu pre svoju verziu SQL Server:
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Získajte informácie o terminológii , ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.