- 締切済み
SQL Server2005 スクリプトのソース抽出の仕方
SQL Server2005があります。 ストアドプロシージャを1ストアド1ファイルで抽出したいです。 SQL Server Management Studioというツールでストアドのところで右クリックすると、 「名前を付けてストアドプロシージャをスクリプト化」というのはありますが、 やりたいのは、名前を付けずに、『ストアドプロシージャ名.sql』の形で1ストアド1ファイルで一括抽出です。 そういう事はできないのでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- jamshid6
- ベストアンサー率88% (591/669)
なるほど。わかりました。 このオプションが増えたのは、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)
なるほど。SQL Server Management Studio Express(SSMSE)をお使いですかね。 (普通のSSMSには「オブジェクトごとのファイル」を選択する欄があるんですよ) 気づきませんでしたが、そんなところに制限付けているわけですね。。 そうすると選択肢は2つですね。 ・あきらめる ・SQL Server 2008用のSSMSEを落としてきてインストールする (2008用だと手元にありますが「オブジェクトごとのファイル」が選べます。2008用で2005のDBを管理するのは問題なくできます) 強いて言うと、以下もありかもです。 ・SQL Server 2005or2008の評価版を落としてきて、SSMSだけインストールする (たしかクライアントツールは期限切れはなかったはずで。。でもちょっと自信なし)
- jamshid6
- ベストアンサー率88% (591/669)
#1です。 生成するファイルを「オブジェクトごとのファイル」に変更してから「参照」ボタンを押すと、パス指定になりますよ。
補足
うーん、、、どこでやれば良いのか分かりません(><) 画面はこんな感じです。ツールのバージョンが違うのかな? スクリプト作成ウィザード 出力オプション スクリプトモード------------------------------------------ ○スクリプトをファイルに保存 ファイル名 [C:\Documents and Settings\...]【参照】 名前を付けて保存 ○Unicode テキスト ○ANSI テキスト ○スクリプトをクリップボードに保存 ○スクリプトを新しいクエリウィンドウに保存 【ヘルプ】【<戻る】【次へ>】【完了>>|】【キャンセル】
- jamshid6
- ベストアンサー率88% (591/669)
データベースのタスク→スクリプト生成から、そういう出力の仕方は可能です。 ただし、名前はスキーマ名.ストアド名.StoredProcedure.sqlになりますけどね。
お礼
やっぱり、できそうに無いのですが。。。 タスク →スクリプト生成 →スクリプトオプションの選択 ・・・ →スクリプトをファイルに保存 で、ファイル名をフォルダ名指定にするとか、 一部*でワイルドカード指定とかできなくて、 単一のファイル名しか指定できません。
補足
ありがとうございます。 ちょっと見てみましたが、全部を1つの.sqlに出力する方法は簡単に分かるのですが、どのタイミングで1ストアド1ファイルで一括抽出するのかは難しいですね。 もう少し見てみます。
補足
>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用のないか探してみます。