{"id":2122,"date":"2018-03-19T07:31:17","date_gmt":"2018-03-19T11:31:17","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/jonathan\/?p=2122"},"modified":"2018-03-19T07:49:12","modified_gmt":"2018-03-19T11:49:12","slug":"simplifying-availability-group-troubleshooting","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/","title":{"rendered":"Simplifying Availability Group Troubleshooting"},"content":{"rendered":"<p>The AlwaysOn_health event session in Extended Events is intended to make analyzing problems with Availability Groups possible after they have occurred.\u00a0 While this event session goes a long way towards making it possible to piece together the puzzle of what went wrong in a lot of situations, it can still be a difficult task.\u00a0 One of the things I wish Microsoft had included in the AlwaysON_health event session definition is the sqlserver.server_instance_name action for every event, and this is something that I usually recommend clients add to each of their AG servers using a script after I work with them the first time.\u00a0 Why would this be useful, since if the files come from a specific server we should know the events are for that server right? Well, when we are working with AG configurations with more than two servers and trying to see the big picture of what is happening across the servers, it can be difficult to follow timelines with multiple files from multiple servers open.\u00a0 It\u2019s not impossible, but it does make things more difficult.<\/p>\n<h1>Merging Extended Events Files<\/h1>\n<p>When the UI for Extended Events was introduced in SSMS 2012, Microsoft included the ability to merge multiple XEL files into a single view in the UI, which can be really useful during AG problem analysis. All you have to do is grab the AlwaysOn_health*.xel files from each of the replica servers, copy them into a folder and point the UI to the folder using the File &gt; Open &gt; Merge Extended Event Files\u2026 menu item and you can see all of the events from all of the servers in a single place.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image.png\"><img decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb.png\" alt=\"image\" width=\"244\" height=\"68\" border=\"0\" \/><\/a><\/p>\n<h1>Adding server_instance_name to Events<\/h1>\n<p>EXCEPT\u2026. there is no server instance name contained in the events by default so this becomes of limited use without modifying the AlwaysOn_health event session to add the sqlserver.server_instance_name action to all of the events.\u00a0 This is easily accomplished in the UI using the multi-select options of the Configure tab on the event session properties as shown below, or may also be accomplished using the simple DDL script included at the bottom of this post.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image-1.png\"><img decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb-1.png\" alt=\"image\" width=\"244\" height=\"160\" border=\"0\" \/><\/a><\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nALTER EVENT SESSION &#x5B;AlwaysOn_health] ON SERVER \r\nDROP EVENT sqlserver.alwayson_ddl_executed, \r\nDROP EVENT sqlserver.availability_group_lease_expired, \r\nDROP EVENT sqlserver.availability_replica_automatic_failover_validation, \r\nDROP EVENT sqlserver.availability_replica_manager_state_change, \r\nDROP EVENT sqlserver.availability_replica_state, \r\nDROP EVENT sqlserver.availability_replica_state_change, \r\nDROP EVENT sqlserver.error_reported, \r\nDROP EVENT sqlserver.hadr_db_partner_set_sync_state, \r\nDROP EVENT sqlserver.lock_redo_blocked;\r\nGO\r\n\r\nALTER EVENT SESSION &#x5B;AlwaysOn_health] ON SERVER \r\nADD EVENT sqlserver.alwayson_ddl_executed(\r\n    ACTION(sqlserver.server_instance_name)), \r\nADD EVENT sqlserver.availability_group_lease_expired(\r\n    ACTION(sqlserver.server_instance_name)), \r\nADD EVENT sqlserver.availability_replica_automatic_failover_validation(\r\n    ACTION(sqlserver.server_instance_name)), \r\nADD EVENT sqlserver.availability_replica_manager_state_change(\r\n    ACTION(sqlserver.server_instance_name)), \r\nADD EVENT sqlserver.availability_replica_state(\r\n    ACTION(sqlserver.server_instance_name)), \r\nADD EVENT sqlserver.availability_replica_state_change(\r\n    ACTION(sqlserver.server_instance_name)), \r\nADD EVENT sqlserver.error_reported(\r\n    ACTION(sqlserver.server_instance_name)\r\n    WHERE (&#x5B;error_number]=(9691) OR &#x5B;error_number]=(35204) OR &#x5B;error_number]=(9693) OR &#x5B;error_number]=(26024) OR &#x5B;error_number]=(28047) OR &#x5B;error_number]=(26023) OR &#x5B;error_number]=(9692) OR &#x5B;error_number]=(28034) OR &#x5B;error_number]=(28036) OR &#x5B;error_number]=(28048) OR &#x5B;error_number]=(28080) OR &#x5B;error_number]=(28091) OR &#x5B;error_number]=(26022) OR &#x5B;error_number]=(9642) OR &#x5B;error_number]=(35201) OR &#x5B;error_number]=(35202) OR &#x5B;error_number]=(35206) OR &#x5B;error_number]=(35207) OR &#x5B;error_number]=(26069) OR &#x5B;error_number]=(26070) OR &#x5B;error_number]&gt;(41047) AND &#x5B;error_number]&lt;(41056) OR &#x5B;error_number]=(41142) OR &#x5B;error_number]=(41144) OR &#x5B;error_number]=(1480) OR &#x5B;error_number]=(823) OR &#x5B;error_number]=(824) OR &#x5B;error_number]=(829) OR &#x5B;error_number]=(35264) OR &#x5B;error_number]=(35265) OR &#x5B;error_number]=(41188) OR &#x5B;error_number]=(41189))), \r\nADD EVENT sqlserver.hadr_db_partner_set_sync_state(\r\n    ACTION(sqlserver.server_instance_name)), \r\nADD EVENT sqlserver.lock_redo_blocked(\r\n    ACTION(sqlserver.server_instance_name))\r\nGO\r\n\r\n<\/pre>\n<p>Once the event session is modified, the files can easily be merged together in the UI for all future troubleshooting and each event will have the originating server_instance_name attached to it by the action.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The AlwaysOn_health event session in Extended Events is intended to make analyzing problems with Availability Groups possible after they have occurred.\u00a0 While this event session goes a long way towards making it possible to piece together the puzzle of what went wrong in a lot of situations, it can still be a difficult task.\u00a0 One [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,19,23,39,50,53],"tags":[],"class_list":["post-2122","post","type-post","status-publish","format-standard","hentry","category-availability-groups","category-database-administration","category-extended-events","category-sql-server-2012","category-sql-server-2014","category-sql-server-2016"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Simplifying Availability Group Troubleshooting - Jonathan Kehayias<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simplifying Availability Group Troubleshooting - Jonathan Kehayias\" \/>\n<meta property=\"og:description\" content=\"The AlwaysOn_health event session in Extended Events is intended to make analyzing problems with Availability Groups possible after they have occurred.\u00a0 While this event session goes a long way towards making it possible to piece together the puzzle of what went wrong in a lot of situations, it can still be a difficult task.\u00a0 One [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Kehayias\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-19T11:31:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-19T11:49:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb.png\" \/>\n<meta name=\"author\" content=\"Jonathan Kehayias\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Kehayias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/\"},\"author\":{\"name\":\"Jonathan Kehayias\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"headline\":\"Simplifying Availability Group Troubleshooting\",\"datePublished\":\"2018-03-19T11:31:17+00:00\",\"dateModified\":\"2018-03-19T11:49:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/\"},\"wordCount\":694,\"commentCount\":3,\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2018\\\/03\\\/image_thumb.png\",\"articleSection\":[\"Availability Groups\",\"Database Administration\",\"Extended Events\",\"SQL Server 2012\",\"SQL Server 2014\",\"SQL Server 2016\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/\",\"name\":\"Simplifying Availability Group Troubleshooting - Jonathan Kehayias\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2018\\\/03\\\/image_thumb.png\",\"datePublished\":\"2018-03-19T11:31:17+00:00\",\"dateModified\":\"2018-03-19T11:49:12+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2018\\\/03\\\/image_thumb.png\",\"contentUrl\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2018\\\/03\\\/image_thumb.png\",\"width\":244,\"height\":68},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/simplifying-availability-group-troubleshooting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Availability Groups\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/category\\\/availability-groups\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Simplifying Availability Group Troubleshooting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\",\"name\":\"Jonathan Kehayias - The Rambling DBA\",\"description\":\"The Rambling DBA\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\",\"name\":\"Jonathan Kehayias\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"caption\":\"Jonathan Kehayias\"},\"sameAs\":[\"http:\\\/\\\/3.209.169.194\\\/blogs\\\/jonathan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Simplifying Availability Group Troubleshooting - Jonathan Kehayias","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/","og_locale":"en_US","og_type":"article","og_title":"Simplifying Availability Group Troubleshooting - Jonathan Kehayias","og_description":"The AlwaysOn_health event session in Extended Events is intended to make analyzing problems with Availability Groups possible after they have occurred.\u00a0 While this event session goes a long way towards making it possible to piece together the puzzle of what went wrong in a lot of situations, it can still be a difficult task.\u00a0 One [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/","og_site_name":"Jonathan Kehayias","article_published_time":"2018-03-19T11:31:17+00:00","article_modified_time":"2018-03-19T11:49:12+00:00","og_image":[{"url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb.png","type":"","width":"","height":""}],"author":"Jonathan Kehayias","twitter_misc":{"Written by":"Jonathan Kehayias","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#article","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/"},"author":{"name":"Jonathan Kehayias","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"headline":"Simplifying Availability Group Troubleshooting","datePublished":"2018-03-19T11:31:17+00:00","dateModified":"2018-03-19T11:49:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/"},"wordCount":694,"commentCount":3,"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb.png","articleSection":["Availability Groups","Database Administration","Extended Events","SQL Server 2012","SQL Server 2014","SQL Server 2016"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/","name":"Simplifying Availability Group Troubleshooting - Jonathan Kehayias","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb.png","datePublished":"2018-03-19T11:31:17+00:00","dateModified":"2018-03-19T11:49:12+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#primaryimage","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb.png","contentUrl":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2018\/03\/image_thumb.png","width":244,"height":68},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/simplifying-availability-group-troubleshooting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/"},{"@type":"ListItem","position":2,"name":"Availability Groups","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/category\/availability-groups\/"},{"@type":"ListItem","position":3,"name":"Simplifying Availability Group Troubleshooting"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/","name":"Jonathan Kehayias - The Rambling DBA","description":"The Rambling DBA","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c","name":"Jonathan Kehayias","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","caption":"Jonathan Kehayias"},"sameAs":["http:\/\/3.209.169.194\/blogs\/jonathan"]}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/2122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/comments?post=2122"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/2122\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/media?parent=2122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/categories?post=2122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/tags?post=2122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}