SQL Server 2005 (Yukon) のうれしい特徴です。
MVP Global Summit 2004 でドンさん (Don Vilen) から、Yukon のお勧めポイントとして教えていただきました。
■varchar などでのレコード最大バイト数への制限緩和
レコード最大バイト数は、8060バイトです。
SQL Server 2005 では、この制限が一部緩和されます。
緩和されるのは、データ型 varchar, varbinary, nvarchar, sql_variant です。
たとえば、varchar(1000) のカラムを 300 個宣言し、それぞれのカラムに1000バイトの文字を入れることが可能となります。
SQL Server 2000 までは、varchar(1000) を 1024カラム宣言することはできました。
しかし、すべてのカラムに合計 8060バイト以上のデータを入れることはできませんでした。
SQL Server 2005では、実際に 1000バイトをすべてのカラムに入れることができます。
■テスト (Yukon Beta 1)
レコードの最大サイズ 8060 バイトは、超えられますか ? (varchar編)
上記で紹介したクエリーを Yukon Beta 1 で試してみると、次の結果になります。
UPDATE TestTable SET [c309] = REPLICATE('x', 1000)
.Net SqlClient Data Provider: Msg 511, Level 16, State 1, Line 1
Cannot create a row of size 8081 which is greater than the allowable maximum of 8060.
つまり、varchar(1000) のカラムを 308 個作成することができます。
ためしに、varchar(8000)、varchar(max) としても、308 個のカラムを作成できました。
詳しくは、Yukon Beta 1 のヘルプの「CREATE TABLE」のページの「Remarks」をご覧ください。