• 締切済み

SQL Server2005 スクリプトのソース抽出の仕方

SQL Server2005があります。 ストアドプロシージャを1ストアド1ファイルで抽出したいです。 SQL Server Management Studioというツールでストアドのところで右クリックすると、 「名前を付けてストアドプロシージャをスクリプト化」というのはありますが、 やりたいのは、名前を付けずに、『ストアドプロシージャ名.sql』の形で1ストアド1ファイルで一括抽出です。 そういう事はできないのでしょうか?

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.4

なるほど。わかりました。 このオプションが増えたのは、SP2からのようです(リンクの「スクリプティング」参照)。 http://download.microsoft.com/download/6/5/4/6545e93e-12cd-4b2a-bd4f-e63d3203bc48/WhatsNewSQL2005SP2.htm#BKMK_ManagementStudio SSMSにSP2を当てましょう(今お使いのやつはRTM(!)です)。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.3

なるほど。SQL Server Management Studio Express(SSMSE)をお使いですかね。 (普通のSSMSには「オブジェクトごとのファイル」を選択する欄があるんですよ) 気づきませんでしたが、そんなところに制限付けているわけですね。。 そうすると選択肢は2つですね。 ・あきらめる ・SQL Server 2008用のSSMSEを落としてきてインストールする  (2008用だと手元にありますが「オブジェクトごとのファイル」が選べます。2008用で2005のDBを管理するのは問題なくできます) 強いて言うと、以下もありかもです。 ・SQL Server 2005or2008の評価版を落としてきて、SSMSだけインストールする  (たしかクライアントツールは期限切れはなかったはずで。。でもちょっと自信なし)

dellxp2009
質問者

補足

>SQL Server Management Studio Express(SSMSE)をお使いですかね。 SSMSEではないと思います。 バージョンは以下です。 Microsoft SQL Server Management Studio 9.00.1399.00 Microsoft Analysis Services クライアント ツール 2005.090.1399.00 Microsoft Data Access Components (MDAC) 2000.085.1132.00 (xpsp.080413-0852) Microsoft MSXML 2.6 3.0 4.0 5.0 6.0 Microsoft Internet Explorer 8.0.6001.18702 Microsoft .NET Framework 2.0.50727.3082 オペレーティング システム 5.1.2600 とりあえず、2008用のないか探してみます。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

#1です。 生成するファイルを「オブジェクトごとのファイル」に変更してから「参照」ボタンを押すと、パス指定になりますよ。

dellxp2009
質問者

補足

うーん、、、どこでやれば良いのか分かりません(><) 画面はこんな感じです。ツールのバージョンが違うのかな? スクリプト作成ウィザード  出力オプション  スクリプトモード------------------------------------------   ○スクリプトをファイルに保存    ファイル名 [C:\Documents and Settings\...]【参照】    名前を付けて保存  ○Unicode テキスト                 ○ANSI テキスト   ○スクリプトをクリップボードに保存   ○スクリプトを新しいクエリウィンドウに保存 【ヘルプ】【<戻る】【次へ>】【完了>>|】【キャンセル】

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

データベースのタスク→スクリプト生成から、そういう出力の仕方は可能です。 ただし、名前はスキーマ名.ストアド名.StoredProcedure.sqlになりますけどね。

dellxp2009
質問者

お礼

やっぱり、できそうに無いのですが。。。 タスク →スクリプト生成 →スクリプトオプションの選択 ・・・ →スクリプトをファイルに保存 で、ファイル名をフォルダ名指定にするとか、 一部*でワイルドカード指定とかできなくて、 単一のファイル名しか指定できません。

dellxp2009
質問者

補足

ありがとうございます。 ちょっと見てみましたが、全部を1つの.sqlに出力する方法は簡単に分かるのですが、どのタイミングで1ストアド1ファイルで一括抽出するのかは難しいですね。 もう少し見てみます。