タイプNTEXT
の列を持つテーブルがあります。そして、いくつかの特殊な理由により、クライアントは列タイプをNVARCHAR(MAX)
に移行したいと考えています。
その際、どのような潜在的な脅威に注意する必要がありますか?
NVARCHAR(MAX)
制限のためにデータが失われる可能性はありますか?
いいえ。テーブルを変更できます(SQL 2005+) cf this 。
または、あなたの便宜のために:
_alter table my_table alter column my_ntext_column nvarchar(max);
_
または、ntext
列をnvarchar(max)
にキャストするビューを提供して、クライアントを満足させ、データベースを変更しないでおくことができます。
「特有の理由」?そのntextだけが非推奨であり、扱いが難しいのですか?
それは無損失の変換です。不明な場合は、SSMS GUIデザイナーを使用してスクリプトを生成してください。
NVARCHAR(MAX)の制限によりデータが失われる可能性はありますか?
いいえ。 NVARCHAR(MAX)
ntext
の2倍のテキスト(2 ^ 31-1対2 ^ 30-1)を使用できます。 。