{"id":1754,"date":"2023-05-17T10:31:43","date_gmt":"2023-05-17T08:31:43","guid":{"rendered":"https:\/\/www.web-workers.ch\/?p=1754"},"modified":"2023-05-17T10:31:43","modified_gmt":"2023-05-17T08:31:43","slug":"exchange-2013-2016-2019-eventid-22004-msexchangetransport-the-periodic-heartbeat-to-primary-server-ex-002-domain-local-failed","status":"publish","type":"post","link":"https:\/\/www.web-workers.ch\/index.php\/2023\/05\/17\/exchange-2013-2016-2019-eventid-22004-msexchangetransport-the-periodic-heartbeat-to-primary-server-ex-002-domain-local-failed\/","title":{"rendered":"Exchange 2013\/2016\/2019 &#8211; EventID 22004 &#8211; MSExchangeTransport: The periodic heartbeat to primary server ex-002.domain.local failed."},"content":{"rendered":"\n<p><span>On some morning we experienced following eventlog records on a primary\/active MS-Exchange 2019 server. The server is the primary server in a redundant DAG (database availability group).<\/span><\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-plain\" data-lang=\"Plain Text\"><code>Log Name: Application\nSource: MSExchangeTransport\nDate: 17.05.2023 09:13:06\nEvent ID: 22004\nTask Category: ShadowRedundancy\nLevel: Warnung\nKeywords: Klassisch\nUser: N\/A\nComputer: EX-001.domain.local\nDescription:\nThe periodic heartbeat to primary server ex-002.ad.sehag.ch.\nEvent Xml:\n22004 3 22 0x80000000000000 15988867 Application EX-001.domain.local ex-002.domain.local<\/code><\/pre>\n<\/div>\n\n\n\n<p>Following toubleshooting steps has been executed via Exchange Management Shell:<\/p>\n<p>1. List all message queues<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-plain\" data-lang=\"Plain Text\"><code>[PS] C:\\Windows\\system32&gt;Get-Queue\n\nIdentity DeliveryType Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain\n-------- ------------ ------ ------------ -------- --------- -------------- -------------\nEX-001\\4 SmtpDeliveryToMailbox Ready 0 0 Normal 0 db01\nEX-001\\Submission Undefined Ready 0 0 Normal 0 \u00dcbermittlung\nEX-001\\Shadow\\3 ShadowRedundancy Ready 16 0 Normal 0 ex-002.domain.local\n<\/code><\/pre>\n<\/div>\n<p>The interesting queue is <code>EX-001\\Shadow\\3<\/code><\/p>\n<p>2. List the transport configuration of the related queue<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-plain\" data-lang=\"Plain Text\"><code>[PS] C:\\Windows\\system32&gt;Get-TransportConfig | FL Identity,*Shadow*\n\nIdentity : Transport Settings\nShadowRedundancyEnabled : True\nShadowHeartbeatTimeoutInterval : 00:15:00\nShadowHeartbeatRetryCount : 12\nShadowHeartbeatFrequency : 00:02:00\nShadowResubmitTimeSpan : 03:00:00\nShadowMessageAutoDiscardInterval : 2.00:00:00\nRejectMessageOnShadowFailure : False\nShadowMessagePreferenceSetting : PreferRemote\nMaxRetriesForLocalSiteShadow : 2\nMaxRetriesForRemoteSiteShadow : 4<\/code><\/pre>\n<\/div>\n<p>3. List the stucked messages in the queue<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-plain\" data-lang=\"Plain Text\"><code>[PS] C:\\Windows\\system32&gt;Get-Queue\n\nIdentity                DeliveryType          Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain\n--------                ------------          ------ ------------ -------- --------- -------------- -------------\nEX-001\\4          SmtpDeliveryToMailbox Ready  0            0        Normal    0              db01\nEX-001\\Submission Undefined             Ready  0            0        Normal    0              \u00dcbermittlung\nEX-001\\Shadow\\3   ShadowRedundancy      Ready  16           0        Normal    0              ex-002.domain.local<\/code><\/pre>\n<\/div>\n<p>4. Resubmit all messages in <code>EX-001\\Shadow\\3<\/code><\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-plain\" data-lang=\"Plain Text\"><code>[PS] C:\\Windows\\system32&gt;Retry-Queue \"EX-001\\Shadow\\3\" -Resubmit $True<\/code><\/pre>\n<\/div>\n<p>5. Recheck the queue<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-plain\" data-lang=\"Plain Text\"><code>[PS] C:\\Windows\\system32&gt;Get-Queue\n\nIdentity DeliveryType Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain\n-------- ------------ ------ ------------ -------- --------- -------------- -------------\nEX-001\\4 SmtpDeliveryToMailbox Ready 0 0 Normal 0 db01\nEX-001\\7 SmartHostConnectorDelivery Ready 0 0 Normal 0 [172.25.10.35]\nEX-001\\Submission Undefined Ready 0 0 Normal 0 \u00dcbermittlung\nEX-001\\Shadow\\3 ShadowRedundancy Ready 0 0 Normal 0 ex-002.domain.local<\/code><\/pre>\n<\/div>\n<p>In case the queue does not clean up, take following actions:<\/p>\n<ul>\n<li>Check all receive connectors and make sure default connectors are enabled on the primary server.<\/li>\n<li>Proceed with troubleshooting on receive connectors.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On some morning we experienced following eventlog records on a primary\/active MS-Exchange 2019 server. The server is the primary server in a redundant DAG (database availability group). Log Name: Application [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1290,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[138],"tags":[139,177],"class_list":["post-1754","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-exchange-server","tag-exchange","tag-shadowqueue"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.web-workers.ch\/wp-content\/uploads\/2021\/07\/post-exchange-20161.jpg?fit=710%2C315&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8sxjX-si","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/posts\/1754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/comments?post=1754"}],"version-history":[{"count":6,"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/posts\/1754\/revisions"}],"predecessor-version":[{"id":1762,"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/posts\/1754\/revisions\/1762"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/media\/1290"}],"wp:attachment":[{"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/media?parent=1754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/categories?post=1754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.web-workers.ch\/index.php\/wp-json\/wp\/v2\/tags?post=1754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}