2017-02-13 3 views
0

SQL Server 2014データベースは基本的にメインテーブルとそれと外部キー関係を持ついくつかの子テーブルで構成されています。彼らは自分の子供のテーブルを持っています。 SQLの複雑さに関して、このDBは何も特別なものではなく(BLOBフィールドもなく)、ディスク上のサイズは50 MB未満です。SQL Server 2014の「メイン」親テーブルの列のサイズを変更する良い方法

ただし、このメインテーブルの列の1つは、nvarchar(500)からnvarchar(MAX)にリサイズする必要があります。 SSMSで編集できず、テーブルを削除して再作成する必要があると言われています。

SSMSのGenerate Scriptsオプションを使用して、データベースを再作成して再投入することができますが、それは過度のようですか?

私は実際にそのメインテーブルに関係する制約を無効にし、新しい列サイズで削除して再作成し、スクリプトからデータを再読み込みしてから再度それらの制約を有効にしたいと考えています。しかし、今私はSQLの専門知識のかすかな部分に入り込んでいます。そのような限られた操作をどのように行うのが最善で、提案が大好きですか?

答えて

1

だけで列のサイズを変更するALTER TABLEのコマンドを使用します。ドキュメントを1として

ALTER TABLE MyTable 
ALTER COLUMN MyColumn NVARCHAR(MAX) NULL -- Or NOT NULL, as required 

に柱のサイズを変更する:

あなたは長さ、精度、またはのスケールを変更することができます列は で、ALTER COLUMN 句に列データ型の新しいサイズを指定します。データが列に存在する場合、新しいサイズはデータの最大サイズよりも小さい にできません。

+0

私は銃の息子になるだろう、私はこのSSMSの警告で私はこれを試していないことが分かれてしまった。うまくいった、ありがとう。 – jkj2000

関連する問題