2

プロジェクトの顧客から入手した 31 GB のデータベースがあります。私は 80GB の Win7 VM でデータベースをコーディングして保持しています。db ファイルを取得し、そこからデータベースをインポートしたところ、240,000 枚の画像を含む 1 つのテーブルがほとんどのスペースを占めていることがわかりました。これらの行のほとんどを削除し、現在 29,000MB を使用できます。ドライブが最後の数 GB に達しているため、多くの機能を実行できません。また、変更するレコードがまだたくさんあります (いくつかのテーブルのデータ型を変更していますが、active_transaction エラーが発生し続けます)。DBCC_SHRINKDATABASE(0)またはTasks > Shrink > Databaseまたはファイルを介して縮小していません。最初に取得したときのデータベースのサイズに縮小するだけのようです。そのスペースを解放するにはどうすればよいですか?可能であれば、まだ残っているデータを小さなデータベースにエクスポートして、そこから復元できますか?

SQL Server 2012 と Management Studio を実行しています。

ありがとう、

トニー

4

2 に答える 2

1

dbcc shrinkdatabase初期サイズ設定を下回ることはできません。データベースの初期サイズが 50GB に設定されている場合、29GB が空いている/使用可能であっても、MDF は常に少なくとも 50GB になります。

実際に空き容量がある場合は、初期サイズ設定をより適切な値に下げることができますが、MDF が単純に再び自動拡張する場合は、オーバーヘッドが高くなるため、お勧めできません。

これを行うには、 を使用しますdbcc shrinkfile

詳しくはこちらをご覧ください。

于 2015-07-31T19:24:52.353 に答える
0

このページでは、SQL サーバーのバックアップを作成する方法について説明します。https://msdn.microsoft.com/en-us/library/ms186865(v=sql.110).aspx

まだ完全バックアップを行っていない場合は、トランザクション ログ バックアップを行う前に完全バックアップを行う必要があります。

于 2015-07-31T19:21:44.207 に答える