テスターですが何か?

ホビープログラマ略してHPです

SQL Server 2008 でテーブルを保存するときにエラー メッセージ “変更の保存が許可されていません” が表示される

leave a comment »

SQL ServerでManagement Studioからテーブルを作成後、そのテーブルを変更しようとするとエラーメッセージが表示される。

001

確か列のNULL許可を変更しようとしていたと思ったんですが、SQL Server 2008はManagement Studioからのテーブルの変更を許可していないんですね...

MSサポートサイトを検索すると、こんな情報がありました。

SQL Server 2008 でテーブルを保存するときにエラー メッセージ "変更の保存が許可されていません" が表示される

要約すると、SQL Server 2008 Management Studioではデフォルトの設定で以下のテーブル変更を許可していないようです。(Drop後Createしなければならないようです。)具体的には以下の4つを許可していないようです。

  • 列に対して、"Null を許容" 設定を変更する。
  • テーブルの列の順序を変更する。
  • 列のデータ型を変更する。
  • 新しい列を追加する。

OracleとかDB2では当たり前なのかもしれませんが、SQL ServerはGUIで自由にテーブルの変更が可能なことが魅力なのですが...

SQL Server 2008には、テーブルに対する変更を追跡する機能があるため、上記のようなテーブルの再作成が必要な変更を加えるとメッセージを出しているようです。テーブル変更の追跡機能がよくわからないのと、今までどおりの感覚(自由にテーブル定義の変更が可能)でSQL Serverを使用したいので、以下の設定変更を行います。

  1. SQL Server Management Studio (SSMS) を開きます。
  2. [ツール] メニューの [オプション] をクリックします。
  3. [オプション] ウィンドウのナビゲーション ウィンドウで、[デザイナ] をクリックします。
  4. [テーブルの再作成を必要とする変更を保存できないようにする] チェック ボックスをオフにして、[OK] をクリックします。

002

これで、自由にテーブル定義の変更が可能(正確には、テーブルの再作成を必要とする変更を保存しないため、テーブルの再作成を必要とする変更の実行が可能)になります。

Written by david9142

2009年5月17日 @ 3:06 PM

カテゴリー: SQL Server

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。