8

TFS2010環境があります。サイズは長い間、毎週成長しています。

多くの古いブランチとチーム プロジェクトを削除しました。また、Brian Harry が投稿で述べたように、いくつかのプロジェクトでテスト添付ファイル クリーナーを使用しました。http://blogs.msdn.com/b/bharry/archive/2011/10/31/tfs-databases-growing-out-of-control.aspx

データベースは小さくなっていません。また、destroy コマンドを数回使用しようとしましたが、何も役に立ちません。

考えられるすべてのログを確認しましたが、エラーは見つかりませんでした。

誰でも提案はありますか?

ありがとう

コメントで尋ねられたクエリの結果で編集します。

TableName SchemaName RowCounts TotalSpaceKB UsedSpaceKB UnusedSpaceKB
FieldsDataArchive dbo 0 0 0 0
tbl_AuditLog dbo 41710 5168 3800 1368
tbl_AuthorizationUpdateLock dbo 1 16 16 0
tbl_BuildOutput dbo 0 0 0 0
tbl_BuildServerProperties dbo 1 16 16 0
tbl_BuildSqlNotification dbo 124445 8432 6544 1888
tbl_Counter dbo 3 16 16 0
tbl_LastChangeId dbo 1 16 16 0
tbl_Replication dbo 1 16 16 0
tbl_リポジトリ dbo 1 16 16 0
TempADObjectMemberships dbo 0 0 0 0
TempADObjects dbo 0 0 0 0
テンプレート dbo 7 41328 41280 48
4

3 に答える 3

1

この場合のディスク容量のほとんどは、データ ファイルではなく、トランザクション ログ ファイルによって使用されます。

上記のクエリは、データ ファイルが使用するディスク容量のみを示しています。

使用可能なスペースがある場合は、トランザクション ログを縮小することを検討してください。

于 2013-10-30T00:52:45.073 に答える
1

TFS データベースのトランザクション ログの不当な増加を確認した後、増加の正確な原因を見つけることができず、ログの自動縮小も制御できませんでした。

データベースの完全バックアップを使用しない同様のソリューション

このスクリプトを非運用サーバーで数日間試しましたが、運用サーバーに切り替えた後でのみです。

SQL サーバー 2012 および TFS 2015 の台無し

次のスクリプトは、トランザクション ログを自動的に縮小します。

SQL ジョブを使用したフル バックアップ後にこのスクリプトを実行します。

スクリプト パーツ:

1)特定のデータベースへのすべての接続を切断します

2) バックアップ モデルをシンプルに切り替える

3) データベースのログ サイズを無制限に設定する

4) ログ ファイルを 200 MB (または任意のサイズ) に縮小します。

5) 最大サイズを 50000 (または任意のサイズ) に設定します。

6) バックアップ モデルをフルに設定する

スクリプトの実行には、140 GB の DB で約 3 ~ 5 秒かかります

USE [master]
GO
ALTER DATABASE [Tfs] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [Tfs] SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE [Tfs] MODIFY FILE ( NAME = N'Tfs_log', MAXSIZE = UNLIMITED)
GO

USE [Tfs]
GO
DBCC SHRINKFILE (N'Tfs_log' , 200)
GO

ALTER DATABASE [Tfs] MODIFY FILE ( NAME = N'Tfs_log', MAXSIZE = 50000)

USE [master]
GO
ALTER DATABASE [Tfs] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [Tfs] SET MULTI_USER
GO
于 2017-07-10T08:00:42.713 に答える