かなり大きなファイルを Team Foundation Server (TFS) にチェックインしようとすると、次の例外が発生します。
TF30042: Database is Full. Contact your Team Foundation Server administrator.
問題は、私が管理者だということです。データベース ファイル (コレクションと tempdb の両方) を確認しましたが、SQL Server 2008 R2 の制限にはまったく近づいていません。また、データベース ファイルとログ ファイルの両方で、8 GB のチャンクと無制限のサイズを使用するように AutoGrowth を設定しました。SQL Server データベースが存在するドライブには十分なディスク領域があり、TFS 管理コンソールにサイズ制限は表示されません。
私が知る限りでは、大丈夫なようですが、何が足りないのでしょうか?
答え1
このエラーが発生する理由としては、別の可能性も考えられます (一般的なケースでは)。Express Edition を実行しており、TFS データベースがライセンスの最大データベース サイズに達した可能性があります。
答え2
この失敗には 4 つの可能性があります。
- TempDB ログ ファイルの大きさが十分ではありません
- TempDB データファイルのサイズが十分ではありません
- CollectionDB ログファイルのサイズが十分ではありません
- コレクションDBデータファイルのサイズが十分ではありません
SQL Management Studio にアクセスし、TempDB の [プロパティ] ([システム データベース] の下) の [ストレージ] を確認すると、ログとデータの両方に対してサイズと自動拡張パラメータがどのように設定されているかがわかります。
次に、コレクション データベースに対して同じ操作を実行します。ログ ファイルのサイズが小さく、大規模なチェックインのコンテンツを処理することができない場合は、SQL によってこのエラーが返されます。
答え3
最終的に、SQL Server インスタンスのリモート クエリ タイムアウトが 90 秒に設定されていたことが判明しました。約 3 GB 相当の情報をアップロードすると、クエリがタイムアウトになりました。