2017-06-06 5 views
1

私は、ユーザーがファイルを(主にJpg)に添付できるSQL Server 2012データベースを持っていますが、テーブルのサイズは130MBで、たった20レコードです。データベース内で最も多くの領域を使用している行を見つける方法を教えてください。

どの行が最も多くの領域を使用しているかを調べる必要があります。

データは、あなたがvarbinary列の長さを取得するためにDATALENGTHを使用することができますvarbinary

おかげ

+0

LasseV.Karlsen @はいあなたが正しいです。この質問のための悪いグーグルスキル。ありがとうございます – SCramphorn

+0

私も最大ファイルサイズのポリシーを設定したい – russellhoff

答えて

2

として格納されます。

SELECT Id, Name, DATALENGTH(BinaryColumn) 
FROM dbo.YourTable 
ORDER BY DATALENGTH(BinaryColumn) DESC 
+0

ありがとう、完璧。これをkb/mb - * 8/1024に変換するにはどうすればいいですか? (DATALENGTH(filecontent)* 8)/ 1024)fg、* from添付ファイル fg descで注文 – SCramphorn

+0

@SCramphorn: 'DATALENGTH'は**バイト数を返します** - 1024で割り切れば1024.0、整数除算を避けたい場合)または(1024 * 1024)など –

関連する問題