Note: The following applies for TFS 2012 QU2 and QU3.
Recently we faced an issue when configuring backups and the error message displayed was misleading. Here is the complete summary of the issue and the solution for the same.
If we have the configured TFS with SQL connection string in the format <server>\<instance>, <port>, example –
Connection string of TFS - Data Source=tfs-test\MSSQLSERVER,3561;Initial Catalog=Tfs_Configuration;Integrated Security=True
We would hit this error when configuring backup plans (in the readiness checks)
Well, the reason for the same will be TFS would look for SQL instance information under the registry path “System\CurrentControlSet\MSSQL$<instance>,<port> instead of System\CurrentControlSet\<SQL Insance>”
To make things more clear, in the example I had given TFS would look for “System\CurrentControlSet\MSSQL$mssqlserver,3561” instead of System\CurrentControlSet\MSSQLSERVER. Since such an entry doesn’t exist TFS won’t be able to read it and throws an error that the SQL service account doesn’t have permissions.
The work around would be to use just the port number while configuring and getting rid of the instance.
· That would be in this format - <server>\<instance> or
· <server>, <port>,
which would be just tfs-test\MSSQLSERVER(if browser is turned on) or tfs-test,3561.
This shouldn’t be much of a concern as using port number would give us access even if SQL browser has been disabled.
We are working with the product group to get this format working for backups (as this is a valid SQL connection string).
Here is how you can repro the issue,
· Change the connection string to the format <server>\<instance>,<port> by re-configuring an existing app tier or configuring TFS again
· Configure backup
Content created by – Venkata Narasimhan A
Reviewed by – Romit Gulati