SQLServerをバックアップするのはSQL Server Managemant Studioでも可能ですが、Powershellスクリプトでタスクスケジューラを設定して実施しています。
今回はそれを紹介します。
Powershellスクリプト
Backup-SqlDatabaseコマンドレットを使います。SQL Serverモジュールに同梱されてるものなので、モジュールのインストールを行います
SQL Server PowerShell モジュールのダウンロード – SQL Server | Microsoft Learn
Install-Module -Name SqlServer
使用しているスクリプトを簡素化したものがこちらです。
$year = (Get-date).Year $month = (Get-Date).Month $backupPath = "C:\Database_backup\DB_fullbackup_${year}_${month}.bak" #ServerInstanceはサーバー名です。ADがあればping DBserverで通りますね Backup-SqlDatabase -ServerInstance DBServer -Database "hypervdi" -BackupFile $backupPath -CompressionOption On
以上でバックアップは完了します。DBサーバー側で1433ポートがあいていれば正常に動くと思います、、、たぶん
トラブルシュート
Backup-SqlDatabase : サーバー DBserver に接続できませんでした。エラーの対処
SQLでログインできるアカウントを使うことです。
Backup-SqlDatabase : サーバー DBserver に接続できませんでした。 発生場所 行:9 文字:1 + Backup-SqlDatabase -ServerInstance DBserver -Database "hypervdi" ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Backup-SqlDatabase], ConnectionFailureException + FullyQualifiedErrorId : Microsoft.SqlServer.Management.Common.ConnectionFailureException,Microsoft.SqlServer.Management.PowerShell.BackupSqlDatabaseCommand
SQLにログインできないアカウントを使うとこのエラーになります。
Management Studioのセキュリティ>ログインからSQLにログインできるアカウントを確認できます。
ここにあるログイン名をつかうことでエラーを解消できます。