トップ回答者
nagino - 引退エンジニア | |
参加: Nov 2008 | |
1 2 14 |
作成したストアドプロシージャの内容を定期的にエクスポート(バックアップ)したい
質問
-
データベースの中に 50 個ほどのストアドプロシージャを作成しました。
[タスク] - [スクリプトの生成] を選択することで 50 個すべてのストアドプロシージャの内容を一つのファイル(拡張子 sql) に出力することができますが、これを手動ではなく定期的に実施させたいと考えています。
そのような方法がございましたら、ご教示いただけないでしょうか。
回答
-
ちょっと出先で手元に環境が無く確認できないのですが、以下の様なクエリで定義をまとめて取得できませんでしょうか?
SELECT
sysobjects.name,
sys.sql_modules.definition
FROM sys.sql_modules
LEFT JOIN sysobjects
ON sysobjects.id = sys.sql_modules.object_id
WHERE sysobjects.type ='P'
ORDER BY sysobjects.name
;クエリの実行結果をテキストファイルに出力する方法は色々ありますので、そこはお好みでよろしいかと思います。
参考
https://technet.microsoft.com/ja-jp/library/ms175081(v=sql.120).aspx
MCITP(Database Developer/Database Administrator)
- 編集済み nagino - 引退エンジニア 2015年10月9日 13:46
- 回答としてマーク yumi08 2015年10月9日 14:43
- 回答としてマークされていない yumi08 2015年10月9日 14:44
- 回答としてマーク yumi08 2015年10月9日 14:46
すべての返信
-
ちょっと出先で手元に環境が無く確認できないのですが、以下の様なクエリで定義をまとめて取得できませんでしょうか?
SELECT
sysobjects.name,
sys.sql_modules.definition
FROM sys.sql_modules
LEFT JOIN sysobjects
ON sysobjects.id = sys.sql_modules.object_id
WHERE sysobjects.type ='P'
ORDER BY sysobjects.name
;クエリの実行結果をテキストファイルに出力する方法は色々ありますので、そこはお好みでよろしいかと思います。
参考
https://technet.microsoft.com/ja-jp/library/ms175081(v=sql.120).aspx
MCITP(Database Developer/Database Administrator)
- 編集済み nagino - 引退エンジニア 2015年10月9日 13:46
- 回答としてマーク yumi08 2015年10月9日 14:43
- 回答としてマークされていない yumi08 2015年10月9日 14:44
- 回答としてマーク yumi08 2015年10月9日 14:46
-
nagino さん、ご回答ありがとうございます!
ご教示いただいた内容で期待した結果が得られることを確認いたしました。
今日中に確認できて良かったです。ありがとうございました!!