猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

SQLServer

SQLServer テーブル単位のバックアップと復元

投稿日:

方法1.bcpユーティリティーを使用する方法

bcpユーティリティーを利用してエクスポート、インポートをする方法です。

(1)bcpユーティリティーでエクスポート

c:\>bcp TestDB.dbo.users out c:\users.txt -c -S localhost -U sa -P password

(2)インポートするテーブルを作成します

※場合によっては、復元したいテーブルを空にします

(3)データをインポートします

c:\>bcp TestDB.dbo.users in c:\users.txt -c -S localhost -U sa -P password

次に紹介するSQLの方法と比べ、そのままインポートできることがbcpユーティリティーの魅力です。

方法2.SELECT INSERTを使用する方法

(1)インポートするテーブルを作成します

(2)SELECT INSERT でデータをコピーします

insert into users_bk  select * from users_original

※この方法には大きな問題点があります。
列リストが使用されていて、IDENTITY_INSERT が ON のときに限り、テーブル ‘users_bk’ の ID 列に明示的な値を指定できます。
列のプロパティにおいて、IDENTITYの指定の(IDである)を「はい」にしていると、インポートすることができない。

「変更の保存が許可されていません。」とういエラーが出て、テーブルの構成を変更できないのだ。

sqlserver001

ツール > オプション > デザイナー にある
「テーブルの再作成を必用とする変更を保存できないようにする」
のチェックを外せば構成を変更することができる。

sqlserver002

『テーブルの再作成時にメタデータが失われ、データが直接失われる場合があります。・・・』ということがこの設定の存在理由です。
あまり意識しなくてもよさそうですが、テーブルの構成を変更しなくてはインポートできないのは大きな問題です。
方法1のbcpユーティリティーを使用する方法がおすすめです。

Gooleアドセンス用336

Gooleアドセンス用336

-SQLServer
-

執筆者:

関連記事

sqlserver

SQL Server 構成マネージャーを起動する

SQL Server 構成マネージャーがない。 何故か、コンピューターの管理の中に入っていた。 また検索窓からは以下のように検索できる。 ・SQL Server 2014 の場合   SQLServe …

sqlserver

SQL Server Browser を起動する方法

SQL Server構成マネージャーより起動できるはずが、なぜか開始も停止もできない。 コントロール パネル > システムとセキュリティ > 管理ツール > サービス を見ると、SQL Server …

sqlserver

SQLSERVER サービス起動用ユーザーを作成する

SQLサーバーのサービスを起動しているのは、デフォルトではおそらくAdministratorです。 ここに大きな落とし穴があります。 Administratroのパスワードを変更することはセキュリティ …

sqlserver

テーブル変更やインデックス追加時にSELECTできるのか

INDEX1 テーブルの変更は運用に影響するのか?2 テーブルの変更3 インデックスの追加 テーブルの変更は運用に影響するのか? 運用中のテーブルを変更しないといけない場合は多々あります。 運用中のテ …

sqlserver

SQLSERVER インストール後にDataをDドライブ(別ドライブへ)移動する方法

通常OSはCドライブ、データはDドライブなどの別ドライブを使用します。 SQLSERVERではデータの肥大化が起こりうる実データファイル(mdfやldf)をCドライブ以外に変更したい場面は多いはずです …