4

Basic Information : Running Microsoft Windows Server 2008 with MS SQL Server 2008 (version 10.0.5869), trying to upgrade to SQL Server 2012. Currently working in a cloned VM of our production server (so I can try things and not worry about affecting our production system).

Current server setup:

  • C Drive: Operating System (About 7 GB of 50 GB free)
  • J Drive: Program Files (About 65 GB of 78 GB free)
  • F Drive: SQL Databases (About 120 GB of 195 GB free)

Issue: I am trying to do an upgrade of our existing MS SQL Server 2008 install. I am using the GUI method, and choosing "Upgrade from SQL Server, 2005, SQL Server 2008, or SQL Server 2008 R2" in the Setup GUI:

Image of the Setup GUI

All the checks & rules run with no issues. When I get to the "Instance Configuration" screen in the setup GUI, it is not respecting where my SQL Server instance is already installed (which is on the J drive). Instead it wants to install EVERYTHING (including Instance Directory, which should be on the F drive, and the install folder, which should be on the J drive) on the C drive under C:\Program Files\ and there is no option in the GUI to change that, as it's grayed out.

Showing the Instance Configuration Screen

I tried using a Configuration File to do the upgrade, but when I tried to specify the specific paths, it says those variables are not allowed to be used in an upgrade. If I allow the install to go through, it seems to install fine, but only leaves me with about 1.5 GB free on the OS drive (Drive C) and all of SQL Server is now installed on Drive C, which is not what I want or need.

Looking in the Registry Editor, I can see that under HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSQL11.MSSQLSERVER\ that the SqlProgramDir key has changed from "F:\" to "C:\Program Files\Microsoft SQL Server\" and that the SQLPath and SQLDataRoot have changed from "F:\MSSQL10.MSSQLSERVER\MSSQL" to "C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL". SQLBinRoot has also been changed "F:\MSSQL10.MSSQLSERVER\MSSQL\Binn" to "C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn".

Since someone asked on a different post, here is the ConfigurationFile.ini from the original install (I have scrubbed some sensitive info, mainly usernames):

;SQLSERVER2008 Configuration File
[SQLSERVER2008]

; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will reflect the instance ID of the SQL Server instance. 

INSTANCEID="MSSQLSERVER"

; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter. 

ACTION="Install"

; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, and Tools. The SQL feature will install the database engine, replication, and full-text. The Tools feature will install Management Tools, Books online, Business Intelligence Development Studio, and other shared components. 

FEATURES=SQLENGINE,AS,RS,BIDS,CONN,IS,BC,SDK,BOL,SSMS,ADV_SSMS,SNAC_SDK,OCS

; Displays the command line parameters usage 

HELP="False"

; Specifies that the detailed Setup log should be piped to the console. 

INDICATEPROGRESS="False"

; Setup will not display any user interface. 

QUIET="False"

; Setup will display progress only without any user interaction. 

QUIETSIMPLE="False"

; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system. 

X86="False"

; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature. 

ERRORREPORTING="False"

; Specify the root installation directory for native shared components. 

INSTALLSHAREDDIR="J:\Program Files\Microsoft SQL Server"

; Specify the root installation directory for the WOW64 shared components. 

INSTALLSHAREDWOWDIR="J:\Program Files (x86)\Microsoft SQL Server"

; Specify the installation directory. 

INSTANCEDIR="F:"

; Specify that SQL Server feature usage data can be collected and sent to Microsoft. Specify 1 or True to enable and 0 or False to disable this feature. 

SQMREPORTING="False"

; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS). 

INSTANCENAME="MSSQLSERVER"

; Agent account name 

AGTSVCACCOUNT="NT AUTHORITY\SYSTEM"

; Auto-start service after installation.  

AGTSVCSTARTUPTYPE="Automatic"

; Startup type for Integration Services. 

ISSVCSTARTUPTYPE="Automatic"

; Account for Integration Services: Domain\User or system account. 

ISSVCACCOUNT="NT AUTHORITY\SYSTEM"

; The name of the account that the Analysis Services service runs under. 

ASSVCACCOUNT="NT AUTHORITY\SYSTEM"

; Controls the service startup type setting after the service has been created. 

ASSVCSTARTUPTYPE="Automatic"

; The collation to be used by Analysis Services. 

ASCOLLATION="Latin1_General_CI_AS"

; The location for the Analysis Services data files. 

ASDATADIR="F:\MSAS10.MSSQLSERVER\OLAP\Data"

; The location for the Analysis Services log files. 

ASLOGDIR="F:\MSAS10.MSSQLSERVER\OLAP\Log"

; The location for the Analysis Services backup files. 

ASBACKUPDIR="F:\MSAS10.MSSQLSERVER\OLAP\Backup"

; The location for the Analysis Services temporary files. 

ASTEMPDIR="F:\MSAS10.MSSQLSERVER\OLAP\Temp"

; The location for the Analysis Services configuration files. 

ASCONFIGDIR="F:\MSAS10.MSSQLSERVER\OLAP\Config"

; Specifies whether or not the MSOLAP provider is allowed to run in process. 

ASPROVIDERMSOLAP="1"

; Specifies the list of administrator accounts that need to be provisioned. 

ASSYSADMINACCOUNTS=""

; Startup type for the SQL Server service. 

SQLSVCSTARTUPTYPE="Automatic"

; Level to enable FILESTREAM feature at (0, 1, 2 or 3). 

FILESTREAMLEVEL="0"

; Set to "1" to enable RANU for SQL Server Express. 

ENABLERANU="False"

; Specifies a Windows collation or an SQL collation to use for the Database Engine. 

SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"

; Account for SQL Server service: Domain\User or system account. 

SQLSVCACCOUNT="NT AUTHORITY\SYSTEM"

; Windows account(s) to provision as SQL Server system administrators. 

SQLSYSADMINACCOUNTS=""

; The default is Windows Authentication. Use "SQL" for Mixed Mode Authentication. 

SECURITYMODE="SQL"

; Provision current user as a Database Engine system administrator for SQL Server 2008 Express. 

ADDCURRENTUSERASSQLADMIN="False"

; Specify 0 to disable or 1 to enable the TCP/IP protocol. 

TCPENABLED="1"

; Specify 0 to disable or 1 to enable the Named Pipes protocol. 

NPENABLED="0"

; Startup type for Browser Service. 

BROWSERSVCSTARTUPTYPE="Disabled"

; Specifies which account the report server NT service should execute under.  When omitted or when the value is empty string, the default built-in account for the current operating system.
; The username part of RSSVCACCOUNT is a maximum of 20 characters long and
; The domain part of RSSVCACCOUNT is a maximum of 254 characters long. 

RSSVCACCOUNT="NT AUTHORITY\SYSTEM"

; Specifies how the startup mode of the report server NT service.  When 
; Manual - Service startup is manual mode (default).
; Automatic - Service startup is automatic mode.
; Disabled - Service is disabled 

RSSVCSTARTUPTYPE="Automatic"

; Specifies which mode report server is installed in.  
; Default value: “FilesOnly”  

RSINSTALLMODE="DefaultNativeMode"

It doesn't seem to want to follow where the existing Install and Instance Directories are. Am I missing something here? I've done some research, but can't find anything that talks about this. So I'm at a loss as to what to do from here.

  • I don't know what kind of system you are migrating but I would seriously advise against an in place upgrade of SQL Server. If anything goes wrong you're going to be left with no way to go back. A MUCH safer approach would be to install a new 2012 instance and log ship or backup/restore to it until you are happy. Then you can do a round of testing and still have the ability to go back to the old safer (Assuming no data changed) – Gavin Nov 26 '18 at 8:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.