Team Foundation Server (TFS) 2017 バックアップの作成に失敗する

Team Foundation Server (TFS) 2017 バックアップの作成に失敗する

数年前からバックアップを実行していますが、ここ数日でバックアップの回数が増えるようになりました。設定を確認するためにバックアップを再構成しようとしたところ、ダミー データベースをバックアップできないというエラーが発生しました。

[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] -----------------------------------------------------

フォルダの権限は問題なく、サービスとマシンの両方に完全な書き込み権限があります。

この一時データベースをバイパスする方法はありますか?通常のバックアップは機能していましたが、このテストのバックアップに失敗したため、夜間にスケジュールされたバックアップが削除されました。

答え1

TFSサーバーのバックアップは復元によってのみ復元できます全てTFS インスタンスの一部であるデータベース。データベースの 1 つをスキップしてバックアップを実行すると、回復不能な状態になります。

最初のエラー メッセージが問題の原因である可能性が高く、バックアップは TFS データ層サーバーの LocalSystem アカウントによって実行されています (例:[DOMAIN\SERVERNAME]$そのユーザーには temp tfs_temp データベースのバックアップを作成する権限がないため、完全なバックアップ セットを完了できません)。

解決策としては、TFS 管理コンソールから一時プロジェクト コレクションを削除するか、バックアップを実行するユーザーのセキュリティ設定を修正して、完全なサーバー バックアップを実行できるようにします。

関連情報