• ベストアンサー

SQL Server 2005の定期的な自動バックアップ

SQL Server 2005のDBの定期的な自動バックアップの方法を探しています バージョンは無償版のSQL Server Express Editionを使用しています。 現状は手動でバックアップを行っていますが、 調べていくうちに無償版では定期的なバックアップはできないのではないかと疑っています。 PCマシンは、windows XP sp3を使用しています。 もし方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

確かに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の詳細はリンクを参照してください。

参考URL:
http://msdn.microsoft.com/ja-jp/library/ms162773(SQL.90).aspx
noname#97641
質問者

補足

回答ありがとうございます。 ただ、少しうまくいっていません 「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

その他の回答 (1)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

>-S\.SQLEXPRESS 失礼しました。書き間違えましたね。。 -S.\SQLEXPRESS

noname#97641
質問者

お礼

解決しました! 回答ありがとうございました。

関連するQ&A