列でSQL ServerText
またはデータ型を使用すると、大きすぎるデータベースが作成されます。Varchar(max)
varchar(max)
それは正常ですか?
手伝ってくれてありがとう
テキスト フィールドを編集するのは約 5 ~ 50 kb MAX
列でSQL ServerText
またはデータ型を使用すると、大きすぎるデータベースが作成されます。Varchar(max)
varchar(max)
それは正常ですか?
手伝ってくれてありがとう
テキスト フィールドを編集するのは約 5 ~ 50 kb MAX
それはあなたのテーブルの中身に依存します。1 MBのデータを含む1000行がある場合、1000Mbになります
実行してみてください:
select datalength(yourField) from yourTable
datalength関数は、列が占めるバイト数を示します
varchar(max)はvarchar(n)とは異なります。
varchar(max)セルには2Gバイトのデータを含めることができます。
ただし、varchar(n)の場合:nの最大数は8000であり、最大8Kバイトのデータを意味します。
しかし、とにかく、データベースにどのような種類のデータを保存したのかわかりません。
つまり、要するに、 おそらく正常です。
sys.sp_spaceused @objname = N'YourTable'; を実行します。テーブルが使用しているスペースを確認します。
未使用のスペースがない場合、データは実際にそのスペースを占有しています
未使用の領域が多い場合は、新しいファイル グループを作成し、text/varchar(max) 列をこの新しいファイル グループに移動して、データベースを圧縮してみてください。DBCC SHRINKDB
その後、プライマリ ファイル グループが占有するスペースが少なくなり、DBCC SHRINKFILE
問題が発生するたびに を使用して「問題のある」ファイルを縮小できます。
新しいファイル グループの作成は、SSMS のデータベース プロパティのファイル ページで行うことができます。そこから sql スクリプトを生成して、何が起こっているかを確認できます。
テキスト列を別のファイル グループに移動するには、TEXTIMAGE_ON { filegroup| CREATE TABLEの「デフォルト」}
申し訳ありませんが、テーブルを変更することはできません。個々の列を別のファイル グループにすることはできませんが、すべての「大きな」列を一度に。そのため、手動で行うか、新しいデータベース ダイアグラム (SSMS スタジオ) でテーブルを表示して、プロパティを変更する必要があります。申し訳ありませんが、「テキスト/画像ファイル グループ」のような名前です (おそらく、私はスペイン語の SSMS を持っています) ですが、データベース ダイアグラム デザイナーでテーブル プロパティを表示すると、そこに表示されます。
利点: メイン テーブルの断片化が少なく、テーブル/クラスター化インデックス サカンが高速で、関心のあるファイルのみを圧縮できる可能性があります: 問題のある "大きな" 列があります。