テーブルデザイン画面でテーブルの情報を変更・更新時にエラーが出る

C#, ITVisualStudio

テーブルデザイン画面でテーブルの情報を変更・更新時にエラーが出る

上記の設定でテーブルを更新しようとすると

【バッチの実行中にエラーが発生しました。】というメッセージが表示され、
データベースを更新できません。

原因と解決法

データ型nvarchar(MAX)のカラムを主キーに設定したのが原因でした。
SQLSERVERは主キーを900バイト以内に設定しないといけません。
データ型nvarchar(MAX)は上記の制限に干渉するためエラーが発生します。
データ型をnvarchar(MAX)やvarchar(MAX)など900バイトを超えるもの以外に設定すれば正常に更新できるようになります。

まとめ

原因が分からずけっこう時間を喰いました。
オラクルからSQLSERVERに移行する時などにも気をつけなければいけない点なので、
頭の片隅にでも記憶しておくと良いかもしれません。

C#, ITVisualStudio

Posted by raishin