web-dev-qa-db-ja.com

SQL Server 2000でのvarchar(max)の最大サイズ

SQL Server2000でのvarcharの最大サイズを知りたいのですが、どこかでグーグルで8000文字と書かれ、どこかで8060バイトと書かれていました。どちらが正しいですか?

13
Kumar

Varcharは8000で、nvarcharは4000です。

Varcharmsdnリファレンスは次のとおりです。
http://msdn.Microsoft.com/en-us/library/aa258242(SQL.80).aspx

24
Joel Coehoorn

SQL Serverデータページには8k:8192バイトがあります。これにより、一部はページヘッダー用に予約され、1行が持つことができる最大長の8060バイトが残ります。行で、varbinary(n)、varchar(n)、およびnvarchar(n)タイプは8000バイトを超えることはできません。つまり、varchar(8000)は最大ASCII長であり、nvarchar(4000)は最大Unicode長です(Unicode以降)各文字を2バイトに格納します)。

これらすべての詳細の最も良い説明は ストレージエンジンの内部:ページの構造 から来ています。

11
Remus Rusanu

私が覚えている限り、それは8000文字です。

Nvarcharの場合は4000です。

2
no_one

Varchar(max)の最大サイズが大きい(2GBまたは2Gcharsだと思います)。 varchar(n)でnに指定できる最大値は8000で、nvarcharの場合は4000です。

2
erikkallen