11

今日、このエラーに遭遇しました。誰かがそれが何を意味するのか教えてくれるかどうか疑問に思っています:

サイズが 9522 の行を並べ替えることができません。これは、許容される最大値の 8094 を超えています。

それは8094バイトですか?文字?田畑?これは、いくつかの制限を超えている複数のテーブルを結合する際の問題ですか?

4

5 に答える 5

10

SQL 2000 では、行の制限は 8K バイトで、これはメモリ内のページと同じサイズです。

[編集]

2005 では、ページ サイズは同じ (8K) ですが、データベースはページ内の行のポインターを使用して、より大きなフィールドを含む他のページを指します。これにより、2005 では 8K 行サイズの制限を克服できます。

于 2008-08-19T19:39:20.510 に答える
7

多くの人が直面しているように思われる問題は、定義上 8K を超えるデータを保持するテーブルを作成でき、それを問題なく受け入れることです。そして、実際に 8K を超えるデータをテーブルに挿入しようとする時点まで、テーブルは正常に機能します。

したがって、主キー用の整数フィールドと 10 個の varchar(1000) フィールドを持つテーブルを作成するとします。varchar(1000) フィールドの 10 個すべてを埋める回数は非常に少ないため、ほとんどの場合、テーブルは正常に機能します。ただし、各フィールドに 1000 文字を入力しようとしても、この質問に記載されているエラーが発生します。

于 2008-08-19T20:33:35.097 に答える
2

参考までに、DB でこの SQL コマンドを実行すると、可変長列を削除した後に再利用する必要があるスペースが原因である場合、問題を解決できます。

DBCC CLEANTABLE (0,[dbo.TableName])

参照: http://msdn.microsoft.com/en-us/library/ms174418.aspx

于 2010-03-30T19:00:15.797 に答える
0

これは SQL 2000 の問題でしたが、2005 年には修正されたと思います。

于 2008-08-19T19:35:17.867 に答える
0

8094 バイト。

あなたが何をしているかについて、もう少し情報を挙げていただければ、実際の原因を突き止めるのに役立つかもしれません。

于 2008-08-19T19:37:06.660 に答える