{"id":690,"date":"2018-01-16T14:06:10","date_gmt":"2018-01-16T20:06:10","guid":{"rendered":"http:\/\/www.sqlnuggets.com\/?p=690"},"modified":"2018-01-16T14:12:32","modified_gmt":"2018-01-16T20:12:32","slug":"corruption-backup-compression-tde-sql-2017","status":"publish","type":"post","link":"https:\/\/sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/","title":{"rendered":"Corruption With Backup Compression And TDE In SQL 2017"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-594 aligncenter\" src=\"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280-1024x512.png\" alt=\"\" width=\"800\" height=\"400\" srcset=\"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280-1024x512.png 1024w, https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280-300x150.png 300w, https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280-768x384.png 768w, https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png 1280w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Last week I spent a good bit of time dealing with a corruption issue, and as it turns out I may actually have found a bug in SQL Server 2017.\u00a0 I say &#8220;may&#8221; because even though I have been working a Microsoft SQL Server PFE (Premier Field Engineer) and providing information to the SQL Server Engineering Team, I have not yet gotten a definite confirmation that this is in fact a new bug, although I have not been able to find any mention of this particular problem anywhere else.<\/p>\n<h4>The Problem:<\/h4>\n<p>As part of my <a href=\"https:\/\/sqlnuggets.com\/blog\/tag\/azure-migration\/\">Azure migration<\/a>, I am moving from SQL Server 2014 to SQL Server 2017.\u00a0 Since all of our databases use <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/security\/encryption\/transparent-data-encryption\" target=\"_blank\" rel=\"noopener\">TDE<\/a>, the new enhancement in backup compression of TDE databases (<a href=\"https:\/\/blogs.msdn.microsoft.com\/sqlcat\/2016\/06\/20\/sqlsweet16-episode-1-backup-compression-for-tde-enabled-databases\/\" target=\"_blank\" rel=\"noopener\">released in SQL Server 2016<\/a>) is of particular interest to me.\u00a0 While none of our databases are very large, I like the idea of getting backups as small as possible since you have to pay\u00a0per GB of storage in Azure.<\/p>\n<p>The problem that I was having was that using backup compression on my TDE database would cause the backups to become corrupt.\u00a0 The backup would complete successfully, but\u00a0RESTORE VERIFYONLY would throw the following error:<\/p>\n<h4><em><span style=\"color: #ff0000;\">\u201cDamage to the backup set was detected.\u201d<\/span><\/em><\/h4>\n<p>Not only would\u00a0RESTORE VERIFYONLY throw an error, but attempting to restore the backup resulted in an error as well:<\/p>\n<h4><em><span style=\"color: #ff0000;\">\u201cRESTORE detected an error on page (1:92454)\u201d<\/span><\/em><\/h4>\n<p>The page being referenced is in the clustered index of the <em>sys.sysmultiobjrefs<\/em> table.\u00a0 Not good!\u00a0 I did quite a bit of testing around this, and wound up <a href=\"https:\/\/dba.stackexchange.com\/questions\/195078\/backup-compression-causing-corruption-in-sql-2017-tde-database\" target=\"_blank\" rel=\"noopener\">posting my results on the DBA Stack Exchange site<\/a> hoping to find some help.\u00a0 I&#8217;m not going to go back through all of the technical details here, since everything is listed in my DBA Stack Exchange (DBA.SE) post.\u00a0 In the comment thread on that post (which has since been deleted by the moderators) I was contacted by Microsoft SQL Server PFE\u00a0Sean Gallardy.<\/p>\n<p>Sean was a huge help in further troubleshooting this issue, and we wound up continuing our investigation of this issue over email and off of DBA.SE.\u00a0 Sean was able to pinpoint the problem, to the point I was then able to create or prevent the corruption at will.\u00a0 I later came back and updated the DBA.SE post with our findings.<\/p>\n<h4>The Bug:<\/h4>\n<p>It looks like this issue is with databases that have had SHRINK operations run on them. In my case, I was taking a copy of one of our production databases on SQL Server 2014 (which is already encrypted with TDE), running DBCC SHRINKFILE on both the data and log files, then taking a backup and restoring it on my new SQL 2017 Server. (The reason for the shrink was to reduces the size to make transferring the backup faster.)<\/p>\n<p>As a test, I restored a copy of the database that I did not run DBCC SHRINKFILE on, and it did not have the corruption problems when compressing backups.\u00a0 Everything worked as expected.<\/p>\n<p>So, to summarize, the results of my testing are as follows:<\/p>\n<ul>\n<li>Normal backup\/restore operations on this \u201cshrunken\u201d TDE database work correctly in SQL 2017<\/li>\n<li>Compressing backups of the \u201cshrunken\u201d TDE database seem to cause corruption in the <em>sys.sysmultiobjrefs<\/em> table.\u00a0 I later tried this on other databases, and while I always ended up with corruption, it wasn&#8217;t always a sys table.\u00a0 Sometimes the corruption would be in regular user tables instead<\/li>\n<li>Compressing backups of the regular TDE database (not having DBCC SHRINKFILE run) worked correctly and did not report corruption<\/li>\n<\/ul>\n<p>As I said, I do not know if this is a confirmed bug in SQL Server 2017, but I have sent my findings to Microsoft for them to look over.<\/p>\n<p>But, the moral of this story is: DO NOT SHRINK YOUR DATABASES! EVER! \ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last week I spent a good bit of time dealing with a corruption issue, and as it turns out I may actually have found a bug in SQL Server 2017.\u00a0 &#8230;<\/p>\n","protected":false},"author":2,"featured_media":594,"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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2,62,28,49],"tags":[55,11,10,37,33],"class_list":["post-690","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-backups","category-corruption","category-db-engine","category-errors","tag-azure-migration","tag-backups","tag-database-maintenance","tag-dbcc-checkdb","tag-encryption"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Corruption With Backup Compression And TDE In SQL 2017 - SQL Nuggets<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Corruption With Backup Compression And TDE In SQL 2017 - SQL Nuggets\" \/>\n<meta property=\"og:description\" content=\"Last week I spent a good bit of time dealing with a corruption issue, and as it turns out I may actually have found a bug in SQL Server 2017.\u00a0 ...\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/\" \/>\n<meta property=\"og:site_name\" content=\"SQL Nuggets\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-16T20:06:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-01-16T20:12:32+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Eric Cobb\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cfgears\" \/>\n<meta name=\"twitter:site\" content=\"@sqlnugg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eric Cobb\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/\"},\"author\":{\"name\":\"Eric Cobb\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#\\\/schema\\\/person\\\/210536254addbc1b9d2d95dc1448b38a\"},\"headline\":\"Corruption With Backup Compression And TDE In SQL 2017\",\"datePublished\":\"2018-01-16T20:06:10+00:00\",\"dateModified\":\"2018-01-16T20:12:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/\"},\"wordCount\":636,\"commentCount\":3,\"publisher\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#organization\"},\"image\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlnuggets.com\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/corrupt-147974_1280.png\",\"keywords\":[\"Azure Migration\",\"Backups\",\"Database Maintenance\",\"DBCC CheckDB\",\"Encryption\"],\"articleSection\":[\"Backups\",\"Corruption\",\"DB Engine\",\"Errors\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/\",\"url\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/\",\"name\":\"Corruption With Backup Compression And TDE In SQL 2017 - SQL Nuggets\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlnuggets.com\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/corrupt-147974_1280.png\",\"datePublished\":\"2018-01-16T20:06:10+00:00\",\"dateModified\":\"2018-01-16T20:12:32+00:00\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sqlnuggets.com\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/corrupt-147974_1280.png\",\"contentUrl\":\"https:\\\/\\\/sqlnuggets.com\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/corrupt-147974_1280.png\",\"width\":1280,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/corruption-backup-compression-tde-sql-2017\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/www.sqlnuggets.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Corruption With Backup Compression And TDE In SQL 2017\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#website\",\"url\":\"http:\\\/\\\/www.sqlnuggets.com\\\/\",\"name\":\"SQL Nuggets\",\"description\":\"Nuggets Of SQL Server Knowledge\",\"publisher\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/www.sqlnuggets.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#organization\",\"name\":\"SQL Nuggets\",\"url\":\"http:\\\/\\\/www.sqlnuggets.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/sqlnuggets.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/website-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/sqlnuggets.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/website-logo.jpg\",\"width\":320,\"height\":54,\"caption\":\"SQL Nuggets\"},\"image\":{\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/sqlnugg\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ericcobb\\\/\"]},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/www.sqlnuggets.com\\\/#\\\/schema\\\/person\\\/210536254addbc1b9d2d95dc1448b38a\",\"name\":\"Eric Cobb\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ca1fc0c7054a668e048f09d412cd4ebf89833c4630fbbfccca78a0678a6bdc2?s=96&d=mm&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ca1fc0c7054a668e048f09d412cd4ebf89833c4630fbbfccca78a0678a6bdc2?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ca1fc0c7054a668e048f09d412cd4ebf89833c4630fbbfccca78a0678a6bdc2?s=96&d=mm&r=pg\",\"caption\":\"Eric Cobb\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/cfgears\"],\"url\":\"https:\\\/\\\/sqlnuggets.com\\\/author\\\/eric-cobb\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Corruption With Backup Compression And TDE In SQL 2017 - SQL Nuggets","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":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/","og_locale":"en_US","og_type":"article","og_title":"Corruption With Backup Compression And TDE In SQL 2017 - SQL Nuggets","og_description":"Last week I spent a good bit of time dealing with a corruption issue, and as it turns out I may actually have found a bug in SQL Server 2017.\u00a0 ...","og_url":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/","og_site_name":"SQL Nuggets","article_published_time":"2018-01-16T20:06:10+00:00","article_modified_time":"2018-01-16T20:12:32+00:00","og_image":[{"width":1280,"height":640,"url":"http:\/\/www.sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png","type":"image\/png"}],"author":"Eric Cobb","twitter_card":"summary_large_image","twitter_creator":"@cfgears","twitter_site":"@sqlnugg","twitter_misc":{"Written by":"Eric Cobb","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#article","isPartOf":{"@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/"},"author":{"name":"Eric Cobb","@id":"http:\/\/www.sqlnuggets.com\/#\/schema\/person\/210536254addbc1b9d2d95dc1448b38a"},"headline":"Corruption With Backup Compression And TDE In SQL 2017","datePublished":"2018-01-16T20:06:10+00:00","dateModified":"2018-01-16T20:12:32+00:00","mainEntityOfPage":{"@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/"},"wordCount":636,"commentCount":3,"publisher":{"@id":"http:\/\/www.sqlnuggets.com\/#organization"},"image":{"@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png","keywords":["Azure Migration","Backups","Database Maintenance","DBCC CheckDB","Encryption"],"articleSection":["Backups","Corruption","DB Engine","Errors"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/","url":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/","name":"Corruption With Backup Compression And TDE In SQL 2017 - SQL Nuggets","isPartOf":{"@id":"http:\/\/www.sqlnuggets.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#primaryimage"},"image":{"@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png","datePublished":"2018-01-16T20:06:10+00:00","dateModified":"2018-01-16T20:12:32+00:00","breadcrumb":{"@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#primaryimage","url":"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png","contentUrl":"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png","width":1280,"height":640},{"@type":"BreadcrumbList","@id":"http:\/\/www.sqlnuggets.com\/corruption-backup-compression-tde-sql-2017\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/www.sqlnuggets.com\/"},{"@type":"ListItem","position":2,"name":"Corruption With Backup Compression And TDE In SQL 2017"}]},{"@type":"WebSite","@id":"http:\/\/www.sqlnuggets.com\/#website","url":"http:\/\/www.sqlnuggets.com\/","name":"SQL Nuggets","description":"Nuggets Of SQL Server Knowledge","publisher":{"@id":"http:\/\/www.sqlnuggets.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.sqlnuggets.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/www.sqlnuggets.com\/#organization","name":"SQL Nuggets","url":"http:\/\/www.sqlnuggets.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.sqlnuggets.com\/#\/schema\/logo\/image\/","url":"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2023\/11\/website-logo.jpg","contentUrl":"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2023\/11\/website-logo.jpg","width":320,"height":54,"caption":"SQL Nuggets"},"image":{"@id":"http:\/\/www.sqlnuggets.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/sqlnugg","https:\/\/www.linkedin.com\/in\/ericcobb\/"]},{"@type":"Person","@id":"http:\/\/www.sqlnuggets.com\/#\/schema\/person\/210536254addbc1b9d2d95dc1448b38a","name":"Eric Cobb","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3ca1fc0c7054a668e048f09d412cd4ebf89833c4630fbbfccca78a0678a6bdc2?s=96&d=mm&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/3ca1fc0c7054a668e048f09d412cd4ebf89833c4630fbbfccca78a0678a6bdc2?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3ca1fc0c7054a668e048f09d412cd4ebf89833c4630fbbfccca78a0678a6bdc2?s=96&d=mm&r=pg","caption":"Eric Cobb"},"sameAs":["https:\/\/x.com\/cfgears"],"url":"https:\/\/sqlnuggets.com\/author\/eric-cobb\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/sqlnuggets.com\/wp-content\/uploads\/2017\/11\/corrupt-147974_1280.png","jetpack_shortlink":"https:\/\/wp.me\/pdyDvE-b8","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":564,"url":"https:\/\/sqlnuggets.com\/notes-sql-2017-azure-install-trace-flags\/","url_meta":{"origin":690,"position":0},"title":"Notes From A SQL 2017 Azure Install &#8211; Trace Flags","author":"Eric Cobb","date":"October 11, 2017","format":false,"excerpt":"Like most Database Administrators, I have a standard set of Trace Flags that I implement on my SQL Servers.\u00a0 These are my tried and true trusty companions, used to help tune SQL Server to my specific needs. However, with SQL Server 2017 some of my long-time trusty Trace Flags are\u2026","rel":"","context":"In &quot;Azure&quot;","block_context":{"text":"Azure","link":"https:\/\/sqlnuggets.com\/category\/azure\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":93,"url":"https:\/\/sqlnuggets.com\/sql-server-maintenance-scripts\/","url_meta":{"origin":690,"position":1},"title":"SQL Server Maintenance Scripts","author":"Eric Cobb","date":"July 9, 2015","format":false,"excerpt":"When it comes to everyday routine maintenance of your SQL Server databases, you can't beat Ola Hallengren's\u00a0SQL Server Maintenance Solution. \u00a0Focusing on\u00a0SQL Server Backups,\u00a0SQL Server Integrity Checks, and SQL Server Index and Statistics Maintenance, it\u00a0has pretty much become the go-to\u00a0maintenance solution for many SQL Server database administrators. \u00a0We have it\u2026","rel":"","context":"In &quot;Tools&quot;","block_context":{"text":"Tools","link":"https:\/\/sqlnuggets.com\/category\/tools\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":567,"url":"https:\/\/sqlnuggets.com\/notes-sql-2017-azure-install\/","url_meta":{"origin":690,"position":2},"title":"Notes From A SQL 2017 Azure Install","author":"Eric Cobb","date":"October 11, 2017","format":false,"excerpt":"Now that SQL Server 2017 is out it's time for everyone to start migrating to it, right?\u00a0 RIGHT? Well, in my case, the answer actually is \"Yes!\"\u00a0 At my day job we have started a project to move from our current data center into Azure.\u00a0 While we originally planned to\u2026","rel":"","context":"In &quot;Azure&quot;","block_context":{"text":"Azure","link":"https:\/\/sqlnuggets.com\/category\/azure\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":702,"url":"https:\/\/sqlnuggets.com\/notes-sql-2017-azure-install-automatic-seeding-availability-group-tde-database\/","url_meta":{"origin":690,"position":3},"title":"Notes From A SQL 2017 Azure Install \u2013 Automatic Seeding Of An Availability Group TDE Database","author":"Eric Cobb","date":"February 13, 2018","format":false,"excerpt":"One of the neat features introduced with SQL Server 2016 was the automatic seeding of availability groups.\u00a0 And while it seems to work pretty well in most cases, if you are using TDE with your databases then all bets are off!\u00a0 Here's an article from the folks over at\u00a0Brent Ozar\u2026","rel":"","context":"In &quot;Availability Groups&quot;","block_context":{"text":"Availability Groups","link":"https:\/\/sqlnuggets.com\/category\/availability-groups\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":27,"url":"https:\/\/sqlnuggets.com\/automating-backups-for-sql-server-2008-r2-express-edition\/","url_meta":{"origin":690,"position":4},"title":"Automating backups for SQL Server 2008 R2 Express Edition","author":"Eric Cobb","date":"June 9, 2015","format":false,"excerpt":"One of the limitations of SQL Server Express is that you can't automate backups in it via the SQL Server Agent like you can the other versions of SQL Server. You have to manually write the backup scripts and then schedule them to run in Windows Scheduled Tasks. This really\u2026","rel":"","context":"In &quot;Backups&quot;","block_context":{"text":"Backups","link":"https:\/\/sqlnuggets.com\/category\/backups\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":613,"url":"https:\/\/sqlnuggets.com\/notes-sql-2017-azure-install-using-load-balancer-availability-group-listener\/","url_meta":{"origin":690,"position":5},"title":"Notes From A SQL 2017 Azure Install \u2013 Using A Load Balancer As An Availability Group Listener","author":"Eric Cobb","date":"November 9, 2017","format":false,"excerpt":"When setting up\u00a0SQL Server Availability Groups on Azure virtual machines, one of the requirements is that you use a load balancer for your Availability Group listener.\u00a0\u00a0The load balancer stores the IP address for the listener, and then you configure the cluster to use the IP address from the load balancer\u2026","rel":"","context":"In &quot;Availability Groups&quot;","block_context":{"text":"Availability Groups","link":"https:\/\/sqlnuggets.com\/category\/availability-groups\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/sqlnuggets.com\/wp-content\/uploads\/2017\/10\/Cloud-Azure.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/posts\/690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/comments?post=690"}],"version-history":[{"count":0,"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/posts\/690\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/media\/594"}],"wp:attachment":[{"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/media?parent=690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/categories?post=690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlnuggets.com\/wp-json\/wp\/v2\/tags?post=690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}