ms SQLでDBオブジェクトのスクリプトを作成する無料ユーティリティ
-
08-07-2019 - |
質問
データベースのソース管理を実装しようとしています。
必要なツールは、データベース内のオブジェクトごとに個別のファイルを作成する必要があります。
ストアドプロシージャ 関数 景色 テーブル
また、いくつかの構成テーブルのデータ変更を追跡するために、特定のクエリの結果もダンプできるのは素晴らしいことです...
この種のものを処理できるツールが既にあるのだろうか...
-
いくつかのことをクリアするだけ...
すでにsql deltaを使用して更新スクリプトを処理しています...
subversionで使用するためにDBのスクリプトを持ちたいので、更新スクリプトを調べる必要なく、各コミットでどのオブジェクトが変更されたかを追跡できます...
SQL分散管理オブジェクト(SQL-DMO)を使用して素敵なvbスクリプトを開発しています。その方法を説明します...
独自のソリューションを持つことの良い点は、クエリまたはストアドプロシージャの実行の出力を含めて、特定のテーブル、サーバー構成、データベースの成長などの変化をトレースできることです。テキストファイル...
正しい解決策はありません
他のヒント
まさにこの目的のために ScriptDB を使用しています。変更しなければならなかったのは、生成されたファイルのスクリプトの日付を削除することだけでした。それ以外の場合、ファイルは常にSubversionで変更済みとしてマークされます。
これは私が使用するバッチです。 svnclientはcodeplex svncompletesync.codeplex.com のツールで、フォルダーからすべてのファイルをSubversionにチェックインします。 :
svn checkout" http:// svn / myproject" D:\ Projekte \ db_svn \ myproject
ScriptDB" D:\ temp \ scriptdb" myserver mydb mylogin mypwd
del" D:\ Projekte \ db_svn \ myproject \ Schema Objects \\ *。sql" / q / s
xcopy" D:\ temp \ scriptdb \ myserver \ mydb \ Schema Objects \\ *。sql" " D:\ Projekte \ db_svn \ myproject \ Schema Objects" / e / y / i
svnclient" D:\ Projekte \ db_svn \ myproject" -m" commit durch svncompletesync"
あなたが正しく理解している場合、2つのことが必要です:最初にデータベースメタデータ(テーブル、ビュー、ストアドプロシージャなど)からスクリプトを生成する必要があり、これが完了したら、何らかの一貫した方法論を使用する必要がありますスクリプトのバージョン管理用。
既にデータベースにメタデータとデータがある場合、 SQL Management Studio (またはSQL Enterprise Manager)を使用してスクリプトを生成データベースオブジェクトから:方法:スクリプトを生成する(SQL Server Management Studio )。これは、SQL Server 2000、2005などで機能するはずです。スクリプト生成設定をカスタマイズできることに注意してください。 1つの巨大なスクリプトの代わりに、オブジェクトごとに個別のスクリプトを使用できます。テーブルにデータを入力するために、いくつかのスクリプトを書く必要があるかもしれません(ウィザードがデータ抽出をサポートしているかどうかはわかりません)。
スクリプトを取得したら、特定のフォルダ間でスクリプトを手動で配布する必要があります。これが完了したら、ソース管理でそれらをチェックする準備ができているはずです。この時点から、後続のデータベースのインストール、アップグレード、および修復の方法を把握する必要があります。これはかなり複雑なタスクであり、単純な答えよりも時間がかかることをカバーしています。可能なオプションに興味がある場合は、データベースインストーラーの改訂いくつかのアプローチに言及し、データベースのバージョン管理に対処するいくつかの記事を参照する投稿(自己宣伝については申し訳ありませんが、同じ情報を繰り返したくありません)。
このフィールドのほとんどのツールは無料ではありませんが、オープンソースプロジェクト ScriptDB があります。スクリプトを生成するニーズを満たすことができます。
これは、適切な順序でデータベースにスクリプトを適用する方法の問題を解決しません-支払いたくない場合は、自分で即興演奏する必要があります。
Wizardby を試すことができますが、これはまさにあなたが求めているものではありません、それでもデータベース変更管理の処理に役立ちますデータベーススキーマ(そのサブセット)をリバースエンジニアリングし、いわゆる「移行」を記述できます。プラットフォームに依存しない特別なDSL:
version 20090331140131:
oxite_FileResource:
FileResourceID type => PK, primary-key => true
SiteID type => Guid, nullable => false
FileResourceName type => LongName
CreatorUserID references => oxite_User
Data type => Binary
ContentType type => AnsiString, length => 25, nullable => false
Path type => String, length => 1000, nullable => false
State type => Byte, nullable => false
CreatedDate type => DateTime, nullable => false
ModifiedDate type => DateTime, nullable => false
oxite_UserFileResourceRelationship:
UserID references => oxite_User
FileResourceID references => oxite_FileResource:
add index unique => true
index "" columns => [UserID, FileResourceID], unique => true, clustered => true