Move TFS Databases to a new SQL server - tfs

Id like to confirm this with you.
We are upgrading our TFS 2017 environment to use SQL 2016 SP2 in preparation of the TFS 2018 upgrade.
Our SQL Team will do this using new hardware.
I currently already use DNS aliases in my connection strings to the databases.
Can you confirm this would be the steps in short?
Run TfsServiceControl quiesce
Migrate the database to the new server
Update the DNS Aliases to point to the new host
Run TfsServiceControl unquiesce
Should it be that simple ? or should i take other steps to ensure the application is aware of the SQL Upgrade ?
I was only able to find an old article about this subject
https://blogs.msdn.microsoft.com/tfssetup/2014/05/15/migrating-team-foundation-server-databases/

Related

TFS 2018 update 2 upgrade: Reporting Services

Origin machine: TFS 2017 update 3 & SQL Server 2014
Destination machine: TFS 2018 update 2 & SQL Server 2017
Steps followed for a Dry-Run:
Followed the "Move or Clone Team Foundation Server from one hardware to another" and "Do a dry run of your upgrade". All databases are successfully restored on the same server (TFS_configuration, Tfs_collections, Tfs_Warehouse, ReportServer, ReportServerTempDB, Tfs_Analysis).
ChangeServerId and RemapDBs executed successfully.
When running the wizard to use the "Pre-production Upgrade Testing" we noticed the following:
When using "< nameofserver >\SSRS" (this is the default instance name for Reporting Services in SQL Server 2017) on "Reporting Services Instance" and the correct URLs are selected, these errors appear on the Readiness Checks:
It appears that the following best practices for this scenario have
not been implemented: VS403144: The warehouse database is currently pointing to the same database that was being used on your production deployment.
VS403140: The specified Analysis Services database is the same one being used in your production deployment.
When using "< nameofserver >" (this has been used in the past successfully with tfs2017) on "Reporting Services Instance" the following message pops up:
TF255186: The following SQL Server Reporting Services Instance could not be found: MSSQLSERVER. The server name is: "< nameoftheserver >"
Is the change of the instance name from "MSSQLSERVER" to "SSRS" causing this issue?
Thank you
This is most likely because you don't need to use ChangeServerID and ReMapDBs with the
Pre-production Upgrade Testing scenario. That scenario does those operations for you.
I'd reset the test instance, restore the databases, and try again without running changeserverID/remapDBs.

tffs 2017 upgrade to 2018 web access denied

i would like to upgrade my production TFS 2017 to TFS 2018.
according to the requirement, it need SQL Server 2016 SP1, because some reason, i decide use a new production server for it.
Before doing the production upgrade, i do the upgrade test in my testing enviroment, the step is
Install SQL Server 2016 SP1
Restore the TFS 2017 Database
Install TFS 2018 Update 1
Start the TFS Upgrade Wizard using my existing db
Confirm the 8080 port is allow to connect
After finish, i can access the TFS web on the testing environment server by using http://localhost:8080/tfs or http://SERVERNAME:8080/tfs (btw Chrome only can access using localhost)
When i connect http://SERVERNAME:8080/tfs on client pc, it doesn't work, it show me
ERR_CONNECTION_REFUSED
All my server have join domain and i try troubleshoot from tfs application to firewall, no any result on it.
Is there any step wrong or other problem on it?
UPDATE:
After i reinstall Windows OS, it's work.
Try below items to narrow down the issue:
Using IP instead of the SERVERNAME in the URL, then try it
again.
Clean local caches from the client machine (TFS caches, Browser
caches)
Restart the TFS wensite from IIS manager.
Restart IIS with command: iisreset /noforce
Try changing the port number for you TFS
Rebuild the client cache.
After you move, restore, rename, or fail over a data-tier or
application-tier server, you must refresh the cache for tracking work
items and users must refresh the version control cache on client
computers.
UPDATE1:
Just try below things:
Add the client machine name/IP to the hosts file. (The hosts file should be located under c:\windows\system32\drivers\etc\hosts)
Try to detach the collection then reattach it again
Try to reconfigure the TFS.
UPDATE2:
Based on geraldlim's comment below : Turn out that after reinstalling the OS and install IIS and TFS in a clear environment, it's working.

Can a TFS backup be restored to a machine with different NETBIOS name?

I'm doing both a hardware and a domain migration, as well as upgrading my TFS instance from 2015.3 to 2017.1. I first discussed this project (and received some VERY helpful suggestions) here.
Here’s the infrastructure I’ve got right now:
Hostname Operating System
SERVER1 Hyper-V Host 2012 r2
SERVER2 Server Essentials 2012 R2
SERVER3 Server 2012 R2 (TFS 2015.3)
DB Windows 10 (SQL 2014)
...and here’s what’s planned:
Hostname Operating System
SERVER1 Hyper-V Host 2016
SERVER2 Server Essentials 2016
SERVER3 Server 2016 (TFS 2017.1 & SQL 2016)
The old and new domains carry the same descriptive name (e.g. DOMAIN). For the purposes of this Q&A, henceforth I'll refer to any VM on the old domain with a leading underbar (e.g. _SERVER3).
My problem is that the guidance for the hardware migration doesn't indicate whether the TFS Restore action can be run on a machine with a different NETBIOS name than the name of the machine on which the backup was taken.
I've set up a temporary _SERVER4 for this project, which I will join to the new domain as SERVER4 as part of the domain migration, but I don't know whether this will work. _SERVER3 has a different machine/domain SID, of course, which may confuse TFS if I restore to _SERVER4.
I'll then build up a new, clean SERVER3 on the new domain and restore from the backup taken on SERVER4. Same issue.
Is this really a problem—restoring a backup to a different machine name, same domain—or am I being too cautious and simply imagining a problem where one doesn't exist?
OK, this can work.
I'm now running a restored TFS instance error-free on _SERVER4, from a backup that was taken on _DB. It didn't come without a few hitches, though:
TFS backup/restore doesn't touch the Analysis Services database, so we have to manage that manually
RS configuration by default requires a secure connection, a requirement which must be disabled:
In Windows Explorer, locate the ReportServer directory. The following path is the default path of this directory: C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer
Right-click RSReportServer.config, click Open With, click Notepad and then click OK.
Locate the following Add Key entry: <Add Key="SecureConnectionLevel" Value="2"/>
Change the Value setting from 2 to 0
When the database server name changes as well, we must perform a bit of a hack:
DELETE FROM [ReportServer].[dbo].[Keys] WHERE MachineName = 'YourSourceServerName'
None of these requires an OS or service restart. Just apply the changes and try again.
As #jessehouwing indicates, there are some stops along the way in the Configuration Wizard where we have to update the server name. But all in all, other than the few little bumps listed above, the process went pretty smoothly. (And frequent checkpoints were absolutely vital to this success.)
Now for the domain migration... extra thanks to Jesse for all of his help with this.

SQL Server Edition included with Team Foundation Server 2013

I am trying to determine what SQL Server edition will be installed with Team Foundation Server 2013 if it is installed on Windows Server 2012 R2 using the Standard Configuration. The install guide is vague about this. Will it be Express or Standard? It appears to be different than with TFS 2012.
You can use the basic configuration of Team Foundation Server, automatically with SQL Server Express SP1.
or install manually other versions.
link : http://msdn.microsoft.com/en-us/library/vstudio/dd631889.aspx
Only the Basic Configuration of TFS 2013 automatically installs SQL Server and it installs the Express version. This from:
Sql Server Requirements
From the same article: You can pre-install one of the supported editions Sql2012.sp1+ or Sql2014
During installation, you are required to select a configuration (basic, standard etc). If you choose standard and the installer can't find an existing SQL Server instance you can not proceed.

How to add a new database under app_data with SQL Server Enterprise Edition

I'm a absolute newbie in MVC, and now I am standing the beginning of it.
I checked out the tutorial podcast, in which i got i can add a new item of SQL Server database under app_data. But once I click that, a msg popup to show that in my desktop, no SQL Server 2005 or 2008 Express was installed.
But in fact, I have a SQL Server 2005 Enterprise installed already. Why this happened? And how to add a SQL Server database if I got a enterprise version?
Thanks a lot.
Adding the database file to the app_data folder only works with SQL Server Express editions. There's nothing you can do to enable it for Enterprise versions.
If you have SQL Server Enterprise, you need to create your database and your db objects in that server (using SQL Server Mgmt Studio or Visual Studio) and connect to that server. You cannot put your MDF/LDF files into app_data with Enterprise version - it just won't work.
Or if you don't like this approach, you could always install SQL Server 2005/2008 Express on your machine and then use the "put your MDF file into app_data" approach with that Express edition.

Resources