• 締切済み

ASP.NETでApp_Dataの中の*.mdf、*.ldfを自動で定期的にバックアップするには?

現在ASP.NET2.0とSQLserver2005にてWEBページを作成・勉強しております。 そこで、ASP.NETのテキスト通りに作成したところ、App_Dataという フォルダに*.mdfと*.ldfというデータベースデータが作成されました。 このデータを深夜3時に自動でバックアップしたいのですが どのようにしたらよろしいでしょうか? また、自動ではなく、手動でコピー&ペーストしようとしても「他の人、 またはプログラムによって使用されています」とでてコピーできません。 ということはデータベースをいったん停止(デタッチ?)してから、 コピー&ペーストして、コピーが終わったらデータベース再開する必要がある気がします。 どのように実装するのが良いのでしょうか。宜しくお願いいたします。

みんなの回答

  • go-s
  • ベストアンサー率0% (0/3)
回答No.3

>App_Dataの中の*.mdf、*.ldf と書かれていることから、「SQL Server 2005 Express Edition」を使用されているのではないかと推測して、回答させていただきます。 ExpressEditionでは「Integration Services」が同封されていません。 そのため、バックアップするためのスクリプトを書いてWindowsのタスクに登録する必要があるかと思います。 また、ただ単に個人用途として定期的に*.mdfと*.mdlをコピーしたいというのであれば、バッチファイルをタスクに登録する方法でよいかと思います。 例 net stop MSSQL$SQLEXPRESS rem xcopyなどでファイルをコピーする処理を記述 net start MSSQL$SQLEXPRESS

amandara
質問者

お礼

>>App_Dataの中の*.mdf、*.ldf >と書かれていることから、「SQL Server 2005 Express Edition」を使用されているのではないかと推測して、回答させていただきます。 おっしゃるとおりです。質問不備で申し訳ありません。 net stop MSSQL$SQLEXPRESS rem xcopyなどでファイルをコピーする処理を記述 net start MSSQL$SQLEXPRESS この方法で行きたいと思います。 この度は大変ありがとうございました。

  • hongfei
  • ベストアンサー率0% (0/1)
回答No.2

先ほどの漏れ事項があります。 下記のサービスも必要です。もしなかったら、CDからインストールします。 ■Integration Services サービス

  • hongfei
  • ベストアンサー率0% (0/1)
回答No.1

データベースファイルをコピーする時に、データベースを停止しなければならない。 もうひとつの方法があります。 管理したのメンテナンスプランを作成する必要があります。 その操作の前提条件はSQL Server エージェントを起動する必要です。

amandara
質問者

お礼

ご回答ありがとうございました。 メンテナンスプラン検討させていただきます。 と思ったのですが、私の質問不備で、ANo.3様のおっしゃるとおり 私の環境はExpressEditionでした。CDがありませんので、 やはりOSレベルのタスクでデータベース停止を行おうと思います。 このたびはご回答ありがとうございました。

関連するQ&A