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 (4)

  1. Ashraf says:

    I had similar issue using instence name in the commant worked fine.

  2. Ashraf says:

    I had similar issue using instence name in the command worked fine.

  3. Adam says:

    Yup, worked for me.  Thanks.  

  4. Zooromeo says:

    setup.exe /testdbupgrade DBName /testsqlserver VirtSqlSrv worked a treat THANKS !