
お世話になります。
初歩的な質問かもしれませんが、よろしくお願いします。
SQL Server 2000 を使用しています。
比較的大きいサイズのデータベース「A」があります。
Dataフォルダ内のサイズは次の通りです。
・A.mdf 50MB
・A_1.mdf 4.4GB
・A_log.ldf 1.2GB
この「A」を別の用途で使用したいため、全てのテーブルのデータを削除しましたが、Dataフォルダ内のサイズがほとんど変わりません。
プロパティのデータベースの圧縮で見ると、空き容量が98%と表示されているので、無駄な領域が多いのは分かるのですが、実際に圧縮をかけても小さくなりませんでした。
方法が悪いのかもしれませんので、データベースを圧縮する手順を教えて頂ければ幸いです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
データベースの圧縮はデータベースファイルとトランザクションログファイルを合わせて処理するはずですので、まずトランザクションログをバックアップします。
圧縮というのはファイルの末尾から行われるものなので、いくら空き容量が大きくても末尾の方が使われていたら圧縮できません。トランザクションログのポインタは通常末尾にあります。
本当はお勧めではないですが、ログが1.2GBと大きいですし、ログの中身は不要のようですから、クエリアナライザで
BACKUP LOG (データベース) WITH TRUNCATE_ONLYを実行してもいいかと思います。ただし、ログを切り捨てるこのオプションは将来バージョンではサポートされなくなります。
実行後に圧縮を掛けてみてください。
圧縮をするときに「圧縮する前にページをファイルの先頭に移動する」にチェックを入れて実行してみてください。
余談ですが、トランザクションログについては、もし不要ならばデタッチして削除する方法もあります。
この回答への補足
回答ありがとうございます。
早速教えて頂いたクエリ実行後、圧縮してみました。
すると、
・A_1.mdf 4.4GB → 2GB
・A_log.ldf 1.2GB → 1GB
まで小さくなりましたが、まだ大きい状態です。
そこで改めてプロパティを確認したところ、
・A_1.mdfの「割り当てた領域(MB)」→2000
・A_log.ldfの「割り当てた領域(MB)」→1000
となっていました。
もしかすると、昔「A」を作成したときの設定がこうなっていたのかもしれませんが、この「割り当てた領域」を縮小することは可能でしょうか?もし方法がございましたら教えてください。
No.3
- 回答日時:
やり方としては問題ありません。
ファイルの圧縮はファイルを個別に圧縮するDBCC SHRINKFILEの機能で、こちらで圧縮することもよくあります。
No.2
- 回答日時:
圧縮をするときに「圧縮する前にページをファイルの先頭に移動する」にチェックを入れて実行したんですよね。
であれば、DBCC SHIRINKDATABASEには、NOTRUNCATEとTRUNCATE_ONLYの2種類があって、私の理解ではチェックを入れれば両方やってくれるはずだったのですが。。
念のためチェックを入れて圧縮、チェックを入れないで圧縮をそれぞれ1回ずつやってみてもらえますか(割り当てた領域も本来は小さくなるはずです)
この回答への補足
なんとか小さくすることは出来ました。
1.データベースを右クリック→「すべてのタスク」→「データベース圧縮」を選択
2.「圧縮操作」の「圧縮する前にページをファイルの先頭に移動する」にチェック
3.「OK」を押す
この手順ではじめやってましたが、No.1の回答補足のサイズが限界でした。(2のチェックを入れないバージョンも試してみましたが同じでした)
しかし、上記手順1,2の後に
3.「ファイルの圧縮」欄の「ファイル」ボタン選択
4.「圧縮操作」欄の「圧縮先のファイル」指定で、サイズを指定する。
この手順を加えたところ、4で指定したサイズ(50MB)まで小さくなりました。
手順的にいかがでしょうか^^;
本当にお手数をおかけしてしまい申し訳ありませんm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 英数字を含む文字列(0-9,A-Z)の桁数圧縮をするには 5 2022/06/28 18:15
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- Google Drive USB内の圧縮フォルダが開けません。教えて下さい! 1 2022/07/26 18:44
- 画像編集・動画編集・音楽編集 画像の一括圧縮 1 2022/12/02 21:56
- 画像編集・動画編集・音楽編集 連続質問です 動画ファイルの圧縮時のビットレートというのについて教えてください 2 2023/08/06 11:50
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
- PDF PDFファイルの圧縮 1 2022/10/04 13:48
- Google Drive Google Drive (G:)の容量を、購入した容量と一致させるにはどうすればよいでしょうか? 1 2022/04/10 22:32
- SQL Server PCが悪くなって新しいPCにSSMSのデータを移すよう頼まれたけど移し方が分からない 1 2023/05/18 16:54
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースのアタッチができ...
-
データベースの圧縮について
-
OpenOffice.org とMicrosoft Of...
-
tempdb の適切なサイズ
-
【DB】同じトランザクション内...
-
postgresql についてです
-
警察はスマホに保存した動画や...
-
復旧中のデータベースについて
-
DATファイルをEXCELで開きたい
-
エクセルのフィルタ抽出が固まる
-
accessの処理が遅い
-
SQLローダーで複数のCSVファイ...
-
一つのトランザクションでSELEC...
-
テキストで空欄(null?)を検索...
-
ポストグレにあるExcelファイル...
-
SQL Server Management Studio ...
-
ファイルメーカーで変更禁止を...
-
ACCESSのデータをWebブラウザで...
-
一つのテーブルだけを復元(リス...
-
MS-アクセスで作ったファイルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mdfファイルの残骸について
-
データベースのアタッチができ...
-
SQL Server 2000の物理ファイル...
-
データベース復元時に指定する...
-
.sdf
-
データベースの圧縮について
-
最適化について
-
SQLSERVERのデータファイル圧縮...
-
肥大化しすぎたSQLiteがVACUUM...
-
パラメーターエラーで復元でき...
-
tempdb の適切なサイズ
-
SQL-Server2000でトランザクシ...
-
インストールディレクトリ以外...
-
sp_attach_db実行のバッチファ...
-
新聞サイズの大きさのPDF化...
-
SQL Serverへ移行したデータの...
-
アタッチができない
-
マイクロソフトアクセスについて
-
OpenOffice.org とMicrosoft Of...
-
SQLの拡張子の「mdf」の意味
おすすめ情報