Why can't I just backup the SharePoint DBs of TFS like all other DBs?

0

0

The MSDN page Manually Back Up Team Foundation Server states the following:

Unlike the other databases in the deployment, the databases used by SharePoint Foundation 2010 should not be backed up using the tools in SQL Server. Follow the separate procedure "Create a Back Up Plan for SharePoint Foundation 2010" later in this topic for backing up these databases.

It later says that the Backup-SPFarm PowerShell command has to be used to create SharePoint backups. If this is true, why does the scheduled backups that I can configure in the TFS Administration Console (available since TFS 2012 Update 2) just backup the SharePoint databases like all others? This can be seen in the TFS scheduled backup log file:

[20.08.2013 00:17:17] [Info] Taking Full Backup server:servername database:WSS_Content filename:\\backupservername\TFSBackup\WSS_Content_9858497572944432050F.bak
[20.08.2013 00:17:17] [Info] BACKUP DATABASE [WSS_Content] TO DISK = N'\\backupservername\TFSBackup\WSS_Content_9858497572944432050F.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10
[20.08.2013 00:19:12] [Info] Backup Complete for database WSS_Content
[20.08.2013 00:19:12] [Info] Finished Full Backup server:servername database:WSS_Content filename:\\backupservername\TFSBackup\WSS_Content_9858497572944432050F.bak
[later]
[20.08.2013 00:19:16] [Info] Starting Transactional backup server:servername database:WSS_Content filename:\\backupservername\TFSBackup\WSS_Content_9858497584379361188L.trn
[20.08.2013 00:19:16] [Info] BACKUP LOG [WSS_Content] TO DISK = N'\\backupservername\TFSBackup\WSS_Content_9858497584379361188L.trn' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10
[20.08.2013 00:19:23] [Info] Backup Complete for database WSS_Content
[20.08.2013 00:19:23] [Info] Completed Transactional backup server:servername database:WSS_Content filename:\\backupservername\TFSBackup\WSS_Content_9858497584379361188L.trn

The same logs are listed for the Config and AdminContent databases and there is no mention of the Backup-SPFarm command.

cremor

Posted 2013-08-20T07:53:26.050

Reputation: 297

Answers

0

You can backup the databases using the standard tools. you probably won't be able to restore from those backups correctly however, which is why MS is telling you to use synchronized backups.

Since TFS uses multiple databases, transactions that operate across them may leave them all in an out-of-synch state with each other, leading to unreliable/unpredictable restores, and why backup if you can't restore from it.

more info here: http://msdn.microsoft.com/en-us/library/vstudio/ms253151.aspx

Frank Thomas

Posted 2013-08-20T07:53:26.050

Reputation: 29 039

So this synchronization issue can be overcome if you shutdown the TFS service and then backup all the databases ? – user986363 – 2016-01-23T12:43:20.187

If I won't be able to restore that backups (will try that in the next few days anyway), why does the TFS Scheduled Backups feature work in that way? – cremor – 2013-08-20T14:04:54.147

thats exactly why you have to use the TFS backup tools specifically, and cannot use standard DB backup tools. no matter how quickly you back up each DB, the transaction logs will drift out of synch. – Frank Thomas – 2013-08-20T16:20:28.697

But the TFS backup tool does not do anything that prevents the SharePoint DBs from getting out of sync - at least according to the log file. It even does less than the "Manually Back Up Team Foundation Server" page states because it only sets transaction marks in the 3 TFS DBs, but not in the 2 Reporting DBs. Especially it just backs up the SharePoint databases with the usual BACKUP DATABASE and BACKUP LOG T-SQL commands, not with the Backup-SPFarm PowerShell command. – cremor – 2013-08-21T05:32:19.770

The Sharepoint DBs are not transactionally locked the way the TFS_Configuration, TFS_<collection>, and TFS_Warehouse DBs are. – Frank Thomas – 2013-08-21T11:36:16.490

What do you mean with your last comment? That they are transactionally locked in some other way that is not reported to the log file? – cremor – 2013-08-21T12:51:03.277

transactions on the TFS_ databases must be synchronized, since writes are likely to occure across multiple databases, but the share point DBs stand alone, and don't get updated in the same manner, so it doesn;t matter if they are not completely synchronized with the TFS_ databases. – Frank Thomas – 2013-08-21T12:53:38.493

Ok, that makes sense. But then my original question remains: Since I do synchronize the backups of the TFS DBs like explained in the MSDN and the SharePoint DBs don't need synchronization, why can't I just back them up like the Scheduled Backups feature does? Why do I have to mess with that PowerShell command? – cremor – 2013-08-22T05:28:08.527