none
SQL SERVER 2008 スクリプト 出力ツール RRS feed

  • 質問

  • こんにちは。

    技術の問題ではないですが、SQL Server 2000とSQL Server 2005には
    Microsoft SQL Server Database Publishing Wizard 1.1
    というツールがありますが、

    SQL Server 2008では、スクリプトを出力するためのツールはありませんか。
    教えてください。
    よろしくお願いいたします。

    テーブル、プロシージャ、規約など一括で出力したいです。(レコード抜き)

    2008年9月25日 9:52

回答

  •  yangjiayi さんからの引用

    テーブル、プロシージャが多いので、1個ずつ出力するなら、大変です。

     

    一個一個やる必要はなくて、オブジェクトエクスプローラから当該のデータベースを右クリックして「タスク」を選び、そこで「スクリプトの生成」を選べば、あとはウィザードに従ってできます。

    2008年9月26日 7:50

すべての返信

  • 探してみましたが無さそうです。とりあえず、SQL Server Mangement Studioで同様のことができますので、そちらを使うしかないんじゃないかと思います。

    2008年9月26日 4:25
  •  trapemiya さんからの引用

    探してみましたが無さそうです。とりあえず、SQL Server Mangement Studioで同様のことができますので、そちらを使うしかないんじゃないかと思います。

    どうもこんにちは。

    自分も探してみました。

     

    なんか、

    Toad.for.SQL.Server

    というソフトできそうですね。2008に対応しているかまだわかりません。

     

    テーブル、プロシージャが多いので、1個ずつ出力するなら、大変です。

     

    以下のことは可能か:

    SQLSERVER2008でバックアップファイルを取って、SQLSERVER2005で展開する。それで、Microsoft SQL Server Database Publishing Wizard 1.1 で出力する。

     

    可能でしょうか。影響はありませんか。

    2008年9月26日 5:19
  • > 以下のことは可能か:

    > SQLSERVER2008でバックアップファイルを取って、SQLSERVER2005で展開する。それで、Microsoft SQL Server

    > Database Publishing Wizard 1.1 で出力する。

     

    SQL Server 2008で取得したバックアップをSQL Server 2005にリストアすることはできません。

    (逆にSQL Server 2005で取得したバックアップをSQL Server 2008にリストアすることは可能です)

     

    ただしバックアップとして戻すのではなく、テーブルやプロシージャをインポート/エクスポートする形でなら

    実現可能ですので、SSISや他の方法を使えばできると思います。

     

    # SSMSのデータのインポート/エクスポートって、本当にデータしかコピーしてくれないんですね。

    # VIEWもテーブルとしてコピーされたのにはちょっと…

     

    2008年9月26日 5:38
  • どうもこんにちは。

    今試してみました。

     

    2008のバックアップファイルで2005のほうで復元できないことを確認しました。

     

    テーブル、プロシージャ、トリガー、制約、Index、ユーザーロールなどのをスクリプト化でEXPORTしたいです。

    SSISのほうは、今すぐ確認してみます。

    2008年9月26日 6:16
  •  CatTail さんからの引用

    > 以下のことは可能か:

    > SQLSERVER2008でバックアップファイルを取って、SQLSERVER2005で展開する。それで、Microsoft SQL Server

    > Database Publishing Wizard 1.1 で出力する。

     

    SQL Server 2008で取得したバックアップをSQL Server 2005にリストアすることはできません。

    (逆にSQL Server 2005で取得したバックアップをSQL Server 2008にリストアすることは可能です)

     

    ただしバックアップとして戻すのではなく、テーブルやプロシージャをインポート/エクスポートする形でなら

    実現可能ですので、SSISや他の方法を使えばできると思います。

     

    # SSMSのデータのインポート/エクスポートって、本当にデータしかコピーしてくれないんですね。

    # VIEWもテーブルとしてコピーされたのにはちょっと…

     

     

    SSISのどのジョブでやるのでしょうか。

    【SQL Server オブジェクトの転送タスク】っぽいですが、転送先はデータベースになっていて、スクリプトファイルではありません。

     

    何かヒントあるんですか。

    待っています。
    2008年9月26日 6:25
  •  yangjiayi さんからの引用

    テーブル、プロシージャが多いので、1個ずつ出力するなら、大変です。

     

    一個一個やる必要はなくて、オブジェクトエクスプローラから当該のデータベースを右クリックして「タスク」を選び、そこで「スクリプトの生成」を選べば、あとはウィザードに従ってできます。

    2008年9月26日 7:50
  •  trapemiya さんからの引用

     yangjiayi さんからの引用

    テーブル、プロシージャが多いので、1個ずつ出力するなら、大変です。

     

    一個一個やる必要はなくて、オブジェクトエクスプローラから当該のデータベースを右クリックして「タスク」を選び、そこで「スクリプトの生成」を選べば、あとはウィザードに従ってできます。

    どうもこんにちは。

    2008のほうが、データベース名の右クリックでいけます!!

     

    右クリックして、タスクのほうですね!

     

    右クリックして、データベースをスクリプト化ではないですね!

     

    いい勉強になりました。ありがとうございました。

    2008年9月26日 8:56
  •  trapemiya さんからの引用

     yangjiayi さんからの引用

    テーブル、プロシージャが多いので、1個ずつ出力するなら、大変です。

     

    一個一個やる必要はなくて、オブジェクトエクスプローラから当該のデータベースを右クリックして「タスク」を選び、そこで「スクリプトの生成」を選べば、あとはウィザードに従ってできます。

    さらにお聞きしたいですが、一括で出力してみたら、CREATE TABLEとか、スクリプトの中に足りないですね。

     

    たとえば、300個のテーブル、それぞれのトリガー、データ、そして、各オブジェクト、プロシージャを一括出力して、作成されなかったオブジェクトはありました。

    つまり、丸々OUPUTされていなかったです。

     

    なぜこんな現象になるでしょうか。もしかして、FULLで出すのが多すぎるでしょうか。かなり不明です。

    2008年10月5日 15:33