SSMSを使用して、各種定義やレコードをエクスポートする

SQL Server Management Stuido(SSMS)を使用して、
各種定義やレコードをエクスポートすることができます!

この記事では例としてテーブルの定義をエクスポートします!

テーブル定義をエクスポートする

手順

DBを右クリックして[タスク]→[スクリプトの生成]をクリックする

手順

「次へ」をクリックする

手順

「特定のデータベースオブジェクトを選択」にチェックを入れ、
エクスポートしたいテーブルにチェック入れ、「次へ」をクリックする

ここではテーブル「EMPLOYEE」をエクスポートします。

ここで「テーブル」ではなく「ストアドプロシージャ」にチェックを入れれば、ストアドプロシージャの定義をエクスポートすることができます。

見出し

「スクリプトファイルとして保存」にチェックを入れ任意のファイル名を指定して、
「次へ」をクリックする

ここではファイル「ssms_export_sample.sql」へエクスポートします。

ここで「詳細設定」をクリックし、「スクリプトを作成するデータの種類」を「スキーマのみ」から「データのみ」にすれば、定義ではなくレコードをエクスポートすることができます。

手順

「次へ」をクリックする

以下の画面が表示されたらエクスポートは完了です!
「完了」をクリックして画面を閉じてください!

エクスポートされたことを確認する

エクスポートされたファイルをテキストエディタで開くと、テーブル定義がエクスポートされていることが分かります。

USE [sampleDB]
GO
/****** Object:  Table [dbo].[EMPLOYEE]    Script Date: 2020/06/28 0:49:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[EMPLOYEE](
	[ID] [varchar](6) NOT NULL,
	[NAME] [varchar](12) NOT NULL,
	[SEX] [varchar](2) NOT NULL,
	[SECTION] [varchar](12) NOT NULL
) ON [PRIMARY]
GO

レコードをエクスポートした場合、レコードはINSERT文の形で出力されます。

USE [sampleDB]
GO
INSERT [dbo].[EMPLOYEE] ([ID], [NAME], [SEX], [SECTION]) VALUES (N'00001', N'鈴木一郎', N'男', N'営業課')
INSERT [dbo].[EMPLOYEE] ([ID], [NAME], [SEX], [SECTION]) VALUES (N'00002', N'佐藤次郎', N'男', N'経理課')
GO

テーブル定義やレコードをエクスポートしておけば、誤ってテーブルを削除してしまったとしても、すぐに再作成をすることができます!

またエクスポートした定義やレコードを使用すれば、別のDB上(環境上)に同様のテーブルをすぐに作成することができます!

タイトルとURLをコピーしました