{"id":578,"date":"2009-10-10T15:44:00","date_gmt":"2009-10-10T15:44:00","guid":{"rendered":"https:\/\/brainlitter.itgroove.net\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/"},"modified":"2009-10-10T15:44:00","modified_gmt":"2009-10-10T15:44:00","slug":"resolution-to-strange-sharepoint-sql-database-restore-problem","status":"publish","type":"post","link":"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/","title":{"rendered":"Resolution to strange SharePoint SQL Database Restore Problem"},"content":{"rendered":"<div class=\"ExternalClassEB1871CC561144AC8D7FF62D76AF555C\">\n<h2>The Requirement <\/h2>\n<p>A customer had quite the mess of a SharePoint farm. Efforts are being made to clean it up \u2026 but in the meantime, they required a backup of a SharePoint Content Database (from 5 days ago) to be restored into a new (temporary) Web Application to retrieve some old data. Typically, this would be a simple request. <\/p>\n<p>\u00a0<\/p>\n<h2>The Issues <\/h2>\n<p>The problem was, when it came time to restore, we experienced the following problems (differing, depending on minor changes to the approach): <\/p>\n<ol>\n<li>Content Database would not attach at all (using this syntax<strong>: stsadm.exe -o addcontentdb -url <span>http:\/\/servername:port<\/span> -databasename <span style=\"color:#76923c\">content_database_name<\/span> -databaseserver <span style=\"color:#76923c\">SQL_Server_Name<\/span><\/strong>). This would return the following Error\u2026 <em><span style=\"color:#c0504d\">The specified SPContentDatabase Name=content_database_name Parent=SPDatabaseServiceInstance has been upgraded to a newer version of SharePoint. Please upgrade this SharePoint application server before attempting to access this object.\n<p><\/span><span style=\"color:#365f91;font-size:14pt\"><strong>Or\u2026<\/strong><\/span><span style=\"color:#c0504d\"><br \/><\/span><\/em><\/li>\n<li>The Content Database would attach (using above syntax) but Central Administration would indicate that the Content Database contained &#8220;0&#8221; (zero) sites and if you attempted to go to the Web Application, you would get a 404 <\/li>\n<\/ol>\n<p>\u00a0<\/p>\n<h2>What We Tried First (Validation) <\/h2>\n<ol>\n<li>\n<div>First, as it seemed pretty clear there were version issues, I verified that the Farm was at the expected build number (MOSS\/WSS SP1 by the way) \u2013 and it was (6219). <\/div>\n<ol>\n<li>How: In Central Admin, Operations, Servers in Farm <\/li>\n<\/ol>\n<\/li>\n<li>\n<div>Second, I verified each WFE&#8217;s version <\/div>\n<ol>\n<li><span style=\"color:#c0504d\">Find\/compare <strong>Owssvr.dll<\/strong> (in 12 hive isapi directory) <\/span><\/li>\n<li><span style=\"color:#c0504d\">In the Registry &#8211; &#8220;HKEY_LOCAL_MACHINESOFTWAREMicrosoftShared ToolsWeb Server Extensions12.0&#8221;, verify versions are the same <\/span><\/li>\n<\/ol>\n<\/li>\n<li>\n<div>Third, I verified that the restored Content Database was at the same version (well, or so it reported\u2026) <\/div>\n<ol>\n<li>\n<div>How: In SQL, perform the following Query against the database <\/div>\n<p><span style=\"font-family:Courier New;color:#c0504d;font-size:10pt\">SELECT [VersionId] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[Version] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[Id] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[UserName] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[TimeStamp] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[FinalizeTimeStamp] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[Mode] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[ModeStack] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[Updates] <br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0,[Notes] <br \/>\u00a0\u00a0FROM [WSS_Content].[dbo].[Versions] <\/span><\/p>\n<p><span style=\"color:black\"><strong>Or\u2026 <\/strong><\/span><\/p>\n<p style=\"margin-left:9pt\"><span style=\"font-family:Courier New;color:#c0504d;font-size:10pt\">select * from versions order by timestamp desc <\/span><\/p>\n<\/li>\n<\/ol>\n<\/li>\n<li>Groupboard Workspace was once installed in the environment as well (and the Farm had recently been rebuilt in haste), so we attempted to put that back temporarily to see if that had any effect <\/li>\n<\/ol>\n<p>\u00a0<\/p>\n<h2>The Solution <\/h2>\n<p>So, it was pretty clear WSS\/MOSS SP1 was applied everywhere (but the *history* behind the Farm and some knee jerk reactions does leave some question as to the overall stability and consistency of the environment). Thus, we took the following steps (remember, the requirement was to get some data from an old site backup \u2013 next steps of course will be to bring the farm to SP2 to be more recent\/compliant and supportable for the long haul). <\/p>\n<p>\u00a0<\/p>\n<ol>\n<li>Built a &#8216;beater farm&#8217; (a playpen, separate from Dev and Production, that we were comfortable with manipulating\/patching as necessary) with SP1 installed and GroupBoard Workspace (though unclear still whether that mattered in the end \u2026 but I don&#8217;t care on a Saturday when I should be getting ready to watch the Leafs vs. Penguins game) <\/li>\n<li>Restored the SQL Database from backup one more time <\/li>\n<li>Created a new web application <\/li>\n<li>Removed the DB created by the new web application <\/li>\n<li>\n<div>Attached the SQL Database to the new web application (again, see syntax above) <\/div>\n<ol>\n<li>Still &#8220;0&#8221; sites if restored into a web application with no Site Collection pre-created previously in new Web Application <\/li>\n<li>Still get &#8220;The specified SPContentDatabase Name=FLAGCONTENTDB1 Parent=SPDatabaseServiceInstance has been upgraded to a newer version of SharePoint. Please upgrade this SharePoint application server before attempting to access this object.&#8221; If we restored into it, without pre-creating a site collection in the placeholder web application <\/li>\n<\/ol>\n<\/li>\n<li>Applied SP2 to the Beater Farm \u2026 <span style=\"color:#365f91;font-size:14pt;text-decoration:underline\">and we have success<\/span>\u2026 We can mount the site collections and retrieve the necessary, archived data \u2013 the customer&#8217;s requirement is met <\/li>\n<\/ol>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>Yep, after all that, despite the Database indicating it was created with SP1, it would not restore into an SP1 environment. An upgrade to SP2 however was sufficient to bring the content back online so the data could be retrieved. <\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><em>Hope this helps someone, somewhere. <\/em><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<h2>References <\/h2>\n<ul>\n<li>Handy Reference\/Overview Listing of SharePoint Build Numbers &#8211; <a href=\"http:\/\/stabilissolutions.blogspot.com\/2008\/12\/sharepoint-2007-version-numbers.html\">http:\/\/stabilissolutions.blogspot.com\/2008\/12\/sharepoint-2007-version-numbers.html<\/a> <\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The Requirement A customer had quite the mess of a SharePoint farm. Efforts are being made to clean it up \u2026 but in the meantime, they required a backup of a SharePoint Content Database (from 5 days ago) to be restored into a new (temporary) Web Application to retrieve some old data. Typically, this would &hellip; <a href=\"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/\"><\/a><\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[337,14,428,339],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Resolution to strange SharePoint SQL Database Restore Problem - Brainlitter - Inside the mind of Sean Wallbridge<\/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:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Resolution to strange SharePoint SQL Database Restore Problem - Brainlitter - Inside the mind of Sean Wallbridge\" \/>\n<meta property=\"og:description\" content=\"The Requirement A customer had quite the mess of a SharePoint farm. Efforts are being made to clean it up \u2026 but in the meantime, they required a backup of a SharePoint Content Database (from 5 days ago) to be restored into a new (temporary) Web Application to retrieve some old data. Typically, this would &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/\" \/>\n<meta property=\"og:site_name\" content=\"Brainlitter - Inside the mind of Sean Wallbridge\" \/>\n<meta property=\"article:published_time\" content=\"2009-10-10T15:44:00+00:00\" \/>\n<meta name=\"author\" content=\"Sean Wallbridge\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sean Wallbridge\" \/>\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\":\"WebPage\",\"@id\":\"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/\",\"url\":\"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/\",\"name\":\"Resolution to strange SharePoint SQL Database Restore Problem - Brainlitter - Inside the mind of Sean Wallbridge\",\"isPartOf\":{\"@id\":\"https:\/\/regroove.ca\/brainlitter\/#website\"},\"datePublished\":\"2009-10-10T15:44:00+00:00\",\"dateModified\":\"2009-10-10T15:44:00+00:00\",\"author\":{\"@id\":\"https:\/\/regroove.ca\/brainlitter\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77\"},\"breadcrumb\":{\"@id\":\"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Brainlitter\",\"item\":\"https:\/\/regroove.ca\/brainlitter\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resolution to strange SharePoint SQL Database Restore Problem\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/regroove.ca\/brainlitter\/#website\",\"url\":\"https:\/\/regroove.ca\/brainlitter\/\",\"name\":\"Brainlitter - Inside the mind of Sean Wallbridge\",\"description\":\"Dad. Husband. Drummer. Learner of Things.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/regroove.ca\/brainlitter\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/regroove.ca\/brainlitter\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77\",\"name\":\"Sean Wallbridge\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/regroove.ca\/brainlitter\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g\",\"caption\":\"Sean Wallbridge\"},\"url\":\"https:\/\/regroove.ca\/brainlitter\/author\/swallbridge\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Resolution to strange SharePoint SQL Database Restore Problem - Brainlitter - Inside the mind of Sean Wallbridge","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:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/","og_locale":"en_US","og_type":"article","og_title":"Resolution to strange SharePoint SQL Database Restore Problem - Brainlitter - Inside the mind of Sean Wallbridge","og_description":"The Requirement A customer had quite the mess of a SharePoint farm. Efforts are being made to clean it up \u2026 but in the meantime, they required a backup of a SharePoint Content Database (from 5 days ago) to be restored into a new (temporary) Web Application to retrieve some old data. Typically, this would &hellip;","og_url":"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/","og_site_name":"Brainlitter - Inside the mind of Sean Wallbridge","article_published_time":"2009-10-10T15:44:00+00:00","author":"Sean Wallbridge","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sean Wallbridge","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/","url":"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/","name":"Resolution to strange SharePoint SQL Database Restore Problem - Brainlitter - Inside the mind of Sean Wallbridge","isPartOf":{"@id":"https:\/\/regroove.ca\/brainlitter\/#website"},"datePublished":"2009-10-10T15:44:00+00:00","dateModified":"2009-10-10T15:44:00+00:00","author":{"@id":"https:\/\/regroove.ca\/brainlitter\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77"},"breadcrumb":{"@id":"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/regroove.ca\/brainlitter\/2009\/10\/10\/resolution-to-strange-sharepoint-sql-database-restore-problem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Brainlitter","item":"https:\/\/regroove.ca\/brainlitter\/"},{"@type":"ListItem","position":2,"name":"Resolution to strange SharePoint SQL Database Restore Problem"}]},{"@type":"WebSite","@id":"https:\/\/regroove.ca\/brainlitter\/#website","url":"https:\/\/regroove.ca\/brainlitter\/","name":"Brainlitter - Inside the mind of Sean Wallbridge","description":"Dad. Husband. Drummer. Learner of Things.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/regroove.ca\/brainlitter\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/regroove.ca\/brainlitter\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77","name":"Sean Wallbridge","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/regroove.ca\/brainlitter\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g","caption":"Sean Wallbridge"},"url":"https:\/\/regroove.ca\/brainlitter\/author\/swallbridge\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/posts\/578"}],"collection":[{"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/comments?post=578"}],"version-history":[{"count":0,"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/posts\/578\/revisions"}],"wp:attachment":[{"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/media?parent=578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/categories?post=578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/regroove.ca\/brainlitter\/wp-json\/wp\/v2\/tags?post=578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}