- ベストアンサー
SQL Server 2005の定期的な自動バックアップ
SQL Server 2005のDBの定期的な自動バックアップの方法を探しています バージョンは無償版のSQL Server Express Editionを使用しています。 現状は手動でバックアップを行っていますが、 調べていくうちに無償版では定期的なバックアップはできないのではないかと疑っています。 PCマシンは、windows XP sp3を使用しています。 もし方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
確かにSQL Server 2005 ExpressにはSQL Server Agentサービスがついていません。 したがって、スケジュール実行をSQL Serer側だけで実行させることはできませんので、 Windowsのタスクスケジューラを利用することになります。 インスタンス名はSQLEXPRESS,データベース名はtestdb,パスはC:\TEMPとして書いていますので、必要に応じて変更してください。 1) スクリプトファイルを作成する(C:\TEMP\backup.sql) 以下の2行を書いて保存 BACKUP DATABASE testdb TO DISK='C:\TEMP\testdb.bak' WITH INIT GO 2) バッチファイルを作成する(C:\TEMP\backup.bat) 以下の1行を書いて保存 sqlcmd -S\.SQLEXPRESS -E -iC:\TEMP\backup.sql > C:\TEMP\backup.log ただし、Windows認証にしていないならば、 sqlcmd -S\.SQLEXPRESS -Usa -Pパスワード -iC:\TEMP\backup.sql > C:\TEMP\backup.log 3) 上記バッチファイルをWindowsのタスクとして登録 特にWindows認証の場合はタスクの実行ユーザに注意 sqlcmdの詳細はリンクを参照してください。
その他の回答 (1)
- jamshid6
- ベストアンサー率88% (591/669)
>-S\.SQLEXPRESS 失礼しました。書き間違えましたね。。 -S.\SQLEXPRESS
お礼
解決しました! 回答ありがとうございました。
補足
回答ありがとうございます。 ただ、少しうまくいっていません 「HResult 0xFFFFFFFF、レベル 16、状態 1 SQL ネットワーク インターフェイス : 指定された Server/Instance の位置を特定しているときにエラーが発生しました [xFFFFFFFF]. 」 というエラーになってしまいました。 「backup.sql」 BACKUP DATABASE [Sample1] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\Sample1.bak' WITH NOFORMAT, NOINIT, NAME = N'Sample1-完全 データベース バックアップ', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO 「backup.bat」 sqlcmd -S\.SQLEXPRESS -E -iC:\Sample1\backup.sql > C:\Sample1\backup.log