Sources of Additional Information
In this section, we'll provide good sources of additional information for further learning and a few more parting reminder tips and where to look for more information.
Service account change during upgrade
It has been reported that the installation procedure for Team Foundation Server 2012 may switch the service account from a specified domain account to a network service. If this occurs, you will need to switch it back to the account you noted in earlier recipes while preparing for the installation. Alternatively, you could reset the project server permissions based on this new account. This can be done using the TFS administration console.
A handy SQL permissions script
To make the initial security setup less of a chore (provided you have PowerShell installed on your servers), the following script will help. It grants all local administrators SQL admin permissions. Many thanks to the Visual Studio ALM team that provided the following script:
function Add-SysAdmin { param ( [System.String] $localSqlInstance = 'SqlExpress', [System.String] $loginName = "Builtin\Administrators" ) try { Write-Host ( "Sql Instance: {0}" -f $localSqlInstance ) Write-Host ( "Login name : {0}" -f $loginName ) if ($localSqlInstance -eq '.' -or $localSqlInstance -eq 'MSSQLSERVER') { # Default instance $localSqlInstance = 'MSSQLSERVER' $serviceName = 'MSSQLSERVER' $dataSource = '.' } else { $serviceName = 'MSSQL$' + $localSqlInstance $dataSource = 'localhost\' + $localSqlInstance } $sqlServerService = Get-Service | where {$_.Name -eq $serviceName } if ($sqlServerService -eq $null) { Write-Error ("Cannot find a service with the name: '{0}'. Verify that you specified correct local SQL Server instance." -f $serviceName) return } # Stop the service if it is running if ($sqlServerService.Status.ToString() -ne "Stopped") { Write-Host 'Stopping SQL Server' $sqlServerService.Stop() $sqlServerService.WaitForStatus("Stopped") } Write-Host 'Starting SQL Server in the admin mode' # Start service in admin mode $sqlServerService.Start(@("-s", $serviceName, "-m", "-T", "7806")) $sqlServerService.WaitForStatus("Running") $connectionStringBuilder = New-Object -TypeName System.Data.SqlClient.SqlConnectionStringBuilder $connectionStringBuilder.psbase.DataSource = $dataSource $connectionStringBuilder.psbase.IntegratedSecurity = $true $sqlConnection = New-Object -TypeName System.Data.SqlClient.SqlConnection $connectionStringBuilder.psbase.ConnectionString Start-Sleep -Seconds 5 Write-Host 'Connecting to the SQL Server' $sqlConnection.Open() Write-Host 'Connected to the SQL Server' Write-Host ('Adding {0} to the sysadmin server role' -f $loginName) $sqlCommand = $sqlConnection.CreateCommand() $sqlCommand.CommandText = "sp_addsrvrolemember" $sqlCommand.CommandType = "StoredProcedure" $loginParam = $sqlCommand.Parameters.Add("@loginame", $loginName) $roleParam = $sqlCommand.Parameters.Add("@rolename", 'sysadmin') $temp = $sqlCommand.ExecuteNonQuery() Write-Host ('{0} has been added to the sysadmin server role successfully' -f $loginName) # Stop the service if it is running Write-Host 'Stopping SQL Server' $sqlServerService.Stop() $sqlServerService.WaitForStatus("Stopped") Write-Host 'Starting SQL Server in the non-admin mode' $sqlServerService.Start() $sqlServerService.WaitForStatus("Running") } catch { Write-Error $_ } }
Where to look for more information
Following are a number of good sources of information you can check for items that are not covered here or if you need to go further in depth on them:
You can upgrade a test VM. You can download the Microsoft Hyper-V VM from the following link to practice your own upgrade scenarios:
http://go.microsoft.com/fwlink/?LinkID=196413
Check the following Microsoft Technet site for Project Server 2010 for in-depth technical information on the product:
http://technet.microsoft.com/en-us/library/cc303399(v=office.14).aspx
Check the following Microsoft site for Visual Studio 2012 for in-depth information on the product:
http://msdn.microsoft.com/en-us/library/vstudio/dd831853.aspx
More technical information for the integration itself can be found on Enable Data Flow Between Team Foundation Server and Microsoft Project Server page on the following Microsoft MSDN site:
http://msdn.microsoft.com/en-us/library/gg455680(v=vs.110).aspx
The Visual Studio team blog site can be found on:
http://blogs.msdn.com/b/visualstudioalm/
The author's blog site, which is not specific to Visual Studio or Project Server, but has some interesting ramblings on technical management and Team Foundation Server and where you can also ask questions, can be found on:
http://www.thecto.org/