• ベストアンサー

MSDEでバックアップのスケジュールを組むには?

参考HPを見たのですが、どうもイマイチよくわからず、ここで質問しました。 ストアドプロシージャ、ジョブなど聴きなれない言葉がありまして、困っています。 どうぞ、ご教授よろしくお願いします。 参考HP http://www.horikawa.ne.jp/msde/support/msde2000-backup-job/msde2000-backup-job.html

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

  • ベストアンサー
  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.3

#1です。 補足の通りです。 【バックアップのストアドサンプル】 SQL Server 2005 Expres 参考URL http://msdn2.microsoft.com/ja-jp/library/ms165702.aspx http://msdn2.microsoft.com/ja-jp/library/ms170207.aspx ================================================================ set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO CREATE Procedure [dbo].[DBのバックアップ] @Path nvarchar(50) = N'C:\DBバックアップ\', -- バックアップ先のフォルダ @Fname nvarchar(50) = N'ほにゃららDB.Bak' -- バックアップの出力先ファイル名 as declare @BKF as nvarchar(100) set @BKF = @Path + @Fname BACKUP DATABASE ほにゃららDB TO DISK = @BKF WITH FORMAT, NAME = 'Full Backup of ほにゃららDB' return ================================================================ 上記ストアドをDBに登録します。 登録するには上記内容を、メモ帳形式で保存し、拡張子を.SQL とします。 仮に "C:\BACK.SQL" とします。 SQLCMD で即時実行するコマンドを入力します。 コマンドプロンプトで ============================================================ sqlcmd -E -P -S ほにゃららDB -d ほにゃららDB -s , -w 1024 -i "C:\BACK.SQL" ============================================================ で登録されます。 もし、エラーがあれば中断されます。 今回はこれをOS側で制御する簡単な方法を書きます。 まずメモ帳で"C:\backUP.BAT" というファイル名で新規作成します。 ================================================================ sqlcmd -E -P -S ほにゃららDB -d ほにゃららDB -s , -w 1024 -Q "EXEC DBのバックアップ @PATH = 'C:\バックアップ先フォルダ',@Fname = 'ホニャララ_2006_06_3'" ================================================================ という内容を記入します。 このバッチファイル("C:\backUP.BAT")をうまくゆくかテストします。 コマンドプロンプトで実行してみます。 うまく行くことを確認したら  Windows XP の スタートップ・アクセサリ・シシテムツールの タスクマネージャを開きます。 これに先のバッチ"C:\backUP.BAT" を定時に実行するよう登録すれば 指定時刻に実行されます。 結果はDBのLOGとイベントビューワに記録されます。 DBのLOGについてはMSのホームページをご覧ください。 なお定期タスクはあえて登録しなくても上記方法で十分活用できます。変更も簡単なのでこちらをおすすめします。 ストアドの変数「@Pathと@Fname」に渡す内容を変更すればバックアップしたいDBや出力先も変更できます。 以上、参考まで

KOHEI_JAPAN
質問者

お礼

色々ためしてみて、何とかできました! 大変参考になりました。 ご丁寧な回答ありがとうございましたm(_ _)m

その他の回答 (2)

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.2

#1です。 補足の通りです。 【バックアップのストアドサンプル】 SQL Server 2005 Expres 参考URL http://msdn2.microsoft.com/ja-jp/library/ms165702.aspx http://msdn2.microsoft.com/ja-jp/library/ms170207.aspx ================================================================ set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO CREATE Procedure [dbo].[DBのバックアップ] @Path nvarchar(50) = N'C:\DBバックアップ\', -- バックアップ先のフォルダ @Fname nvarchar(50) = N'ほにゃららDB.Bak' -- バックアップの出力先ファイル名 as declare @BKF as nvarchar(100) set @BKF = @Path + @Fname BACKUP DATABASE ほにゃららDB TO DISK = @BKF WITH FORMAT, NAME = 'Full Backup of ほにゃららDB' return ================================================================ 上記ストアドをDBに登録します。 登録するには上記内容を、メモ帳形式で保存し、拡張子を.SQL とします。 仮に "C:\BACK.SQL" とします。 SQLCMD で即時実行するコマンドを入力します。 コマンドプロンプトで ============================================================ sql -E -P -S ほにゃららDB -d ほにゃららDB -s , -w 1024 -i "C:\BACK.SQL" ============================================================ で登録されます。 もし、エラーがあれば中断されます。 今回はこれをOS側で制御する簡単な方法を書きます。 まずメモ帳で"C:\backUP.BAT" というファイル名で新規作成します。 ================================================================ sql -E -P -S ほにゃららDB -d ほにゃららDB -s , -w 1024 -Q "EXEC DBのバックアップ @PATH = 'C:\バックアップ先フォルダ',@Fname = 'ホニャララ_2006_06_3'" ================================================================ という内容を記入します。 このバッチファイル("C:\backUP.BAT")をうまくゆくかテストします。 コマンドプロンプトで実行してみます。 うまく行くことを確認したら  Windows XP の スタートップ・アクセサリ・シシテムツールの タスクマネージャを開きます。 これに先のバッチ"C:\backUP.BAT" を定時に実行するよう登録すれば 指定時刻に実行されます。 結果はDBのLOGとイベントビューワに記録されます。 DBのLOGについてはMSのホームページをご覧ください。 なお定期タスクはあえて登録しなくても上記方法で十分活用できます。変更も簡単なのでこちらをおすすめします。 ストアドの変数「@Pathと@Fname」に渡す内容を変更すればバックアップしたいDBや出力先も変更できます。 以上、参考まで

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.1

まず、あなたがどの程度、知識を持っているかわからないので 何を説明したらよいのかわかりません。 もう少し、具体的なところまでわかるまで勉強することが必要です。 >>ストアドプロシージャ、ジョブなど聴きなれない言葉がありまして、困っています。 MSDE は何のためどのような目的で使っているのかOSのバージョンや EXCELからなのかACCESS 2003 からなのか・・・ まずは ACEESS 2003 の入門本やサイトを見ることをお勧めします。 MSDE はコマンドツール OSQL を操作することとなりますが 当然、SQLやストアドのほかビューといった知識が必要です。 SQLの命令事態は簡単なメモ帳(Notepad)などで書くことができます。 即時、実行する場合はOSQLのコマンドで実行できますが定期的に まとまった処理を実行させたい場合はバッチ処理として SQLの命令をプログラミングする必要があります。 これがストアドプロシージャです。 書き方も当然知っておく必要があります。 OSQLのコマンドの命令も書き方があります。 OSQLにバッチ処理として実行する場合はメモ帳などで作成した 別ファイルのSQL文(これにバックアップのSQLを記載) をWINDOWS-XP のタスクスケジューラで定時刻に実行する方法と MSDE内部の定期タスクを使ってストアドを実行する方法と二つの方法が考えられます。 MSDEはバージョンがあり、現在は  SQL server 2005 Express EDition になっています。 私自身あまり詳しくはないので省略します。

KOHEI_JAPAN
質問者

補足

ご丁寧なご回答ありがとうございます。 OSQLやSQL文は大丈夫なのですが、 スケジュールするやり方がわかりません。 上のご説明ですと、 ストアドプロシージャ(処理させたいSQL文)を作成 ↓ MSDE内部の定期タスクを設定し、ストアドを実行させる の流れでよろしいのでしょうか?

関連するQ&A

  • MSDEのバックアップ

    こんにちわ。 今までAccessのmdbを一人で使うという前提の元で 開発・使用していたのですが、 複数ユーザーからの同時アクセスの必要性が出てきたので 少し調べてみたらAccessのCDに おまけ(とはいえないようなすごいものですよね?)でMSDEと いうものがあるというのを知って、これに 乗せ変えてしまおうかと考えています。 (もちろん殆ど作り直しだとは思うのですが ^^;) そこで質問なのですが、今までmdbファイルのバックアップ ですんでいたのですが、MSDEになると、どうなるのでしょうか。 SQL Serverだとそういった管理ツールがついてくるらしいのですが MSDEを実際に運用する時は、日常のバックアップ 作業はどのようにするのでしょうか? (素人考えで、ATコマンドで、backup databaseを 発行するのかなとか思っています。)

  • MSDE2000同時接続数

    MSDE2000同時接続数について質問させていただきます。 社内システムをAccess2002 + MSDE2000 で運用しています。現状は4台なのですが、5台くらい増やす予定があります。 しかしMSDEは同時接続数が5と聞きました。10台では無理があるのでしょうか? また、SQL Server2005の評価版を用意し使ってみましたが、Accessからストアドプロシージャの修正、追加(新規)ができません。修正しようとすると、・・・ ”このバージョンのMicrosoft Office Accessでは Microsoft SQL Serverで接続された Accessプロジェクトのデザイン変更をサポートされていません・・・” との警告が出て修正できません。 製品版でも同じなのでしょうか? ちなみに Officeアップデートは行いました。

  • MSDEのHP

    こんにちは。 Access2000で稼動しているシステムをMSDEベースに移行したく、 参考書を参考に構築中ですが、あまりうまくいきません。 MSDEに関するHPを探しているのですが、あまりありませんでした。 どなたか、よいMSDEのHPをご存知の方、紹介していただけませんでしょうか。 よろしくお願いいたします。

  • msdeのダウンロード

    こんにちは。 SQLServer初心者なのですが、質問させてください。 MSDEの最新版をダウンロードしたいのですがMSのサイトで見つけることが出来ません(T_T) MSDEにも色々バージョン?があるようなのですが… (forVB6とか、MSDE2Kとか) そのバージョンによって機能とか制限とかあるんでしょうか? そもそも、どこからダウンロードすればよいのかが解りません。 どなたか、参考になる様なWeb等を教えていただけるとありがたいのですが…よろしくです。

  • Linux上のPHPでWindowsのMSDEに接続できますか?

    Linux上のPHPでWindowsのMSDEに接続できますか? 色々調べてみたのですが、なかなかヒットしません。 1.Linux上のPHPでWindowsのMSDEに接続できるのか? 2.出来る場合、参考となるHP・又はやり方などを教えていただければと思います。

  • ストアドプロシージャについて

    教えてください。 NT4.0上でAccess2000+MSDEで使用しているのです。 ストアドプロシージャでUPDATE文のあとにSELECT文を使い更新したデータを受け取ろうとしているのですが、実行すると「ストアドプロシージャは実行されましたがレコードは返されませんでした。」とメッセージが表示されるだけなのです。UPDATE文を注釈にするとレコードは返されるのでデータはあるのだと思います。 宜しくお願いします。

  • SQLServer200 ストアドでデータベースのバックアップ

    SQLServer200のストアドでデータベースのバックアップを取りたいのですがやり方が分かりません。 BACKUP DATABASE [@Database_Name] TO [@Device_Name] のような感じでやるようなのですが(別の方法もあるようです)詳細がわかりません、教えていただけないでしょうか? 「msdb.dbo.sp_add_job」を使ってるのも見かけたのですが、これもわかりません。お願いいたしますm(__)m

  • IDの採番について

    こんばんわ。 現在、MSDEとC#でアプリケーションを考えていますが、 Accessだと自動採番のオートナンバー型がありますが、 MSDEではIDなどの通し番号の採番をどのように行うのが定番なのでしょう? 自動採番の仕組みをストアドプロシージャなどで組むのでしょうか? よろしくお願いします。

  • ユーザからADPのストアドプロシージャを修正できないようにする

    Microsoft Access2000のADPを通じて、MSDEを操作するデータベースを作成しました。 社内のユーザに ADPを変換したADEファイルを配付しようとしていますが、このままでは、ユーザが不用意にストアドプロシージャを修正してしまう恐れがあります。 ユーザからADEのストアドプロシージャを修正できないようにする方法はありませんでしょうか?

  • ストアドプロシージャーをWindowsバッチジョブで実行させたい

    SQLServerでストアドプロシージャーを作成し、これをWindowsのバッチジョブで実行させたいのですが、どのようにバッチジョブを作成すればいいのでしょうか? ストアドは単純にdbのdeleteを定義したものです。 バッチにはSQLServerのログインも必要だと思われるので、その辺から教えてください。