• 締切済み

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

  • ldf,mdfという拡張子のデータ

    SQLServerのProgramfileの中に ldf,mdfという拡張子のデータがあります。 データ量が多くなってきているので、 これを削除したいのですが、 可能でしょうか? ちなみにこれはどのようなデータなのでしょうか?

  • SQLServerのDBデータのディレクトリを移動したい

    SQLServerのDBデータ(ldf,mdf)のディレクトリを移動したいのですが、 可能でしょうか? 不可能であれば、移行する方法はあるのでしょうか? 新規作成してコピーなど。

  • データベースのアタッチができなくなりました

    SQLServer2000 logデータを書き込む領域がなくなりましたというエラーメッセージが出ましたので、 logファイルを削除するためにデータベースをデタッチしました。 このときに何かのメッセージが出ましたが、強引にデタッチをしました。 logファイルを削除し、データベースをデタッチしようとしたところ、 「ログファイルとして指定したファイル名が間違っています。新しいログファイルが作成されます。続行しますか?」というメッセージが出ました。 「はい」を選択すると 「エラー 1813 新しいデータベース’データベース名’を開けませんでした。CREATE DATABASEは中断されます。デバイスアクティブ化エラー物理ファイル名’C:\Program Files\Microsoft SQL Server|MSSQL\Data\データベース名_log_LDFは正しくありません。’」 というメッセージが出て、アタッチに失敗してしまいます。 データベースを復元しましたが、logファイルが無いためか、一ヶ月以上前の時点までしか復元できません。 ldfファイルはありません。(ゴミ箱の中にも) mdfファイルは残っていますので何とかなると期待しています。 大変困っています。 どなたか解決方法をご存知でしょうか。 ご教授よろしくお願いいたします

  • ユーザー認証について

    ASP.net2005 言語:C# データベース:SQLserver2005Express Edition で開発しています。初心者です。 すいません。どうしても解決できない事をお尋ねしたいのですが Webサイト管理サイトでユーザー情報を作成すれば、自動的にAPP_DataにASPNETDB.MDFが作成されると思うのですが、このデータベースファイルをレンタルサーバー上のデータベースに作成してくださいと言う指示はできるのでしょうか?? そのレンタルサーバー上のデータベースへの接続は、SQL Server Management Studio Express で行っています。 ユーザー登録、認証、ログインができれば、方法は問わないのですが、 ログインコントロールを使わない方法で開発する僕には、少し難しそうで、やっていないのですが、こちらの方がいいのであれば、教えて頂けたら幸いです。 すいません。すごくトンチンカンな事を言ってる気がするのですが、 宜しくお願い致します。

  • sp_attach_db実行のバッチファイル作成

    同じデータベースをコピーするというルーチンワークを処理するために,Query Ananyserで実行するsp_attach_dbをバッチファイルで処理したいと考えています。 copyコマンドでマスターとなる物理データベースをコピーした後に,osqlコマンドを使用して出来るかと考えたのですが,osql -E を実行するところで止まってしまいます。 現在作成しているバッチファイルには下記のように書いています。 copy D:\Test_xx.mdf D:\Test_00.mdf copy D:\Test_xx.ldf D:\Test_00.ldf osql -E sp_attach_db 'Test_00', 'D:\Test_00.mdf', 'D:\Test_00.ldf' go 何とか自動でデータベースがattachされるようにしたいのですが,どなたか御指南下さい。何卒宜しくお願い申し上げます。

  • SQLServer2000から7.0への移行

    SQLServer2000で構築したデータベース(mdfファイルとldfファイル)をSQLServer7.0にアタッチ機能(クエリアナライザで「sp_attach_db」を実行して)で移行させようとしましたが、「ldfファイルのヘッダーが有効でありません。PageAuditプロパティが不正です。」とのエラーメッセージが出て、実行できませんででした(ちなみにPageAuditの意味もわかっていません)。 ご質問なのですが、そもそも2000で構築したデータベースは、7.0のアタッチ機能で7.0への移行は無理なのでしょうか。それとも、当たり前かもしれませんが、2000のldfファイルの構造そのものが違い、7.0で認識させるのは、不可能なのでしょうか。 お忙しいところすいませんが、よろしくお願いします。 教えて下さい。

  • データベース復元時に指定する論理ファイル名とは?

    こんにちはtmgmです。 SQLServerのEnterpriseManagerにてデータベースを復元しようとする際に、設定の中で論理ファイル名と物理ファイル名(.mdf、.ldf)を決めますよね。物理ファイル名は実際にフォルダに格納されるいわば物理的なファイル(MDFファイルやLDFファイル)だというのはわかるんですが、論理ファイル名というのがいまいちわかりません。 論理ファイルというのはいったいなんなんでしょうか? お分かりになる方ご返答宜しく御願いします。

  • ASP.NET:複数結合テーブルのデータ変更方法について

    ASP.NET:複数結合テーブルのデータ変更方法について こんにちは。 現在Visual Studio2008(ASP.NET、ADO.NET) +SQL Server2005 Stdの環境でデータベースを参照したWebアプリケーションを作成しています。 GridViewを使い、データベースの内容を表示し、修正や追加、削除を行いたいと思っています。 (SQLのUpdate,Insert,Deleteに該当) 主キーが設定された単独のテーブルに対しては、GridView内のデータソースでデータベースを選び、 該当のテーブルを選択。その後「INSERT,UPDATEおよびDELETEステートメントの作成」オプションを選ぶことでこれらの変更方法が簡単に実装できるのを確認しております。 しかし、主キー外部キーの関係を持つ2つ以上のテーブルを結合したものに関してこれらの変更を行う場合は通常どのようにするのでしょうか。 何かヒントになるキーワードや参考になるコードを教えていただけないでしょうか? 単独のテーブルの時と同じく、結合したテーブルデータ(ビューに該当)をGridViewに表示し、そのGridView上で変更を行いたいと思っています。 SQL Server側でこれらのテーブルを結合したViewを作成し、これを選ぶことでGridViewに表示する事が可能なのは確認したのですが、やはり「INSERT,UPDATEおよびDELETEステートメントの作成」オプションは選択できませんでした。 以上よろしくお願いいたします。

  • exeやbatで2000のバックアップを2005で復旧

    現在のシステム(SQLServer2000)でexeからRestoreDatabaseを行っているのですが、同じくexeでBackupDatabaseを行って作成したバックアップファイルをSQLserver2005で復旧すると(RestoreDatabaseおよびSQL Server Management Studio Expressを使用した手動復元)両方ともエラーが出てしまい復旧できません。 原因としては2000と2005のLDFファイルおよびMDFファイルの場所が違うせいかと思われ、手動で復元する際に詳細設定でLDFファイルおよびMDFファイルの場所を指定し直してやれば問題なく復旧ができるのですが、システムを使用する人がパソコンに詳しい人でないため、SSMSEなどを使った手動操作を案内することが不可能と思われるため、batもしくはexeを配布して対応ができればというところです。 RestoreDatabaseなどを行う際に、対象とするMDFファイルおよびLDFファイルを指定することは可能でしょうか?

  • データ圧縮

    SQLServer2000にデータ量の大きなテーブルがあり、 そのデータ量を大幅に減らして、 圧縮をかけてもldfやmdfファイルは小さくなりませんでした。 圧縮前にページを先頭に移動や 個別に圧縮などをしてもファイルサイズは変わりませんでした。 圧縮をかける前になにかしないとデータ領域は小さくならないのでしょうか?

このQ&Aのポイント
  • 0.8㎏と表示されている純正ワイヤー以外にも使用できるのか疑問です
  • 売られている1㎏物のワイヤーは半自動溶接機に使用できるのか不明です
  • 0.8の試用版で練習中ですが、ワイヤーサイズを0.9に変えるとどうなるのか知りたいです
回答を見る