SSMS (Microsoft SQL Server Management Studio) でサンプルのデータベース (名称: test01) を作成し、これを完全バックアップします。
1. データベースの作成
1-1. SSMS に管理者としてログインする。
1-2. データベースを作成する。
「オブジェクト エクスプローラー」の「データベース」を右クリックし、「新しいデータベース(N)...」を選択する。
⇓
「データベース名(N)」にデータベース名を記入し、 ボタンをクリックする。
ここではデータベース名を「test01」としている。
⇓
データベースが作成 (表示) されたことを確認する。
本来はここからテーブルの作成作業を実施するが、今回はバックアップとリストアの説明なので、テーブルは作成しない。
2. データベースのバックアップ
2-1. データベースをバックアップする。
バックアップ対象のデータベース名を右クリックし、
「タスク(T)」-「バックアップ(B)...」を選択する。
⇓
下記項目を確認し、 ボタンをクリックする。
• バックアップの種類(K): 完全
• バックアップ先(U): ディスク、ファイルパス
⇓
完了メッセージを確認して ボタンをクリックする。
バックアップのファイルは以下に格納される。
アーカイブする場合は、このファイルを採取する。
%ProgramFiles%\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Backup\test01.bak
3. データベースの削除
3-1. データベースを削除する。
削除すると元に戻せないので、バックアップがあることを確認してから作業すること。
データベース名を右クリックし、
「削除(D)」を選択する。
⇓
ボタンをクリックする。
⇓
データベースが削除された (表示されていない) ことを確認する。
4. データベースのリストア
4-1. データベースをリストアする。
「オブジェクト エクスプローラー」の「データベース」を右クリックし、「データベースの復元(R)...」を選択する。
⇓
◉デバイス(E): を選択し、 ボタンをクリックする。
⇓
ボタンをクリックする。
⇓
バックアップファイルを選択し、 ボタンをクリックする。
他のサーバから取り寄せたバックアップを復元するには、
このフォルダにバックアップファイルを設置してから行う。
Microsoft SQL Server は「NT Service\MSSALSERVER」
という特殊なユーザで動作しており、アクセス範囲が限定されている。
✗ネットワークフォルダ(使えない)
✗ユーザフォルダ(使えない)
⇓
ボタンをクリックする。
⇓
ボタンをクリックする。
⇓
完了メッセージを確認して ボタンをクリックする。
⇓
データベースが復元 (表示) されたことを確認する。
5. DDL の抽出
5-1. DDL (Data Definition Language) を抽出する。
バックアップ対象のデータベース名を右クリックし、
「タスク(T)」-「バックアップ(B)...」を選択する。
⇓
ボタンをクリックする。
⇓
以下を選択して ボタンをクリックする。
◉データベース全体とすべてのデータベースオブジェクトのスクリプトを作成(E)
⇓
ボタンをクリックする。
⇓
DDL に含める内容を選択して ボタンをクリックする。
左記ではデフォルトと異なる値を赤文字にしてある。
(実際は赤くならない)
⇓
◉ファイルに保存(F) を選択し、
ファイル名(I) の ボタンをクリックする。
⇓
保存するファイル名を記入し ボタンをクリックする。
バックアップファイルと異なり、ユーザフォルダ等も指定可能。
⇓
下記を選択し ボタンをクリックする。
◉単一ファイル(G)
☑既存のファイルの上書き(O)
◉Unicode テキスト(U) → Windows 標準の UTF-16 (BOM あり、CR+LF)
(ANSI テキスト(T) を選択すると文字コードが Shift-JIS で保存される)
⇓
選択した内容を確認して ボタンをクリックする。
⇓
SQL スクリプトが生成される。
結果を確認して ボタンをクリックする。
⇓
指定した場所に DDL ファイルが作成された。