1. ホーム
  2. データベース
  3. mssql2008

SQL SERVER 2008 r2 のデータ圧縮の2つの方法

2022-01-22 13:29:17

sql server 2008のデータベースログファイルが大きすぎるため、ハードディスクのメモリを解放するために縮小する必要がある場合があります。また、ldbファイルが大きすぎると、データベースの動作が遅くなったり、システムが動かなくなったりすることがあります。

1. プロジェクトプラットフォームのデータベースサーバーにログインします。SQL Server Management Studio をダブルクリックし、Database Manager を開きます。データベースにログインします。

2. 以下のように、「データベースのプロパティ」ウィンドウを開きます。

3. 以下のように、データベースのリカバリーモードを変更します。

4. 以下のように、データベースログをシュリンクします。

この時点で完了し、データベースログが縮小される

5. 下図のように、データベースの復旧モードがフルに変更されます。

スクリプトハウスのエディターがテストした結果、完璧に動作し、84Gのファイルを1Mに圧縮することに成功しました。

以下は、手動操作のトラブルがあるたびに、達成するためのSQLステートメントを共有するために続けています。

sqlステートメントを実装する手順は次のとおりです。

まず、ログファイルを縮小するデータベースファイルの名前を見つけます。

USE A

GO

SELECT file_id, name FROM sys.database_files;

GO

クエリーの結果、J4_log というファイル名でログファイルが生成されます。

しかし、スクリプトハウスエディタがクエリをテストするのは遅いので、次のようにします。

データベースのプロパティ>ファイル> 右側のログの前にあるこの名前は、ログファイル名です。

例外なく完璧にテストされました。

USE[master]
GO
ALTER DATABASE A SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE A SET RECOVERY SIMPLE --simple mode
GO
USE A
GO
DBCC SHRINKFILE (N'J4_Log', 11, TRUNCATEONLY)

GO

USE[master]
GO
ALTER DATABASE A SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE A SET RECOVERY FULL -- Restore to full mode
GO

もっと面倒なら、上記のファイルを yasuo.sql として実行するように自動タスクを設定することもできます。

そして、cmdと組み合わせてスケジュールされたタスクで以下のコマンドを実行し、お好みのディレクトリを設定することができます。

sqlcmd -i yasuo.sql

SQL Server 2008R2 大容量ファイル実行 SQL スクリプトコマンド

<ブロッククオート

cd C:³³ FilesMicrosoft SQL Server ³³ Binn
sqlcmd -S . -U sa -P 123 -d test -i data.sql

パラメータの説明: -S サーバアドレス -U ユーザ名 -P パスワード -d データベース名 -i スクリプトファイルのパス

ローカルサーバーのアドレスは、.NETと書くことができます。.または(ローカル)またはIPアドレスと書くとわかりやすいでしょう。

これでうまくいくので、後で新しいクエリを作って直接実行すればいい。

1 2 次のページ もっと読む