SQL Server Management Studio でバックアップなどのスクリプトを生成する方法
SSMS の画面からバックアップなどのスクリプトを生成する
SQL Server Management Studio の GUI を使って、データベースのバックアップをとる時に、毎回同じオプションを選択して、ちょっと面倒だなと思うような時ありませんか?
同じことができるバックアップのスクリプトがあったら、クエリー画面を開いて、実行すれば良いだけなので便利ですよね。
今回は、SQL Server Management Studio の画面から、バックアップなどのスクリプトを生成する方法をご紹介します。
バックアップのスクリプトを生成する方法
SQL Server Management Studio の画面から、データベース完全バックアップのオプションを設定した後で、バックアップスクリプトを生成してみましょう。
今回は適当にバックアップのオプションを設定していきますが、実際バックアップをとる際はこの通りでなくても全然大丈夫です。
1. まず、バックアップしたいデータベースを選択して右クリックし、 [タスク] > [バックアップ] を選択します。
2. データベースのバックアップの画面が出てくるので、[全般] のページで「コピーのみのバックアップ」をチェックし、バックアップ先を追加します。
3. [メディアオプション] のページでは、「既存のすべてのバックアップセットを上書きする」を選択します。
4. [バックアップオプション] のページでは、圧縮のオプションで「バックアップを圧縮する」を選択します。
5. これでバックアップの希望の設定が終わったので、スクリプトを生成します。
設定画面の上のほうにある[スクリプト] をクリックし、「スクリプト操作を新規クエリ ウィンドウに保存」を選択します。
今回はすぐ実行するので、新規クエリウィンドウに保存を選択しますが、ファイルに保存、クリップボードに保存、ジョブに保存など、ご希望に応じて選択してください。
ちなみに、スクリプト操作をジョブに保存するオプションを選択すると、ステップ1のコマンドにバックアップのスクリプトが設定された状態で、新規のジョブ作成画面が立ち上がります。
6. 新規クエリウインドウが開き、指定したデータベースをバックアップするスクリプトが出力されます。
BACKUP DATABASE [Test] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\Test.bak' WITH COPY_ONLY, NOFORMAT, INIT, NAME = N'Test-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10 GO
COPY_ONLY(コピーのみのバックアップ)、INIT(上書き)、COMPRESSION(圧縮) など画面から設定したオプションが反映されていますね。
このスクリプトを実行してみると、ちゃんとバックアップファイルが指定のフォルダーに生成されました。
最後に、このスクリプトを生成する方法はバックアップの時だけでなく、データベースの圧縮や復元、ログイン、ユーザー、データベース、ジョブの生成などなど、SQL Server Management Studio の画面にスクリプトボタンがある場合は同様にスクリプトを生成することができます。
スクリプトがあったほうが便利な時もあると思うので、活用してみてくださいね。
以上、SQL Server Management Studio でバックアップなどのスクリプトを生成する方法をご紹介しました。