• 締切済み

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されるようにしたいのですが,どなたか御指南下さい。何卒宜しくお願い申し上げます。

みんなの回答

  • mitu_fu
  • ベストアンサー率90% (9/10)
回答No.1

なぜ止まっているのかは分かりませんが・・ osqlでサーバに接続はできているのですよね? >>sp_attach_db 'Test_00', >>'D:\Test_00.mdf', >>'D:\Test_00.ldf' ↑これはQuery Ananyserで正常に動きますか? ちなみに、私が作業をするのであれば↓ BATファイル copy D:\Test_xx.mdf D:\Test_00.mdf copy D:\Test_xx.ldf D:\Test_00.ldf isql /U xx /P xxx /i attach.sql /o attach.log attach.sql EXECUTE sp_attach_db @dbname = N'Test_00',            @filename1 = N'D:\Test_00.mdf',            @filename2 = N'D:\Test_00.ldf' GO attach.log ※結果のログ出力←見ても・・・ですがw ご参考になればよろしいのですが^^;

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 2つのMDFファイルをattachさせたい。

    別々のテーブルが入った二つのMDFファイル(A.mdf,B.mdf)があります。 いまsp_attach_dbを使ってサーバーにアタッチしたいのですが「ファイルを別のデータベースに関連付けることはできません。」と出来ませんでした。 sp_attach_dbのヘルプには「ファイル名は最大 16 個まで指定できます。」と書いてあるので出来ると思ったのですが・・・。初心者なのでもともとの考え方がずれているのでしょうか・・・。 SQLは以下の通りです。 --------------------------------- sp_attach_db @dbname = 'Test', @filename1 = 'C:\aaa\Data\A.mdf', @filename2 = 'C:\aaa\Data\A.ldf', @filename3 = 'C:\aaa\Data\B.mdf', @filename4 = 'C:\aaa\Data\B.ldf' --------------------------------- もし、これが出来ない時はBファイルのテーブルを Aファイルに移動したいのですがどのようにすれば できますでしょうか。 まったく初心者で途方にくれています。ご教授よろしくお願いします。

  • SQLServer2000から7.0への移行

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

  • バッチファイルから直接db2コマンドに引数を持たせて実行したい

    バッチファイルより、得たデータを引数としてdb2コマンドに私、実行したいのですが、そのようなことはできるでしょうか。 (詳細) バッチファイルで、日付&時間を変数に格納します。これを、db2のテーブルにインポートしたい。 稚拙な質問で申し訳ありません。

  • バッチファイルで実行できたりできなかったり

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 ping [example.com] > result.txt tracert [example.com] >> tr_result.txt ipconfig /all > ipc_result.txt 次に、各コマンドをテキストファイルに書き込んで、それぞれ "p_test.bat" # 内容は ping コマンド "tr_test.bat" # 内容は tracert コマンド "ipc_test.bat" # 内容は ipconfig コマンド と命名しデスクトップに配置、ダブルクリックで実行してみました。 すると、このうち正常に実行(結果をテキストファイルに出力)されたのは tr_test.bat のみでした。 ここで質問なのですが、なぜこのような違い(バッチファイルにすると実行できるものとできないものに分かれる)が起こるのでしょうか? バッチファイルの作り方やとコマンドプロンプトについて調べてみましたが、説明を見つけることが出来ませんでした。 この辺の理論について詳しい方がおりましたら、ご教示頂きたく思います。 ちなみに、OS は Windows XP SP2 です。 よろしくお願いいたします。

  • バッチファイルの実行方法

    Windows Server 2003で、Robocopy.exe(Resource KitToolsからインストールしたもの)の連続処理のために、下記のようなバッチファイル(.bat)を用意しました。 robocopy "D:\a" "F:\a" /E /copy:DT /NP /LOG:c:\robocopy.txt /TEE robocopy "D:\b" "F:\b" /E /copy:DT /NP /LOG+:c:\robocopy.txt /TEE .... コマンドの各行は間違っていないようです(cmd.exeに各行を打ち込んで実行すると正常に処理されます)。しかし.batをダブルクリックするとコマンドプロンプト画面内でバッチファイルの1行目がすごい勢いで流れるだけで、処理されません(コマンドプロンプトを強制終了するしかありません)。 最初は.batをダブルクリックすると正常に処理されていたのですが、急にこうなりました。なぜでしょうか? command.comから.batファイルを実行すると正常に処理されます。command.comから実行しないといけないものなのでしょうか? バッチファイルの拡張子を.batにするか、.comにするか関係があるでしょうか?

  • バッチファイル作成

    WindowsにMySQLを入れました。そこに、データベースやテーブルの作成をコマンドプロンプトからではなく、バッチで実行したいのですが、とりあえず、create database。sql と create table のテキストファイルは、作ったものの、どうしたらいいのかわかりません。教えてください。

    • ベストアンサー
    • MySQL
  • バッチファイルを使ったテーブルのエクスポート

    いつもお世話になっております。 現在、WindowsXP(SP2)、SQLServer2000(SP4)で開発をしています。 コマンドプロンプトで下記のコマンドを実行すると、テーブルのエクスポートが正常に行われます。 bcp [データベース名].[dbo].[テーブル名] out c:\test.txt /c /t , /r \n /P (パスワード) このコマンドをバッチファイルに書いて、バッチファイルを実行する事でテーブルのエクスポート処理を行いたいのですが、書き方がわかりません。 御存知の方がいましたら、ヒントや参考にするHP等でも構いませんので、教えてください。 宜しくお願いします。

  • jarファイルをバッチで実行させたい

     今晩は。  jarファイルをコマンドプロンプト画面からバッチで実行させようとして、 バッチを下の様に書いてやりましたが、うまく動作しません。  一体どこが悪いのでしょうか。  「java -jar C:\Documents and Settings\デスクトップ\test.jar  pause」  実行すると「>pause 続行するには何かキーを押してください . . .」と表示されますが、 キーを押すと画面が消えてしまいます。  (実行が終わって、コマンドプロンプト画面が閉じられているみたいな・・・)  また、pauseを削除すると、やはり一度はコマンドプロンプトの画面が表示はされますが、 コマンドプロンプト画面が閉じられます。(実行はしているような気がするのですが、、、)  どのようにバッチの内容を変更すれば、実行画面が表示されたまま、プログラムが止まるのでしょうか。  宜しくお願いします。

    • ベストアンサー
    • Java
  • バッチファイルをatコマンドでうまく実行できない

    初心者で申し訳ありませんが教えてください。 特定の時間になると、○○サーバにあるデータをLocalの○○フォルダへコピーするバッチファイルを作成したいと考えています。 コピーだけのバッチファイルは作成できました。 特定の時間になると、このバッチファイルを起動させるバッチファイルを作成したかったので、色々調べていてatコマンドを利用する方法と、 システムツールのタスクを利用する方法を見つけました。 タスクの方だと上手く実行できるのですが、atコマンドのほうが上手くいきません。 記述したコードは以下になります。 at 15:30 C:\Copy.bat タスクには追加されるのですが、実行時間になり、実行中となっても完了しません。 ○○サーバがアクセス権が必要なサーバです。 やはりアクセス権の関係で失敗してるのでしょうか? (でもそれなら、コピーだけのバッチファイルも実行できない気がしますが・・・) タスク処理で設定した方は、設定項目にユーザIDとパスワードを 入力する項目があったので設定してました。 at関数の方も実行するユーザーIDとパスワードを設定すればいいのでしょうか?その場合やり方も教えてください。 よろしくお願いします。

  • 会話式のバッチファイルまたはEXEを作りたい。

    mysqlで、複数のファイルをコピーするにあたって、copyコマンドをバッチファイルに書いて作ると、コピー元とコピー先を指定しなければならず、できれば、バッチファイルを実行する人が自由に、コピー元とコピー先を指定できるようにしたいのですが、会話式なものを作るにはどうしたらよいか、また、EXEにするにはどうしたらよいか教えていただけますか?

    • ベストアンサー
    • MySQL