VARBINARY(max)
列のデータを拡張する、つまりデータを現在の長さよりも大きな新しい長さに設定する最良の方法は何ですか?
-----------------------------------------
| current data | |
-----------------------------------------
^ ^
current length desired new length
MSDNによると@Offset
、データの長さを超える値を設定することはできないため、... .WRITE (NULL, newOffset, NULL)
機能しません。私が思いついた最善の解決策は、可変長のゼロのバイナリ文字列を作成し、それをデータ列に追加することです。残念ながら、このソリューションでは、大規模なインストールでサーバー側のハング (まだ分析できていません) が発生します。
これを行うためのより良い方法は何でしょうか? 明らかな何かが欠けていますか?
VARBINARY(max)
これは、列へのストレージ インターフェイスを提供するために必要です。このインターフェイスの実装は (まだ) データ長を認識していません。すべての読み取り/書き込み要求は、1:1 で SQL サーバー クエリに変換されます。