%202017%20%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B.png)
数年前からバックアップを実行していますが、ここ数日でバックアップの回数が増えるようになりました。設定を確認するためにバックアップを再構成しようとしたところ、ダミー データベースをバックアップできないというエラーが発生しました。
[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 管理コンソールから一時プロジェクト コレクションを削除するか、バックアップを実行するユーザーのセキュリティ設定を修正して、完全なサーバー バックアップを実行できるようにします。