dポイントプレゼントキャンペーン実施中!

現在ASP.NET2.0とSQLserver2005にてWEBページを作成・勉強しております。
そこで、ASP.NETのテキスト通りに作成したところ、App_Dataという
フォルダに*.mdfと*.ldfというデータベースデータが作成されました。

このデータを深夜3時に自動でバックアップしたいのですが
どのようにしたらよろしいでしょうか?

また、自動ではなく、手動でコピー&ペーストしようとしても「他の人、
またはプログラムによって使用されています」とでてコピーできません。

ということはデータベースをいったん停止(デタッチ?)してから、
コピー&ペーストして、コピーが終わったらデータベース再開する必要がある気がします。

どのように実装するのが良いのでしょうか。宜しくお願いいたします。

A 回答 (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
    • good
    • 0
この回答へのお礼

>>App_Dataの中の*.mdf、*.ldf
>と書かれていることから、「SQL Server 2005 Express Edition」を使用されているのではないかと推測して、回答させていただきます。

おっしゃるとおりです。質問不備で申し訳ありません。

net stop MSSQL$SQLEXPRESS
rem xcopyなどでファイルをコピーする処理を記述
net start MSSQL$SQLEXPRESS

この方法で行きたいと思います。
この度は大変ありがとうございました。

お礼日時:2008/07/07 10:13

先ほどの漏れ事項があります。


下記のサービスも必要です。もしなかったら、CDからインストールします。
■Integration Services サービス
    • good
    • 0

データベースファイルをコピーする時に、データベースを停止しなければならない。



もうひとつの方法があります。
管理したのメンテナンスプランを作成する必要があります。
その操作の前提条件はSQL Server エージェントを起動する必要です。
    • good
    • 0
この回答へのお礼

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

メンテナンスプラン検討させていただきます。

と思ったのですが、私の質問不備で、ANo.3様のおっしゃるとおり
私の環境はExpressEditionでした。CDがありませんので、
やはりOSレベルのタスクでデータベース停止を行おうと思います。

このたびはご回答ありがとうございました。

お礼日時:2008/07/07 10:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す