SQL Server Management Studio の初期設定では、 テーブルデザイナーの保存実行時、エラー「変更の保存が許可されていません」が発生します。
保存時に表示されるエラー
「変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要になります。再作成できないテーブルに変更を行ったか、テーブルの再作成を必要とする変更を保存できないようにするオプションが有効になっています。」原因
テーブルを一度削除して再作成する必要がある場合、テーブルの再作成時にデータが失われる恐れがあります。これを防止するため、初期設定ではそのような変更を保存できないようになっています。解決方法
次の手順で SQL Server Management Studio の設定を変更し、テーブルデザイナーでテーブルを再作成することを許可します。この設定はSQL Serverではなく、SQL Server Management Studioの設定です。SQL Serverに影響はありません。
テーブルデザイナーでテーブル再作成を許可する手順
- 画面上部のメニューから、「ツール(T)」->「オプション(O)」を選択します。
- オプション画面が開くので、画面左側の一覧から「デザイナー」を選択します。
- 画面右側の「テーブルの再作成を必要とする変更を保存できないようにする(S)」のチェックを外します。
テーブル変更前にデータをバックアップ
次のSQLを使用すると 新しいテーブルを作成し、そのテーブルにレコードをコピーできます。ただし、この方法は簡易的なコピーです。完全なバックアップには使用できません。詳細は次の記事を参照してください。SELECT * INTO バックアップ先テーブル名 FROM 元テーブル名
参考資料
検証環境
- Microsoft SQL Server Management Studio v18.8(15.0.18369.0)
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.804 Experience: Windows Feature Experience Pack 120.2212.551.0
- Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64) Sep 23 2020 16:03:08 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 16.04.7 LTS) <X64>
- Docker image: mcr.microsoft.com/mssql/server:2019-CU8-ubuntu-16.04
- Docker Desktop 3.1.0(51484)
- Docker Engine 20.10.2