Share via


TestDBUpgrade on a Named Instance

In a scenario where a hardened SQL named instance (e.g., SQLI1) is used to perform the database (e.g., SMS_P01) upgrade test for a service pack the ConfigMgrSetup.log may contain the following errors:

The command line options are /TESTDBUPGRADE SMS_P01
...
Testing database upgrade on SMS_P01 database, on the sqlsrv01 server.
Running test query.
***SqlError: [08001][17][Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server does not exist or access denied.
***SqlError: [01000][2][Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionOpen (Connect()).
...
Test query to sql database SMS_P01 failed.

I'm no stranger to these sorts of errors in working with hardened SQL (SSLF policies, reduced services, etc.) but I had to resort to Sysinternals Process Monitor to resolve this one. At the end of the capture around the last writes to the ConfigMgrSetup.log file, a RegOpenKey call appears to HKLM\Software\Microsoft\SMS\SQL Server.  I checked that key on the primary site server and found a value for Database Name with the data SQLI1\SMS_P01.

Retrying the command including the named instance succeeded, with the following from the log:

The command line options are /TESTDBUPGRADE SQLI1\SMS_P01
...
Testing database upgrade on SQLI1\SMS_P01 database, on the sqlsrv01 server.
Running test query.
Sql version is 9.0, 9.00.4053.00.
SiteCode for the specified database is P01

 

On a semi-related note, in my ressearch for this issue I came across an undocumented command-line switch for ConfigMgr 2007 setup:

setup.exe /testdbupgrade DBName /testsqlserver VirtSqlSrv

I haven't tested its use, but I think it allows for the use of a SQL cluster for running the database upgrade test, where the second parameter specifies the name of the virtual server for the SQL cluster.

Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the Terms of Use .

Comments

  • Anonymous
    November 11, 2010
    I had similar issue using instence name in the commant worked fine.

  • Anonymous
    November 11, 2010
    I had similar issue using instence name in the command worked fine.

  • Anonymous
    November 25, 2013
    Yup, worked for me.  Thanks.  

  • Anonymous
    September 02, 2015
    setup.exe /testdbupgrade DBName /testsqlserver VirtSqlSrv worked a treat THANKS !