{"id":692,"date":"2024-08-13T08:00:00","date_gmt":"2024-08-13T13:00:00","guid":{"rendered":"https:\/\/www.sqltabletalk.com\/?p=692"},"modified":"2024-08-08T22:36:38","modified_gmt":"2024-08-09T03:36:38","slug":"enhancing-data-integrity-automatic-page-repair-with-sql-server-always-on-availability-groups","status":"publish","type":"post","link":"https:\/\/www.sqltabletalk.com\/?p=692","title":{"rendered":"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.<\/p>\n<h2>How Automatic Page Repair Works<\/h2>\n<p>Automatic Page Repair is an automated process that SQL Server uses to resolve page corruption issues without requiring manual intervention from a database administrator. By automating the repair process, SQL Server ensures that databases can continue operating with minimal disruption. Let\u2019s look at how this process unfolds.<\/p>\n<h3>Detection of Corruption<\/h3>\n<p>The first step in Automatic Page Repair is the detection of a corrupted page. When SQL Server encounters a page that cannot be read correctly due to corruption, it takes several actions:<\/p>\n<ol>\n<li><strong>Log the Corruption:<\/strong><br \/>\nSQL Server records the corruption incident in the <code>suspect_pages<\/code> table within the <code>MSDB<\/code> system database. This log entry captures critical details such as the database ID, file ID, page ID, and error ID, which help track the nature and scope of the corruption.<\/li>\n<li><strong>Request Repair:<\/strong><br \/>\nOnce the corruption is logged, SQL Server sends a request to all secondary replicas in the availability group to provide a copy of the corrupted page. This request is a broadcast message seeking assistance from other replicas that may have an uncorrupted version of the page.<\/li>\n<li><strong>Handle Responses:<\/strong><br \/>\nThe replicas respond to the request. SQL Server retrieves the page from the first replica that responds, ensuring that the page ID and the current log sequence number (LSN) are specified. This step is critical for ensuring that the correct version of the page is retrieved.<\/li>\n<li><strong>Mark as Restore Pending:<\/strong><br \/>\nDuring the repair process, the corrupted page is marked as restore pending. Any attempts to access this page result in error 829, which indicates that the page is temporarily unavailable while repairs are underway.<\/li>\n<\/ol>\n<h3>Page Repair Process<\/h3>\n<p>The repair process involves collaboration between the primary and secondary replicas. Here&#8217;s how it works:<\/p>\n<ol>\n<li><strong>Log Processing by Secondary Replica:<\/strong><br \/>\nThe secondary replica processes the transaction log up to the specified LSN to ensure it has the most recent version of the page.<\/li>\n<li><strong>Access and Send Page:<\/strong><br \/>\nThe secondary replica accesses the required page and sends it to the primary replica. If the page cannot be accessed, an error is returned, causing the repair process to fail. This ensures that only valid and accessible pages are used for repair.<\/li>\n<li><strong>Update Repair Status:<\/strong><br \/>\nIf the repair is successful, SQL Server updates the page&#8217;s status in the <code>suspect_pages<\/code> table to &#8220;restored&#8221; (event_type 5). The server then resolves any deferred transactions that were pending due to the corruption.<\/li>\n<\/ol>\n<h2>Monitoring and Validation<\/h2>\n<p>To monitor the Automatic Page Repair process, database administrators can use the Dynamic Management View (DMV) <code>sys.dm_hadr_auto_page_repair<\/code>. This DMV provides vital information that helps track the progress and outcome of the repair process:<\/p>\n<ul>\n<li><strong>Page_id:<\/strong> The ID of the restored page, indicating which page was affected.<\/li>\n<li><strong>Error_type:<\/strong> The type of error that was repaired, such as logical consistency errors or checksum failures.<\/li>\n<li><strong>Page_status:<\/strong> The current status of the page in the repair process, ranging from queued to successfully repaired or failed.<\/li>\n<\/ul>\n<h2>Error Types Handled<\/h2>\n<p>Automatic Page Repair is capable of addressing several types of errors, which include:<\/p>\n<ul>\n<li><strong>Error 823:<\/strong> Occurs when there is a cyclic redundancy check (CRC) failure, indicating a hardware error.<\/li>\n<li><strong>Error 824:<\/strong> Involves logical consistency errors, such as bad page checksum or torn page detection, which are more likely to occur due to software issues.<\/li>\n<li><strong>Error 829:<\/strong> Raised when a page is marked as restore pending, signaling that repair efforts are in progress.<\/li>\n<\/ul>\n<h2>Limitations<\/h2>\n<p>While Automatic Page Repair is a powerful feature, it is not without limitations:<\/p>\n<ul>\n<li>Certain critical pages cannot be recovered or restored through this feature. These include:\n<ul>\n<li>A file header page<\/li>\n<li>A database boot page<\/li>\n<li>Global Allocation Map (GAM) pages<\/li>\n<li>Shared Allocation Map (SGAM) pages<\/li>\n<li>Page Free Space (PFS) pages<\/li>\n<\/ul>\n<\/li>\n<li>The feature is only effective when the Availability Group is in a synchronous state, meaning that the primary and secondary replicas must be fully synchronized for repairs to be successful.<\/li>\n<\/ul>\n<h2>Benefits<\/h2>\n<p>Automatic Page Repair provides several benefits that enhance the reliability of SQL Server databases:<\/p>\n<ul>\n<li><strong>Data Integrity:<\/strong> By automatically repairing corrupted pages, this feature helps maintain the integrity of the database, ensuring that data remains consistent and reliable.<\/li>\n<li><strong>High Availability:<\/strong> Automatic repairs reduce the need for manual intervention and minimize downtime caused by page corruption, thereby enhancing the overall availability of the database.<\/li>\n<\/ul>\n<h2>Process of Automatic Page Repair in Secondary Replicas<\/h2>\n<p>In some cases, page corruption can occur in a secondary replica. Here\u2019s how the process works:<\/p>\n<ol>\n<li><strong>Enter Suspended State:<\/strong> The secondary replica&#8217;s SQL Server Always On Availability Group enters a suspended state to prevent further corruption or inconsistencies.<\/li>\n<li><strong>Record Corruption:<\/strong> The corrupt page information is recorded in the <code>suspect_pages<\/code> table of the secondary replica, allowing administrators to track the issue.<\/li>\n<li><strong>Request Page Copy:<\/strong> A request is sent to the primary replica for a copy of the page, leveraging the primary&#8217;s role as the source of truth.<\/li>\n<li><strong>Primary Access:<\/strong> If the primary replica can access the page, it sends the page to the secondary replica for repair.<\/li>\n<li><strong>Repair and Synchronize:<\/strong> The secondary replica repairs the page, and the Availability Group returns to a synchronized state, resuming normal operations.<\/li>\n<\/ol>\n<h2>Conclusion<\/h2>\n<p>Automatic Page Repair is an invaluable feature for maintaining database integrity and availability in SQL Server Always On Availability Groups. By understanding how it works, its limitations, and benefits, database administrators can leverage this feature to ensure their systems remain robust and resilient against data corruption. This feature not only enhances SQL Server reliability but also reduces the administrative burden of managing database integrity and availability.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.<\/p>\n","protected":false},"author":2,"featured_media":0,"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":""},"categories":[36,35,12,54,13,73],"tags":[230,38,231,229,56,131,232],"class_list":["post-692","post","type-post","status-publish","format-standard","hentry","category-availability-groups","category-data-integrity","category-internals","category-maintenance","category-storage-engine","category-troubleshooting","tag-automatic-page-repair","tag-availability-groups","tag-database-corruption","tag-database-integrity","tag-maintenance","tag-sql-server","tag-sql-server-replicas"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups - SQL Table Talk<\/title>\n<meta name=\"description\" content=\"SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.\" \/>\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.sqltabletalk.com\/?p=692\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups - SQL Table Talk\" \/>\n<meta property=\"og:description\" content=\"SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqltabletalk.com\/?p=692\" \/>\n<meta property=\"og:site_name\" content=\"SQL Table Talk\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-13T13:00:00+00:00\" \/>\n<meta name=\"author\" content=\"Yvonne Vanslageren\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yvonne Vanslageren\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=692#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=692\"},\"author\":{\"name\":\"Yvonne Vanslageren\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/68bb31b454bafe9e139183ed4f3e9082\"},\"headline\":\"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups\",\"datePublished\":\"2024-08-13T13:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=692\"},\"wordCount\":996,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"keywords\":[\"Automatic Page Repair\",\"availability groups\",\"Database Corruption\",\"Database Integrity\",\"maintenance\",\"SQL Server\",\"SQL Server Replicas\"],\"articleSection\":[\"Availability Groups\",\"Data Integrity\",\"Internals\",\"Maintenance\",\"Storage Engine\",\"Troubleshooting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=692#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=692\",\"url\":\"https:\/\/www.sqltabletalk.com\/?p=692\",\"name\":\"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups - SQL Table Talk\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#website\"},\"datePublished\":\"2024-08-13T13:00:00+00:00\",\"description\":\"SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=692#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=692\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=692#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqltabletalk.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#website\",\"url\":\"https:\/\/www.sqltabletalk.com\/\",\"name\":\"SQL Table Talk\",\"description\":\"Breaking Down SQL Server, One Post at a Time.\",\"publisher\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqltabletalk.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\",\"name\":\"Stephen Planck\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g\",\"caption\":\"Stephen Planck\"},\"logo\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/dexterwiki.com\",\"https:\/\/www.linkedin.com\/in\/stephen-planck-4611b692?trk=people-guest_people_search-card&challengeId=AQErf8gbBmcVMwAAAYsyIsxO-0UvU8z7cHrBpZoo_n3xt9qEKpRN5B_jd_LmAMu-OfeArkQ7GDjobJ2uRoQQV35EQdh_rR6kxA&submissionId=09de7067-c335-8e17-40b8-8dc32b60ed6c&challengeSource=AgEcUCw35zpPmAAAAYsyI4vAWhJTV7Nt4vZYKc3V1qiDBpCkKgUvtlOBgYXcE84&challegeType=AgE_wZiTT09IAQAAAYsyI4vDmNvbZIYe6XHju5V2bXVvM3IVxnJslgY&memberId=AgESFTkUShzs_gAAAYsyI4vGYk0Gic1uc5kB6cKOABA26Gw&recognizeDevice=AgHdSZyUSI5CEwAAAYsyI4vKd_koF9JgpsCJShT8QfbK1QMiv8SI\",\"https:\/\/www.youtube.com\/linuxmate\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/68bb31b454bafe9e139183ed4f3e9082\",\"name\":\"Yvonne Vanslageren\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/22c274a7a354b81a0a8dc5b23e8e0be9bdd81a6bc0541474cfb6b954d6bb2089?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/22c274a7a354b81a0a8dc5b23e8e0be9bdd81a6bc0541474cfb6b954d6bb2089?s=96&d=mm&r=g\",\"caption\":\"Yvonne Vanslageren\"},\"url\":\"https:\/\/www.sqltabletalk.com\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups - SQL Table Talk","description":"SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.","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.sqltabletalk.com\/?p=692","og_locale":"en_US","og_type":"article","og_title":"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups - SQL Table Talk","og_description":"SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.","og_url":"https:\/\/www.sqltabletalk.com\/?p=692","og_site_name":"SQL Table Talk","article_published_time":"2024-08-13T13:00:00+00:00","author":"Yvonne Vanslageren","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Yvonne Vanslageren","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqltabletalk.com\/?p=692#article","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/?p=692"},"author":{"name":"Yvonne Vanslageren","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/68bb31b454bafe9e139183ed4f3e9082"},"headline":"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups","datePublished":"2024-08-13T13:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqltabletalk.com\/?p=692"},"wordCount":996,"commentCount":0,"publisher":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"keywords":["Automatic Page Repair","availability groups","Database Corruption","Database Integrity","maintenance","SQL Server","SQL Server Replicas"],"articleSection":["Availability Groups","Data Integrity","Internals","Maintenance","Storage Engine","Troubleshooting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqltabletalk.com\/?p=692#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqltabletalk.com\/?p=692","url":"https:\/\/www.sqltabletalk.com\/?p=692","name":"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups - SQL Table Talk","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/#website"},"datePublished":"2024-08-13T13:00:00+00:00","description":"SQL Server Always On Availability Groups are designed to provide a high-availability and disaster recovery solution that keeps your databases running smoothly even in the face of hardware failures and data corruption. One of the key features supporting this capability is Automatic Page Repair. This feature works behind the scenes to automatically fix corrupted pages in a database, thereby minimizing downtime and preserving data integrity. In this post, we will explore the mechanisms, benefits, and limitations of Automatic Page Repair, highlighting its role in enhancing SQL Server reliability.","breadcrumb":{"@id":"https:\/\/www.sqltabletalk.com\/?p=692#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqltabletalk.com\/?p=692"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqltabletalk.com\/?p=692#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqltabletalk.com\/"},{"@type":"ListItem","position":2,"name":"Enhancing Data Integrity: Automatic Page Repair with SQL Server Always On Availability Groups"}]},{"@type":"WebSite","@id":"https:\/\/www.sqltabletalk.com\/#website","url":"https:\/\/www.sqltabletalk.com\/","name":"SQL Table Talk","description":"Breaking Down SQL Server, One Post at a Time.","publisher":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqltabletalk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0","name":"Stephen Planck","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g","caption":"Stephen Planck"},"logo":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/dexterwiki.com","https:\/\/www.linkedin.com\/in\/stephen-planck-4611b692?trk=people-guest_people_search-card&challengeId=AQErf8gbBmcVMwAAAYsyIsxO-0UvU8z7cHrBpZoo_n3xt9qEKpRN5B_jd_LmAMu-OfeArkQ7GDjobJ2uRoQQV35EQdh_rR6kxA&submissionId=09de7067-c335-8e17-40b8-8dc32b60ed6c&challengeSource=AgEcUCw35zpPmAAAAYsyI4vAWhJTV7Nt4vZYKc3V1qiDBpCkKgUvtlOBgYXcE84&challegeType=AgE_wZiTT09IAQAAAYsyI4vDmNvbZIYe6XHju5V2bXVvM3IVxnJslgY&memberId=AgESFTkUShzs_gAAAYsyI4vGYk0Gic1uc5kB6cKOABA26Gw&recognizeDevice=AgHdSZyUSI5CEwAAAYsyI4vKd_koF9JgpsCJShT8QfbK1QMiv8SI","https:\/\/www.youtube.com\/linuxmate"]},{"@type":"Person","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/68bb31b454bafe9e139183ed4f3e9082","name":"Yvonne Vanslageren","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/22c274a7a354b81a0a8dc5b23e8e0be9bdd81a6bc0541474cfb6b954d6bb2089?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/22c274a7a354b81a0a8dc5b23e8e0be9bdd81a6bc0541474cfb6b954d6bb2089?s=96&d=mm&r=g","caption":"Yvonne Vanslageren"},"url":"https:\/\/www.sqltabletalk.com\/?author=2"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=692"}],"version-history":[{"count":2,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/692\/revisions"}],"predecessor-version":[{"id":703,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/692\/revisions\/703"}],"wp:attachment":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}