Team Foundation Server (TFS) 2017: Backup kann nicht erstellt werden

Team Foundation Server (TFS) 2017: Backup kann nicht erstellt werden

Wir haben also seit einigen Jahren Backups laufen und in den letzten Tagen wurden zusätzliche Backups durchgeführt. Ich wollte die Backups neu konfigurieren, um die Einstellungen zu überprüfen, und erhielt eine Fehlermeldung, dass die Dummy-Datenbank nicht gesichert werden kann.

[Info   @12:03:50.669] +-+-+-+-+-| Running Confirming Permissions: Confirming Permissions |+-+-+-+-+-
[Info   @12:03:50.669] 
[Info   @12:03:50.669] +-+-+-+-+-| Confirming Permissions |+-+-+-+-+-
[Info   @12:03:50.669] Starting Node: CONTAINER
[Info   @12:03:50.669] NodePath : Container/Progress
[Info   @12:03:50.669] Node returned: Ignore
[Info   @12:03:50.669] Completed Confirming Permissions: Ignore
[Info   @12:03:50.669] -----------------------------------------------------
[Info   @12:03:50.669] 
[Info   @12:03:50.669] +-+-+-+-+-| Running VerifyCanBackupDatabase: Verifying backing up an empty database succeeds |+-+-+-+-+-
[Info   @12:03:50.669] 
[Info   @12:03:50.669] +-+-+-+-+-| Verifying backing up an empty database succeeds |+-+-+-+-+-
[Info   @12:03:50.669] Starting Node: DUMMYDATABASE
[Info   @12:03:50.669] NodePath : Container/Progress/DUMMYDATABASE
[Info   @12:03:50.669] Creating dummy database to test backup.
[Info   @12:03:51.200] Queue verify backup job
[Info   @12:03:51.263] Queued job [GUID]
[Info   @12:03:51.263] Starting backup job to verify necessary permissions
[Info   @12:03:56.295] Waiting for backup job to finish
[Error  @12:04:01.311] Backup job Failed: TF400797: Job extension had an unhandled error: System.Data.SqlClient.SqlException (0x80131904): The server principal "[DOMAIN\SERVERNAME]$" is not able to access the database "Tfs_Temp[GUID]" under the current security context.
BACKUP DATABASE is terminating abnormally.
   at Microsoft.VisualStudio.Services.Configuration.SqlDatabaseBackupRestoreComponent.Execute(String sqlStatement)
   at Microsoft.VisualStudio.Services.Configuration.SqlDatabaseBackup.Backup(ISqlConnectionInfo connectionInfo)
   at Microsoft.TeamFoundation.Admin.Jobs.DatabaseBackupJob.TakeFullBackupOfSingleDatabase(IVssRequestContext requestContext, String dataSource, String databaseName, String fullFileName, ITFLogger logger)
   at Microsoft.TeamFoundation.Admin.Jobs.VerifyBackupPermissionsJobExtension.Run(IVssRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime jobQueueTime, String& resultMessage)
   at Microsoft.TeamFoundation.Framework.Server.JobRunner.ExecuteJob(IVssRequestContext requestContext)
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:916,State:1,Class:14
[Info   @12:04:04.405] Node returned: Error
[Error  @12:04:04.405] TF401002: The SQL Server Database Engine failed to save the database backup to path \\[MACHINE]\TFSBackups.  Please grant SQL service account read/write access to that folder.
[Info   @12:04:04.405] Completed VerifyCanBackupDatabase: Error
[Info   @12:04:04.405] -----------------------------------------------------

Die Berechtigungen für den Ordner sind in Ordnung, da sowohl unser Dienst als auch die Maschine über volle Schreibberechtigungen verfügen

Gibt es eine Möglichkeit, diese temporäre Datenbank zu umgehen? Das normale Backup hat funktioniert, aber jetzt, da es nicht funktioniert hat, diese Testdatenbank zu sichern, wurden die geplanten nächtlichen Backups entfernt.

Antwort1

Eine TFS-Serversicherung kann nur wiederhergestellt werden durch WiederherstellenalleDatenbanken, die Teil der TFS-Instanz sind. Wenn Sie eine Sicherung durchführen, bei der eine der Datenbanken übersprungen wird, geraten Sie in einen nicht wiederherstellbaren Zustand.

Die erste Fehlermeldung ist wahrscheinlich die Ursache des Problems. Die Sicherung wird vom LocalSystem-Konto des TFS Data Tier-Servers ausgeführt (z. B. [DOMAIN\SERVERNAME]$und da dieser Benutzer nicht die Berechtigung zum Erstellen von Sicherungen der temporären tfs_temp-Datenbank hat, kann er den vollständigen Sicherungssatz nicht abschließen.

Die Lösung besteht darin, entweder die temporäre Projektsammlung aus der TFS-Administratorkonsole zu löschen oder die Sicherheitseinstellungen des Benutzers, der die Sicherung durchführt, zu korrigieren, sodass eine vollständige Serversicherung durchgeführt werden kann.

verwandte Informationen