先生のための SQL Server 2016
 
<< Prev         Next >>
  第16回 生徒テーブルの構造を変更して保存する  
           
  生徒データを格納する「seito」テーブルのデータ型を Management Studio の画面上で変更した。変更したら保存しないとテーブル構造は変わらない。

テーブル構造の変更を保存してデータベースに反映させるためには、Management Studio の中央のテーブル構造の編集画面で上部のタブをマウスでポイントして右クリックし「seito を保存」をクリックする。
 
           
   
           
  ところが編集を保存しようとすると、次のようなメッセージが表示され、変更を保存することができない。

「変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要になります。再作成できないテーブルに変更を行ったか、テーブルの再作成を必要とする変更を保存できないようにするオプションが有効になっています。」

テーブル構造を変更すると既に保存されているデータに対して影響を与えるので、このような重要な定義変更はデフォルトでは安易にできない設定になっている。

ところで、この説明はわかりにくく不親切だ。テーブルを削除して再作成することが必要、と書かれていて愕然とするが、「テーブルの再作成を必要とする変更を保存できないようにする」オプションの設定があるようにも書かれている。これはいったいどこにあるのか。

このオプションは Management Studio の「ツール」メニューの「オプション」にある「デザイナー」の項目にある。
 
           
   
           
   
           
  Management Studio の「ツール」メニューの「オプション」でツリーから「デザイナー」、「テーブルデザイナーおよびデータベースデザイナー」を展開すると、「テーブルの再作成を必要とする変更を保存できないようにする」オプションがある。これのチェックを外して「OK」をする。  
           
   
           
  「OK」をクリックするとデザイン画面に戻るので、ふたたび編集画面で上部のタブをマウスでポイントして右クリックし「seito を保存」をクリックしよう。うまくいくはずだ。  
           
   
           
   
           
  テーブル構造の変更が SQL Server に保存されると、タブのテーブル名の後ろについた「*」が消える。これでテーブル構造の変更が保存されたことがわかる。テーブル構造の変更が保存できたら Management Studio を終了してもかまわない。