ユニコードではなく 8 ビット文字 (nvarchar ではなく varchar) を使用してテキストを格納する SQL Server のいくつかのテーブルを使用しています。一定量のテキストには、ASCII 範囲外の値を持つ文字が含まれています。たとえば、中引用符、全角ダッシュ、および ñ などの国際文字です。すべての PC とサーバーが同じコード ページを使用しているため、おそらくこれが機能します。
ただし、SSMS で [タスク] > [スクリプトの生成] スクリプト ツールを使用してこのようなテーブルのスクリプトを作成すると、結果のスクリプトは特殊文字を変換し、スクリプトを使用してテーブルを再構築すると、特殊文字が破損します。たとえば、「カニョン」は「カニオン」になります。これは、スクリプトに含まれる INSERT ステートメントで確認できます。データベースの「cañon」は、INSERT ステートメントでは「ca±on」と表示されます。
SSMS で、ラウンドトリップが機能するように、ASCII 範囲外の varchar データを含むテーブルをスクリプト化するにはどうすればよいですか?