{"id":855,"date":"2025-01-07T08:14:35","date_gmt":"2025-01-07T13:14:35","guid":{"rendered":"https:\/\/www.sqltabletalk.com\/?p=855"},"modified":"2025-01-07T08:14:37","modified_gmt":"2025-01-07T13:14:37","slug":"monitoring-sql-server-always-on-availability-groups","status":"publish","type":"post","link":"https:\/\/www.sqltabletalk.com\/?p=855","title":{"rendered":"SQL Server Always On Health Check and Lease Timeout Monitoring"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>SQL Server Always On Availability Groups are a robust solution for achieving high availability and disaster recovery for SQL Server databases. However, simply configuring them is not enough\u2014you also need a solid monitoring strategy to ensure data integrity and system reliability. One key aspect of this monitoring process is keeping an eye on <strong>lease timeouts<\/strong>, which can signal larger issues and help prevent potentially catastrophic split-brain scenarios.<\/p>\n<p>In this post, we\u2019ll walk through the various health checks available for Always On Availability Groups, discuss how lease timeouts work, and explore practical methods for monitoring and troubleshooting.<\/p>\n<h2>Understanding Health Checks in Always On Availability Groups<\/h2>\n<h3>1. Database Health Checks<\/h3>\n<ul>\n<li><strong>Synchronization State<\/strong>: Confirms that secondary replicas are kept in sync with the primary.<\/li>\n<li><strong>Data Loss Potential<\/strong>: Evaluates whether any transactions might be lost during a failover.<\/li>\n<li><strong>Database Status<\/strong>: Verifies that databases are online and accessible.<\/li>\n<\/ul>\n<h3>2. Replica Health Checks<\/h3>\n<ul>\n<li><strong>Operational State<\/strong>: Ensures replicas are assigned the correct role (primary or secondary).<\/li>\n<li><strong>Connected State<\/strong>: Monitors network connectivity between replicas.<\/li>\n<li><strong>Synchronization Health<\/strong>: Assesses the overall health of data synchronization.<\/li>\n<\/ul>\n<h3>3. Cluster Health Checks<\/h3>\n<ul>\n<li><strong>Node Status<\/strong>: Checks if each cluster node is up and running.<\/li>\n<li><strong>Quorum Configuration<\/strong>: Ensures the cluster can still make decisions if some nodes fail.<\/li>\n<li><strong>Resource Status<\/strong>: Monitors the availability of cluster resources.<\/li>\n<\/ul>\n<h2>Lease Timeout in Always On<\/h2>\n<ul>\n<li><strong>Lease Mechanism<\/strong>: The lease acts like a heartbeat signal between SQL Server and the Windows Server Failover Cluster (WSFC).<\/li>\n<li><strong>Lease Timeout<\/strong>: By default, if SQL Server cannot renew the lease within 20 seconds, the WSFC deems the instance unresponsive and begins a failover.<\/li>\n<li><strong>Importance<\/strong>: Proper lease management prevents <em>split-brain<\/em> scenarios, where multiple nodes simultaneously believe they are the primary, which can lead to data corruption.<\/li>\n<\/ul>\n<h2>Monitoring Health Checks and Lease Timeouts<\/h2>\n<h3>1. Using SQL Server Management Studio (SSMS)<\/h3>\n<ol>\n<li>Open <strong>Object Explorer<\/strong> and expand <strong>Always On High Availability<\/strong> &gt; <strong>Availability Groups<\/strong>.<\/li>\n<li>Right-click your availability group and select <strong>Show Dashboard<\/strong>.<\/li>\n<li>Review <strong>Dashboard Views<\/strong> for real-time information about replicas and databases.<\/li>\n<\/ol>\n<h3>2. Extended Events<\/h3>\n<ul>\n<li><strong>System Health Session<\/strong>: By default, SQL Server runs a <code>system_health<\/code> session to capture key events.<\/li>\n<\/ul>\n<p><strong>Querying Lease Timeout Events:<\/strong><\/p>\n<pre><code>SELECT\n    event_data.value('(event\/@name)[1]', 'varchar(50)') AS event_name,\n    event_data.value('(event\/@timestamp)[1]', 'datetime') AS [timestamp],\n    event_data.value('(event\/data[@name=\"message\"]\/value)[1]', 'varchar(max)') AS message\nFROM\n    (SELECT CAST(target_data AS XML) AS event_data\n     FROM sys.dm_xe_session_targets t\n     JOIN sys.dm_xe_sessions s ON t.event_session_address = s.address\n     WHERE s.name = 'system_health' AND t.target_name = 'ring_buffer') AS x\nWHERE\n    event_data.value('(event\/@name)[1]', 'varchar(50)') = 'error_reported'\n    AND event_data.value('(event\/data[@name=\"error_number\"]\/value)[1]', 'int') = 19407;<\/code><\/pre>\n<p>This query filters for the lease timeout error (<code>error_number = 19407<\/code>) reported in Extended Events.<\/p>\n<h3>3. SQL Server Agent Alerts<\/h3>\n<ol>\n<li>Open SQL Server Agent and create a <strong>New Alert<\/strong>.<\/li>\n<li>Set the <strong>Error Number<\/strong> to <code>19407<\/code> (lease timeout error).<\/li>\n<li>Configure the <strong>Response<\/strong> to notify operators by email or run a job automatically.<\/li>\n<\/ol>\n<h3>4. Performance Monitor (PerfMon)<\/h3>\n<ul>\n<li>Monitor Always On counters under <strong>SQLServer:Replica<\/strong>, such as <strong>Log Send Queue<\/strong> and <strong>Redo Queue Size<\/strong>.<\/li>\n<li>Check counters like <strong>Synchronization Health<\/strong> and <strong>Flow Control<\/strong> to get a sense of ongoing data replication health.<\/li>\n<\/ul>\n<h3>5. Failover Cluster Manager<\/h3>\n<ol>\n<li>Open <strong>Failover Cluster Manager<\/strong> on the cluster node.<\/li>\n<li>Validate the status of cluster resources and nodes.<\/li>\n<li>Review recent cluster events to identify any issues or warnings.<\/li>\n<\/ol>\n<h3>6. PowerShell Cmdlets<\/h3>\n<ul>\n<li><strong>Retrieve Cluster Logs<\/strong>:\n<pre><code>Get-ClusterLog -Destination \"C:\\ClusterLogs\"<\/code><\/pre>\n<\/li>\n<li>Analyze the generated logs for lease timeout events, cluster resource failures, or other errors.<\/li>\n<\/ul>\n<h3>7. Custom Monitoring Scripts<\/h3>\n<ul>\n<li><strong>Check Replica Health<\/strong>:\n<pre><code>SELECT\n    ag.name AS AvailabilityGroupName,\n    ar.replica_server_name,\n    ar.availability_mode_desc,\n    ar.failover_mode_desc,\n    ar.synchronization_health_desc\nFROM sys.availability_replicas ar\nJOIN sys.availability_groups ag ON ar.group_id = ag.group_id;<\/code><\/pre>\n<\/li>\n<li><strong>Monitor Database States<\/strong>:\n<pre><code>SELECT\n    db_name(database_id) AS DatabaseName,\n    synchronization_state_desc,\n    is_failover_ready\nFROM sys.dm_hadr_database_replica_states;    <\/code><\/pre>\n<\/li>\n<\/ul>\n<h2>Best Practices for Monitoring<\/h2>\n<ol>\n<li><strong>Regular Health Checks<\/strong>: Automate frequent checks to detect issues early.<\/li>\n<li><strong>Alerts Configuration<\/strong>: Set up immediate notifications for critical events like lease timeouts.<\/li>\n<li><strong>Documentation<\/strong>: Maintain detailed records of your monitoring configurations and any incidents.<\/li>\n<li><strong>Testing<\/strong>: Periodically test failover processes to validate your infrastructure\u2019s resiliency.<\/li>\n<li><strong>Updates<\/strong>: Keep SQL Server and Windows updated to benefit from the latest fixes and improvements.<\/li>\n<\/ol>\n<h2>Troubleshooting Lease Timeouts<\/h2>\n<h3>Common Causes<\/h3>\n<ul>\n<li><strong>Network Latency<\/strong>: Delayed connectivity can prevent timely lease renewals.<\/li>\n<li><strong>Resource Contention<\/strong>: High CPU or memory usage on the server can impact performance.<\/li>\n<li><strong>Disk I\/O Bottlenecks<\/strong>: Slow disk operations can degrade SQL Server responsiveness.<\/li>\n<li><strong>Cluster Service Issues<\/strong>: Failures in the WSFC service can cause timeouts.<\/li>\n<\/ul>\n<h3>Steps to Resolve<\/h3>\n<ol>\n<li><strong>Review Error Logs<\/strong>: Check both SQL Server error logs and Cluster logs to pinpoint the issue.<\/li>\n<li><strong>Analyze Performance Metrics<\/strong>: Use PerfMon or DMVs to spot bottlenecks.<\/li>\n<li><strong>Check Network Stability<\/strong>: Ensure that the network connections between replicas remain healthy.<\/li>\n<li><strong>Update Lease Timeout Settings<\/strong>: Adjust the lease timeout value if required. For instance:\n<pre><code>Import-Module FailoverClusters\nGet-ClusterResource -Name \"AG Resource Name\" | Set-ClusterParameter -Name LeaseTimeout -Value 30000    <\/code><\/pre>\n<p><em>(Note: The value is in milliseconds, e.g., 30000 ms = 30 seconds.)<\/em><\/li>\n<\/ol>\n<h2>Conclusion<\/h2>\n<p>Monitoring SQL Server Always On Availability Groups is critical for safeguarding high availability and data integrity. From health checks to lease timeouts, each aspect requires careful configuration and ongoing attention. By using the built-in tools (SSMS, Extended Events, SQL Server Agent alerts), third-party or custom scripts, and best practices outlined here, you can proactively identify and address issues\u2014ensuring your Always On environment remains stable, performant, and ready to handle unexpected outages.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server Always On Availability Groups are a robust solution for achieving high availability and disaster recovery for SQL Server databases. However, simply configuring them is not enough\u2014you also need a solid monitoring strategy to ensure data integrity and system reliability. One key aspect of this monitoring process is keeping an eye on lease timeouts, which can signal larger issues and help prevent potentially catastrophic split-brain scenarios. In this post, we\u2019ll walk through the various health checks available for Always On Availability Groups, discuss how lease timeouts work, and explore practical methods for monitoring and troubleshooting.<\/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,116,219],"tags":[191,454,247,210,42,455,384,456,131,402],"class_list":["post-855","post","type-post","status-publish","format-standard","hentry","category-availability-groups","category-connectivity","category-windows-failover-cluster","tag-always-on-availability-groups","tag-database-monitoring","tag-disaster-recovery","tag-failover-cluster","tag-high-availability","tag-lease-timeout","tag-performance-monitoring","tag-replica-health","tag-sql-server","tag-sql-server-management-studio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQL Server Always On Health Check and Lease Timeout Monitoring - SQL Table Talk<\/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.sqltabletalk.com\/?p=855\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server Always On Health Check and Lease Timeout Monitoring - SQL Table Talk\" \/>\n<meta property=\"og:description\" content=\"SQL Server Always On Availability Groups are a robust solution for achieving high availability and disaster recovery for SQL Server databases. However, simply configuring them is not enough\u2014you also need a solid monitoring strategy to ensure data integrity and system reliability. One key aspect of this monitoring process is keeping an eye on lease timeouts, which can signal larger issues and help prevent potentially catastrophic split-brain scenarios. In this post, we\u2019ll walk through the various health checks available for Always On Availability Groups, discuss how lease timeouts work, and explore practical methods for monitoring and troubleshooting.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqltabletalk.com\/?p=855\" \/>\n<meta property=\"og:site_name\" content=\"SQL Table Talk\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-07T13:14:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-07T13:14:37+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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=855#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=855\"},\"author\":{\"name\":\"Yvonne Vanslageren\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/68bb31b454bafe9e139183ed4f3e9082\"},\"headline\":\"SQL Server Always On Health Check and Lease Timeout Monitoring\",\"datePublished\":\"2025-01-07T13:14:35+00:00\",\"dateModified\":\"2025-01-07T13:14:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=855\"},\"wordCount\":741,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"keywords\":[\"Always On Availability Groups\",\"Database Monitoring\",\"Disaster Recovery\",\"Failover Cluster\",\"High Availability\",\"Lease Timeout\",\"Performance Monitoring\",\"Replica Health\",\"SQL Server\",\"SQL Server Management Studio\"],\"articleSection\":[\"Availability Groups\",\"Connectivity\",\"Windows Failover Cluster\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=855#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=855\",\"url\":\"https:\/\/www.sqltabletalk.com\/?p=855\",\"name\":\"SQL Server Always On Health Check and Lease Timeout Monitoring - SQL Table Talk\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#website\"},\"datePublished\":\"2025-01-07T13:14:35+00:00\",\"dateModified\":\"2025-01-07T13:14:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=855#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=855\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=855#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqltabletalk.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server Always On Health Check and Lease Timeout Monitoring\"}]},{\"@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":"SQL Server Always On Health Check and Lease Timeout Monitoring - SQL Table Talk","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=855","og_locale":"en_US","og_type":"article","og_title":"SQL Server Always On Health Check and Lease Timeout Monitoring - SQL Table Talk","og_description":"SQL Server Always On Availability Groups are a robust solution for achieving high availability and disaster recovery for SQL Server databases. However, simply configuring them is not enough\u2014you also need a solid monitoring strategy to ensure data integrity and system reliability. One key aspect of this monitoring process is keeping an eye on lease timeouts, which can signal larger issues and help prevent potentially catastrophic split-brain scenarios. In this post, we\u2019ll walk through the various health checks available for Always On Availability Groups, discuss how lease timeouts work, and explore practical methods for monitoring and troubleshooting.","og_url":"https:\/\/www.sqltabletalk.com\/?p=855","og_site_name":"SQL Table Talk","article_published_time":"2025-01-07T13:14:35+00:00","article_modified_time":"2025-01-07T13:14:37+00:00","author":"Yvonne Vanslageren","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Yvonne Vanslageren","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqltabletalk.com\/?p=855#article","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/?p=855"},"author":{"name":"Yvonne Vanslageren","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/68bb31b454bafe9e139183ed4f3e9082"},"headline":"SQL Server Always On Health Check and Lease Timeout Monitoring","datePublished":"2025-01-07T13:14:35+00:00","dateModified":"2025-01-07T13:14:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqltabletalk.com\/?p=855"},"wordCount":741,"commentCount":0,"publisher":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"keywords":["Always On Availability Groups","Database Monitoring","Disaster Recovery","Failover Cluster","High Availability","Lease Timeout","Performance Monitoring","Replica Health","SQL Server","SQL Server Management Studio"],"articleSection":["Availability Groups","Connectivity","Windows Failover Cluster"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqltabletalk.com\/?p=855#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqltabletalk.com\/?p=855","url":"https:\/\/www.sqltabletalk.com\/?p=855","name":"SQL Server Always On Health Check and Lease Timeout Monitoring - SQL Table Talk","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/#website"},"datePublished":"2025-01-07T13:14:35+00:00","dateModified":"2025-01-07T13:14:37+00:00","breadcrumb":{"@id":"https:\/\/www.sqltabletalk.com\/?p=855#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqltabletalk.com\/?p=855"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqltabletalk.com\/?p=855#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqltabletalk.com\/"},{"@type":"ListItem","position":2,"name":"SQL Server Always On Health Check and Lease Timeout Monitoring"}]},{"@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\/855","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=855"}],"version-history":[{"count":2,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/855\/revisions"}],"predecessor-version":[{"id":949,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/855\/revisions\/949"}],"wp:attachment":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}