河端善博 ブログ / SQL Server / PASSJ

SQL Server, .NET, PASSJ

  PASSJブログ :: ホーム :: 連絡をする :: RSS  :: ATOM :: Login
  939 投稿数 :: 112 ストーリー :: 1472 コメント :: 595 トラックバック

ニュース

Windows Live Alerts
My Yahoo!に追加
Add to Google dotnetnuke.jp
NPOPLUS.JP
MVP
PASSJ

記事のカテゴリ

過去の記事

カテゴリ

イメージギャラリ

.TEXT

INETA コミュニティ

MOM2005

MSMVP

PASSJ

SQL コミュニティ

セキュリティ TIPS

セキュリティのキホン

テスト

ブログ翻訳

多言語対応

.TEXT

INETA コミュニティ

MOM2005

MSMVP

PASSJ

SQL コミュニティ

セキュリティ TIPS

セキュリティのキホン

テスト

ブログ翻訳

多言語対応

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」をご覧ください。

投稿日時 : 2004年4月15日 19:04

コメントを追加

No comments posted yet.

コメント

タイトル:
名前:
Url:
コメント: