{"id":802,"date":"2015-06-07T14:29:13","date_gmt":"2015-06-07T08:29:13","guid":{"rendered":"http:\/\/dotnetsql.info\/net-sql\/?p=802"},"modified":"2015-06-29T16:46:27","modified_gmt":"2015-06-29T10:46:27","slug":"how-to-configure-critical-server-alerts","status":"publish","type":"post","link":"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/","title":{"rendered":"How to configure critical server alerts?"},"content":{"rendered":"<p><strong>Scenario<\/strong><\/p>\n<p>I ran a couple of health checks on my SQL Servers and the checks indicated I didn&#8217;t have critical alerts configured. What do I need to do?<\/p>\n<p><strong>Solution<\/strong><\/p>\n<p>SQL Server has alerts that get more important based on the severity of the alert. Anything of severity 16 or below tends to refer to the database and deals with issues that are tied to syntax errors, violations of foreign keys, etc. While those errors are typically important, they don&#8217;t refer to anything with regards to overall health of the SQL Server. Alerts 17 through 25 do. Those are the ones your health checks are probably firing on. So what are these alerts?<!--more--><\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td>\n<p align=\"center\"><strong>Severity Level<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>Meaning<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>17<\/td>\n<td>Insufficient Resources<\/td>\n<\/tr>\n<tr>\n<td>18<\/td>\n<td>Nonfatal Internal Error Detected<\/td>\n<\/tr>\n<tr>\n<td>19<\/td>\n<td>SQL Server Error in Resource<\/td>\n<\/tr>\n<tr>\n<td>20<\/td>\n<td>SQL Server Fatal Error in Current Process<\/td>\n<\/tr>\n<tr>\n<td>21<\/td>\n<td>SQL Server Fatal Error in Database (dbid) Process<\/td>\n<\/tr>\n<tr>\n<td>22<\/td>\n<td>SQL Server Fatal Error Table Integrity Suspect<\/td>\n<\/tr>\n<tr>\n<td>23<\/td>\n<td>SQL Server Fatal Error: Database Integrity Suspect<\/td>\n<\/tr>\n<tr>\n<td>24<\/td>\n<td>Hardware Error<\/td>\n<\/tr>\n<tr>\n<td>25<\/td>\n<td><em>(no description)<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"clear: both;\"><\/div>\n<p>As you might guess, these are errors you want to alert on because they either represent a resource issue, an integrity issue, or a hardware issue. Here&#8217;s what you&#8217;ll need to do to setup alerts on your SQL Servers. While you can do this via the GUI, if you have everything scripted, you can quickly run the scripts for any SQL Server you need to set up.<\/p>\n<h2><strong>Configuring SQL Server Database Mail<\/strong><\/h2>\n<p>In order to be able to receive emails when an alert fires, you need to set up database mail. You&#8217;re going to need a few bits of information:<\/p>\n<ul>\n<li>The email address to use. This can be a &#8220;dummy&#8221; address, but you should have a good reply to email address.<\/li>\n<li>The mail server to connect to.<\/li>\n<li>Any authentication requirements for the mail server.<\/li>\n<\/ul>\n<p>Here&#8217;s a generic configuration. Note that I&#8217;m using a dummy address to send from, but the reply address should go back to the DBAs. I&#8217;ve specified these values as variables in the TODO section so that I can re-use the script and only make a couple of changes depending on the environment.<\/p>\n<pre>sp_configure 'show advanced options', 1;<\/pre>\n<pre>GO<\/pre>\n<pre>RECONFIGURE;<\/pre>\n<pre>GO<\/pre>\n<pre>sp_configure 'Database Mail XPs', 1;<\/pre>\n<pre>GO<\/pre>\n<pre>RECONFIGURE<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>DECLARE @pid INT;<\/pre>\n<pre>DECLARE @acctid INT;<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sysmail_add_profile_sp<\/pre>\n<pre>\u00a0 @profile_name = 'Default Profile',<\/pre>\n<pre>\u00a0 @profile_id = @pid OUTPUT;<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sysmail_add_account_sp<\/pre>\n<pre>\u00a0\u00a0@account_name = 'Default Account',<\/pre>\n<pre>\u00a0 @email_address = 'sql.myserver@mycompany.com',<\/pre>\n<pre>\u00a0 @display_name = 'SQL - myserver',<\/pre>\n<pre>\u00a0 @replyto_address = 'DBAs@mycompany.com',<\/pre>\n<pre>\u00a0 @mailserver_name = 'smtp.mycompany.com',<\/pre>\n<pre>\u00a0 @account_id = @acctid OUTPUT;<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sysmail_add_profileaccount_sp<\/pre>\n<pre>\u00a0 @profile_id = @pid,<\/pre>\n<pre>\u00a0 @account_id = @acctid,<\/pre>\n<pre>\u00a0\u00a0@sequence_number = 1;<\/pre>\n<pre>GO<\/pre>\n<h2><strong>Setting Up SQL Server Agent Alerts<\/strong><\/h2>\n<p>With Database Mail configured, it&#8217;s time to set up the alerts. Here&#8217;s a simple, default script. If you&#8217;re worried about a lot of alerts firing all at once, you can set a delay by changing the @delay_between_responses parameter. Note that I am setting the @include_event_description_in parameter to 1, meaning however the alert sends to an operator, the details of the alert will be included. Since we&#8217;ll be using email, that means the details of why the alert fired will be included in the email message body.<\/p>\n<pre>USE [msdb]<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 17 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=17,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 18 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=18,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 19 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=19,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 20 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=20,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 21 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=21,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 22 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=22,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 23 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=23,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 24 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=24,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_alert @name=N'Error 25 Alert',<\/pre>\n<pre>\u00a0\u00a0@message_id=0,<\/pre>\n<pre>\u00a0\u00a0@severity=25,<\/pre>\n<pre>\u00a0\u00a0@enabled=1,<\/pre>\n<pre>\u00a0\u00a0@delay_between_responses=0,<\/pre>\n<pre>\u00a0\u00a0@include_event_description_in=1;<\/pre>\n<pre>GO<\/pre>\n<p>You should see the list of alerts:<\/p>\n<p align=\"center\">\n<p>Checking the properties on a particular alert, you should see the severity matches the name:<\/p>\n<p align=\"center\">\n<h2><strong>Configuring the SQL Server Operator<\/strong><\/h2>\n<p>The alert will need to go somewhere. That&#8217;s what configuring an Operator is for. Here&#8217;s a generic operator for DBAs. Do note that the name of the operator and the email are being set by variables. Again, this is to be able to re-use the script across multiple servers\/environments. It does appear a bit lengthy, but that&#8217;s because you have to associate a notification with each alert.<\/p>\n<pre>USE msdb;<\/pre>\n<pre>GO<\/pre>\n<pre>EXEC msdb.dbo.sp_add_operator<\/pre>\n<pre>\u00a0 @name = 'DBAs',<\/pre>\n<pre>\u00a0 @enabled = 1,<\/pre>\n<pre>\u00a0 @email_address = 'DBAs@mycompany.com';<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 17 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 18 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 19 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 20 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 21 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 22 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 23 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 24 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<pre>\r\n<\/pre>\n<pre>EXEC msdb.dbo.sp_add_notification<\/pre>\n<pre>\u00a0\u00a0@alert_name = N'Error 25 Alert',<\/pre>\n<pre>\u00a0 @operator_name = 'DBAs',<\/pre>\n<pre>\u00a0 @notification_method = 1;<\/pre>\n<pre>GO<\/pre>\n<p>Once the script is run you should see the Operator listed and you can check its properties to ensure the email address is set.<\/p>\n<p align=\"center\">\n<p>Also, you can verify that all the alert notifications are configured.<\/p>\n<p align=\"center\">\n<h2><strong>Verify SQL Server Agent Status<\/strong><\/h2>\n<p>One last thing: make sure SQL Server Agent is stared and configured to start automatically. SQL Server Agent is what drives this alerting. If it&#8217;s not running and you do have an issue, you won&#8217;t get the email. Therefore, check your SQL Server Agent configuration closely.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Thanks for reading this article,<\/strong><\/p>\n<p><strong>Next steps :<\/strong><\/p>\n<ol>\n<li><strong>Add this script to your database toolkit<\/strong><\/li>\n<li><strong>Share this with your colleagues because Sharing\u00a0 is Learning<\/strong><\/li>\n<li><strong>Comment below if you need any assistance<\/strong><\/li>\n<\/ol>\n<p style=\"text-align: right;\"><em><strong>Powered by <a href=\"http:\/\/www.codereview.co\">CodeReview &#8211; Let&#8217;s make it Better!<\/a><\/strong><\/em><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-twitter\"><a rel=\"nofollow\" data-shared=\"sharing-twitter-802\" class=\"share-twitter sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Twitter (Opens in new window)<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow\" data-shared=\"sharing-linkedin-802\" class=\"share-linkedin sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on LinkedIn (Opens in new window)<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow\" data-shared=\"sharing-facebook-802\" class=\"share-facebook sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=facebook\" target=\"_blank\" title=\"Share on Facebook\"><span><\/span><span class=\"sharing-screen-reader-text\">Share on Facebook (Opens in new window)<\/span><\/a><\/li><li class=\"share-google-plus-1\"><a rel=\"nofollow\" data-shared=\"sharing-google-802\" class=\"share-google-plus-1 sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=google-plus-1\" target=\"_blank\" title=\"Click to share on Google+\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Google+ (Opens in new window)<\/span><\/a><\/li><li class=\"share-pocket\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-pocket sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=pocket\" target=\"_blank\" title=\"Click to share on Pocket\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Pocket (Opens in new window)<\/span><\/a><\/li><li class=\"share-email\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-email sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=email\" target=\"_blank\" title=\"Click to email this to a friend\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to email this to a friend (Opens in new window)<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-76243027-802-69da0ef21002a' data-src='\/\/widgets.wp.com\/likes\/#blog_id=76243027&amp;post_id=802&amp;origin=dotnetsql.info&amp;obj_id=76243027-802-69da0ef21002a' data-name='like-post-frame-76243027-802-69da0ef21002a'><h3 class='sd-title'>Like this:<\/h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height:55px'><span class='button'><span>Like<\/span><\/span> <span class=\"loading\">Loading...<\/span><\/div><span class='sd-text-color'><\/span><a class='sd-link-color'><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Scenario I ran a couple of health checks on my SQL Servers and the checks indicated I didn&#8217;t have critical alerts configured. What do I need to do? Solution SQL Server has alerts that get more important based on the severity of the alert. Anything of severity 16 or below tends to refer to the &hellip; <a href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How to configure critical server alerts?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-twitter\"><a rel=\"nofollow\" data-shared=\"sharing-twitter-802\" class=\"share-twitter sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Twitter (Opens in new window)<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow\" data-shared=\"sharing-linkedin-802\" class=\"share-linkedin sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on LinkedIn (Opens in new window)<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow\" data-shared=\"sharing-facebook-802\" class=\"share-facebook sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=facebook\" target=\"_blank\" title=\"Share on Facebook\"><span><\/span><span class=\"sharing-screen-reader-text\">Share on Facebook (Opens in new window)<\/span><\/a><\/li><li class=\"share-google-plus-1\"><a rel=\"nofollow\" data-shared=\"sharing-google-802\" class=\"share-google-plus-1 sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=google-plus-1\" target=\"_blank\" title=\"Click to share on Google+\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Google+ (Opens in new window)<\/span><\/a><\/li><li class=\"share-pocket\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-pocket sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=pocket\" target=\"_blank\" title=\"Click to share on Pocket\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Pocket (Opens in new window)<\/span><\/a><\/li><li class=\"share-email\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-email sd-button share-icon no-text\" href=\"http:\/\/dotnetsql.info\/net-sql\/index.php\/how-to-configure-critical-server-alerts\/?share=email\" target=\"_blank\" title=\"Click to email this to a friend\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to email this to a friend (Opens in new window)<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-76243027-802-69da0ef21058a' data-src='\/\/widgets.wp.com\/likes\/#blog_id=76243027&amp;post_id=802&amp;origin=dotnetsql.info&amp;obj_id=76243027-802-69da0ef21058a' data-name='like-post-frame-76243027-802-69da0ef21058a'><h3 class='sd-title'>Like this:<\/h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height:55px'><span class='button'><span>Like<\/span><\/span> <span class=\"loading\">Loading...<\/span><\/div><span class='sd-text-color'><\/span><a class='sd-link-color'><\/a><\/div>","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[25],"tags":[250,252,97,40],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/posts\/802"}],"collection":[{"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/comments?post=802"}],"version-history":[{"count":2,"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/posts\/802\/revisions"}],"predecessor-version":[{"id":936,"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/posts\/802\/revisions\/936"}],"wp:attachment":[{"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/media?parent=802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/categories?post=802"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dotnetsql.info\/net-sql\/index.php\/wp-json\/wp\/v2\/tags?post=802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}