Prior to upgrading to Microsoft Office SharePoint Server 2007/Windows SharePoint Services 3.0 one of the prerequisites some of you may have already noticed is running PRESCAN.EXE from the installation directory. This post will hopefully provide some insight into PRESCAN.EXE as well as best practices on when it should be run.
PRESCAN.EXE has two primary purposes:
Typically these issues will manifest as a result of failed STSADM backup and restore sequences, but also can occur at the SQL level.
Depending on the nature and growth of your environment, PRESCAN.EXE is best run one (1) week prior to the production upgrade allowing time to address issues uncovered, and again prior to the upgrade itself to ensure that those previous issues have been resolved in addition to identifying new issues, if any.
Nice job Bill. I saw your blog mentioned in a Vorsite article recently.
We have created a portal site in SPS 2003 with name “desarrollo.moss.extranet”. The Virtual server name is “desarrollo.moss.extranet” and is listening in port 80.
When I run prescan.exe the following error is thrown:
“An outbound zone URL is configured for something other than the default zone on virtual server http://desarrollo.moss.extranet/, and no default zone outbound URL is defined. This is not supported, and must be corrected before upgrading.”
The default zone outbound URL IS defined
I would recommend confirming your Access Setting Information in SharePoint Portal Server Central Administration > Configure Alternate Portal Access Settings, typically http://<server>:<port>/SPS/AccessSettingEdit.aspx. If the server farm is hosting only one virtual server it may be possible to scan using http://<server>/sites/site as opposed to the friendly name.
I ran the prescan tool with the following: prescan.exe /c preupgradescanconfig.xml /all
Our env. has 2 WFE network load balanced together, one separate index server.
In the prescan log file, I noticed the following, would you please explain what it means?
11/29/2006 10:41:31 Scanning SPWeb: http://crpvws06d/C0
11/29/2006 10:41:31 Updating list schema in web.
11/29/2006 10:41:31 Cannot locate the list definition required for upgrade. Check to ensure you have all templates and language packs installed.
11/29/2006 10:41:31 Error: Exception scanning web: http://crpvws06d/C0
11/29/2006 10:41:31 System.Runtime.InteropServices.COMException (0x80004005): Cannot complete this action.
Please try again.
at Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateSchemaAllListsOfWeb(String bstrUrl)
at Microsoft.SharePoint.PreupgradeReport.Scan.ScanOneSPWeb(SqlConnection connection, String vsUrl, SPVirtualServer vs, SPSite site, SPWeb web)
11/29/2006 10:42:30 Error: The following site has not been scanned. Id = ac8ae79c-8a72-470f-aa71-ec952e71ce3b and Url = /personal/sbhatnagar
11/29/2006 10:42:30 Error: The following list has not been scrubbed: Id=949d965f-7958-4799-9df6-5772c9c9a8e5, Name=Document Library, Containing Web=C3
Also in the prescan.log, I see the following:
0 11/29 10:41:31 2368 FAILED to persist field schema of lists in web "http://crpvws06d/C0"
0 11/29 10:41:31 2368 Cannot complete this action.
Your help will be greatly appreciated. Thanks.
I was hoping when I found your post, that it would help me to interpret the pre-scan results. Would you mind sharing insights or pointing us in the right direction to help us understand what the pre-scan messages mean and what types of situations may cause the errors or issues reported?
For example, what does it mean "The following list has not been scrubbed:" What situations would cause a list not to be scrubbed? What action should we take as a result of this message?
I put together this post as a follow-up to my initial PRESCAN topic " Understanding PRESCAN.EXE in MOSS
In response to Stacey's comment; if a List is orhaned and cannot be reached through the SharePoint OM, prescan will generate the error: "The following list has not been scrubbed", and will include the List Id to additional troubleshooting. For additional information on remediating this and other PRESCAN errors, see my post here: http://blogs.technet.com/wbaer/archive/2006/12/22/prescan-errors-what-they-mean.aspx.
MSDN Windows SharePoint Services Run the pre-upgrade scan tool (Windows SharePoint Services) http://technet2.microsoft.com/Office/en-us/library/035a3024-bd27-4d63-9499-0f15ac00c6e61033.mspx?mfr=true
Do you know if prescan.exe can be run against a particular port number?
e.g. prescan.exe /v http://myserver:1959
(Prescan.exe doesn't seem to recognize the port when I run the above)
PRESCAN is capable of running against a specific port. If PRESCAN reports the virtual server cannot be accessed, you should check and confirm the following configurations and run the pre-upgrade report tool (PRESCAN.EXE) again:
Using the port settings sample you provide I was able to successfully obtain PRESCAN results in my lab.
02/03/2007 11:37:57 Scanning SPWeb: http://spsites:1959/Topics
02/03/2007 11:37:57 Web is using custom template "SPSTOC".
02/03/2007 11:37:57 Updating list schema in web.
02/03/2007 11:37:57 Checking if Server="X-REDMMSSPTRS01";Database="SPSites1_SITE";Trusted_Connection=yes;App="prescan.exe" is a WSS V2 SP2 database.
02/03/2007 11:37:57 Checking if any site has not yet been scanned in Server="X-REDMMSSPTRS01";Database="SPSites1_SITE";Trusted_Connection=yes;App="prescan.exe".
02/03/2007 11:37:57 Checking if any list has not yet been scrubbed in Server="X-REDMMSSPTRS01";Database="SPSites1_SITE";Trusted_Connection=yes;App="prescan.exe".
02/03/2007 11:37:57 Scan finished without failure.
02/03/2007 11:37:57 ===============================Logs===============================
02/03/2007 11:37:57 Log file: C:\DOCUME~1\MS7C45~1\LOCALS~1\Temp\PreupgradeReport_633060994741085700_Log.txt
02/03/2007 11:37:57 Summary file: C:\DOCUME~1\MS7C45~1\LOCALS~1\Temp\PreupgradeReport_633060994741085700_Summary.xml
02/03/2007 11:37:57 ==============================Totals==============================
02/03/2007 11:37:57 Number of sites skipped (already scanned): 0
02/03/2007 11:37:57 Number of sites scanned: 1
02/03/2007 11:37:57 Number of broken sites: 0
02/03/2007 11:37:57 Number of webs scanned: 18
02/03/2007 11:37:57 Number of broken webs: 0
02/03/2007 11:37:57 Number of webs using custom template: 18 (100% of total).
02/03/2007 11:37:57 Number of pages scanned: 298
02/03/2007 11:37:57 Number of unghosted pages: 0
I copied over the content database from SQL 2000/SPS2003 and did a restore on my new SQL 2005/MOSS2007. When i try to add the content database from sql 2000/SPS2003, it is asking me to run the prescan.exe tool. But when i run the tool, i get the following error.
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>PRESCAN.EXE /ALL
Preupgrade scan failed with the following error:
System.InvalidOperationException: The ConnectionString property has not been ini
at Microsoft.SharePoint.PreupgradeReport.Scan.Run(StringCollection argsList)
at Microsoft.SharePoint.PreupgradeReport.MainLoop.Main(String args)
and the log files in the local setting show this
02/20/2007 17:10:33 Error: Failed to get connection string to config db.
02/20/2007 17:10:33 System.NullReferenceException: Object reference not set to an instance of an object.
What am I doing wrong?