{"id":71388,"date":"2017-06-20T06:17:03","date_gmt":"2017-06-20T06:17:03","guid":{"rendered":"https:\/\/www.simple-talk.com\/?p=71388"},"modified":"2021-08-24T13:39:24","modified_gmt":"2021-08-24T13:39:24","slug":"sql2017-managing-vlogs-databases-sys-dm_db_log_info","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/sql2017-managing-vlogs-databases-sys-dm_db_log_info\/","title":{"rendered":"SQL 2017 new DMF: Managing VLOGs in our databases"},"content":{"rendered":"<p>SQL Server 2017 brings to us some new interesting DMV&#8217;s and DMF&#8217;s, one of them is <strong>sys.dm_db_log_info<\/strong>. This new DMF allows us to manage VLOGs in our databases.<\/p>\n<p>The log files are divided in smaller slices called virtual log files, or <strong>vlog<\/strong>. Operations such as log truncations happens over an entire <strong>vlog<\/strong>. For example, when a log trunction happens, only the vlogs without any active transaction can be truncated, so if a vlog has an active transaction, the entire vlog can&#8217;t be truncated.<\/p>\n<p>The number of vlogs can affect the performance of the transaction log. Each time the size of the transaction log increases, such as in an auto-growth event, for example, new vlogs are created inside the transaction log. If there are too many\u00a0auto-growth happening, the number of vlogs will increase too much and this will affect the log performance.<\/p>\n<p>There is a relation between the log space and the number of vlogs. When the log increases, the number of vlogs created depends on the space increased, according to this table.<\/p>\n<table style=\"width: 291.6px;height: 160px\" border=\"2\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td style=\"width: 154px\">Size Increased<\/td>\n<td style=\"width: 133.6px\">Number of Vlogs<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 154px\">&lt;=1MB<\/td>\n<td style=\"width: 133.6px\">3<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 154px\">1MB to 64MB<\/td>\n<td style=\"width: 133.6px\">4<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 154px\">64MB to 1GB<\/td>\n<td style=\"width: 133.6px\">8<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 154px\">1GB and up<\/td>\n<td style=\"width: 133.6px\">16<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p> It&#8217;s a good idea to monitor the number of vlogs in each database, however until now the only way to do this was with the statement DBCC LOGINFO, which has a result difficult to automate.<\/p>\n<p>Now, in SQL Server 2017, we can use the new DMF sys.dm_db_log_info to manage the number of vlogs in our databases.<\/p>\n<p>This function receives the name of the database as parameter and returns a record for each vlog in each log file of the database. In order to get the number of vlogs, we just need to aggregate the records.<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span><span style=\"color: fuchsia\"><i>count<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: silver\">*<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: maroon\">TotalVlogs<\/span> <br \/>\n <span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: #ff0080\"><b>dm_db_log_info<\/b><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: fuchsia\"><i>db_id<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: red\">&#8216;Sales&#8217;<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: blue\">group<\/span>\u00a0<span style=\"color: blue\">by<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span> <\/span><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-71389 size-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2017\/06\/vlogImagem1.png\" alt=\"vlogs sys.dm_db_log_info groupped\" width=\"197\" height=\"86\" \/><\/p>\n<\/blockquote>\n<p>We can build a cross apply between a query over sys.databases and the execution of this function to retrieve the information for each database.<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: blue\">name<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">TotalVlogs<\/span> <br \/>\n <span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">databases<\/span>\u00a0<span style=\"color: maroon\">sdb<\/span> <br \/>\n <span style=\"color: blue\">cross<\/span>\u00a0<span style=\"color: maroon\">apply<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span><span style=\"color: fuchsia\"><i>count<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: silver\">*<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: maroon\">TotalVlogs<\/span>\u00a0<span style=\"color: blue\">from<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: #ff0080\"><b>dm_db_log_info<\/b><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: fuchsia\"><i>db_id<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">sdb<\/span><span style=\"color: silver\">.<\/span><span style=\"color: blue\">name<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">group<\/span>\u00a0<span style=\"color: blue\">by<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: maroon\">log<\/span> <\/span><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-71390 size-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2017\/06\/vlogImagem2.png\" alt=\"vlogs sys.dm_db_log_info cross database\" width=\"376\" height=\"296\" \/><\/p>\n<\/blockquote>\n<p>We also need to include the size of the log to give meaning to the information. The size of each log file is in the sys.master_files DMV. Joining\u00a0the results by database name and file_id, the query will be this:<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">with<\/span>\u00a0<span style=\"color: maroon\">qry<\/span>\u00a0<span style=\"color: blue\">as<\/span> <br \/>\n \u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: blue\">name<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">TotalVlogs<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">databases<\/span>\u00a0<span style=\"color: maroon\">sdb<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">cross<\/span>\u00a0<span style=\"color: maroon\">apply<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span><span style=\"color: fuchsia\"><i>count<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: silver\">*<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: maroon\">TotalVlogs<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: #ff0080\"><b>dm_db_log_info<\/b><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: fuchsia\"><i>db_id<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">sdb<\/span><span style=\"color: silver\">.<\/span><span style=\"color: blue\">name<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">group<\/span>\u00a0<span style=\"color: blue\">by<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: maroon\">log<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: blue\">name<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">TotalVlogs<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">size<\/span>\u00a0<span style=\"color: silver\">*<\/span>\u00a0<span style=\"color: black\">8<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: silver\">\/<\/span><span style=\"color: black\">1024<\/span>\u00a0<span style=\"color: maroon\">[Size]<\/span> <br \/>\n <span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">qry<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">inner<\/span>\u00a0<span style=\"color: blue\">join<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">master_files<\/span>\u00a0<span style=\"color: maroon\">smf<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">on<\/span>\u00a0<span style=\"color: fuchsia\"><i>db_name<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">smf<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">database_id<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: silver\">=<\/span><span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: blue\">name<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">and<\/span>\u00a0<span style=\"color: maroon\">smf<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">file_id<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">file_id<\/span> <br \/>\n <span style=\"color: blue\">where<\/span>\u00a0<span style=\"color: maroon\">smf<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">type_desc<\/span><span style=\"color: silver\">=<\/span><span style=\"color: red\">&#8216;LOG&#8217;<\/span> <\/span><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-71391 size-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2017\/06\/vlogImagem3.png\" alt=\"vlogs sys.dm_db_log_info and size\" width=\"432\" height=\"294\" \/><\/p>\n<\/blockquote>\n<p>Finally, for a better understand of the result, we can include the recommended number of vlogs as the result, according to the size table above. A simple case statement will do it.<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">with<\/span>\u00a0<span style=\"color: maroon\">qry<\/span>\u00a0<span style=\"color: blue\">as<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: blue\">name<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">TotalVlogs<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">databases<\/span>\u00a0<span style=\"color: maroon\">sdb<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">cross<\/span>\u00a0<span style=\"color: maroon\">apply<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span><span style=\"color: fuchsia\"><i>count<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: silver\">*<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: maroon\">TotalVlogs<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: #ff0080\"><b>dm_db_log_info<\/b><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: fuchsia\"><i>db_id<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">sdb<\/span><span style=\"color: silver\">.<\/span><span style=\"color: blue\">name<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">group<\/span>\u00a0<span style=\"color: blue\">by<\/span>\u00a0<span style=\"color: maroon\">file_id<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: maroon\">log<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: blue\">select<\/span>\u00a0<span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: blue\">name<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">file_id<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">TotalVlogs<\/span><span style=\"color: silver\">,<\/span><span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">size<\/span>\u00a0<span style=\"color: silver\">*<\/span>\u00a0<span style=\"color: black\">8<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: silver\">\/<\/span><span style=\"color: black\">1024<\/span>\u00a0<span style=\"color: maroon\">[Size]<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">case<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">when<\/span>\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">size<\/span>\u00a0<span style=\"color: silver\">*<\/span>\u00a0<span style=\"color: black\">8<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: silver\">\/<\/span><span style=\"color: black\">1024<\/span>\u00a0<span style=\"color: silver\">&lt;<\/span><span style=\"color: black\">1<\/span>\u00a0<span style=\"color: blue\">then<\/span>\u00a0<span style=\"color: black\">3<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">when<\/span>\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">size<\/span>\u00a0<span style=\"color: silver\">*<\/span>\u00a0<span style=\"color: black\">8<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: silver\">\/<\/span><span style=\"color: black\">1024<\/span>\u00a0<span style=\"color: silver\">&lt;<\/span>\u00a0<span style=\"color: black\">64<\/span>\u00a0<span style=\"color: blue\">then<\/span>\u00a0<span style=\"color: black\">4<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">when<\/span>\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">size<\/span>\u00a0<span style=\"color: silver\">*<\/span>\u00a0<span style=\"color: black\">8<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: silver\">\/<\/span><span style=\"color: black\">1024<\/span>\u00a0<span style=\"color: silver\">&lt;<\/span>\u00a0<span style=\"color: black\">100<\/span>\u00a0<span style=\"color: blue\">then<\/span>\u00a0<span style=\"color: black\">8<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">else<\/span>\u00a0<span style=\"color: black\">16<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">end<\/span>\u00a0<span style=\"color: maroon\">RecommendedVLogs<\/span> <br \/>\n <span style=\"color: blue\">from<\/span>\u00a0<span style=\"color: maroon\">qry<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">inner<\/span>\u00a0<span style=\"color: blue\">join<\/span>\u00a0<span style=\"color: maroon\">sys<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">master_files<\/span>\u00a0<span style=\"color: maroon\">smf<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">on<\/span>\u00a0<span style=\"color: fuchsia\"><i>db_name<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">smf<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">database_id<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: silver\">=<\/span><span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: blue\">name<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: blue\">and<\/span>\u00a0<span style=\"color: maroon\">smf<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">file_id<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: maroon\">qry<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">file_id<\/span> <br \/>\n <span style=\"color: blue\">where<\/span>\u00a0<span style=\"color: maroon\">smf<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">type_desc<\/span><span style=\"color: silver\">=<\/span><span style=\"color: red\">&#8216;LOG&#8217;<\/span> <\/span><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-71392 size-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2017\/06\/vlogImagem4.png\" alt=\"vlogs sys.dm_db_log_info with size and recommendation\" width=\"573\" height=\"296\" \/><\/p>\n<\/blockquote>\n<p>From this point, there are several ways to automate this using SQL Server Agent, for example, sending e-mail alerts when the number of vlogs is way above the recommended values.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server 2017 brings to us some new interesting DMV&#8217;s and DMF&#8217;s, one of them is sys.dm_db_log_info. This new DMF allows us to manage VLOGs in our databases. The log files are divided in smaller slices called virtual log files, or vlog. Operations such as log truncations happens over an entire vlog. For example, when&#8230;&hellip;<\/p>\n","protected":false},"author":50808,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,143527],"tags":[5842],"coauthors":[6810],"class_list":["post-71388","post","type-post","status-publish","format-standard","hentry","category-blogs","category-database-administration-sql-server","tag-sql-monitor"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/71388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/50808"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=71388"}],"version-history":[{"count":3,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/71388\/revisions"}],"predecessor-version":[{"id":83071,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/71388\/revisions\/83071"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=71388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=71388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=71388"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=71388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}