0

SQL Server2008R2を使用しています。

nvarchar(max)フィールドを含むいくつかのフィールドを持つテーブルがあります。

varbinary(max)タイプの新しいフィールドを追加しようとすると、「変更の保存は許可されていません。行った変更では、次のテーブルを削除して再作成する必要があります」というエラーメッセージが表示されます。

同じテーブルにnvarchar(max)フィールドとvarbinar(max)フィールドを含めることは可能ですか?

これを修正する唯一の方法は、新しい構造で新しいテーブルを作成し、データを転送することですか?

4

4 に答える 4

4

はい、もちろんです。おそらく、SSMSのこの新しい「安全」オプションはまだ有効になっています(デフォルトではオンになっています)。

代替テキスト

それは下にTools > Optionsあります...。

于 2010-10-15T14:43:15.110 に答える
2

はい、可能です。

このメッセージが表示された場合は、SSMSテーブルデザイナーの既存の列の途中に新しい列を挿入しようとしたはずです。既存の列の最後に追加すると、テーブルを完全に再構築する必要がなくなります。

または単に実行します

alter table YourTable add newcol varbinary(max) null
于 2010-10-15T14:38:20.083 に答える
2

Tools | Options > Designers[テーブルの再作成が必要な変更を保存しない]オプションに移動してチェックを外します

于 2010-10-15T14:44:18.050 に答える
0

SQL Serverでは、既存のテーブルのストレージを動的に変更できないため、この方法でテーブルを展開することはできません。これを行う場合は、新しいスキーマを使用して新しいテーブルを作成し、元のテーブルのデータをそのテーブルに入力する必要があります。

于 2010-10-15T14:42:00.823 に答える