などのツールを使用して実稼働に導入することができます。価格は全くかかりませんが、いつでもシステムカタログビューを調べることができます。そこから情報を抽出して、新しいデータベースで実行できるスクリプトを作成します。
例えば、デフォルトの制約は、このクエリは、あなたのデータベース内のすべてのデフォルトの制約のリストを示しています
SELECT
dc.name 'Constraint Name',
OBJECT_NAME(parent_object_id) 'Table Name',
c.name 'Column Name',
definition
FROM
sys.default_constraints dc
INNER JOIN
sys.columns c ON dc.parent_object_id = c.object_id
AND dc.parent_column_id = c.column_id
ORDER BY
OBJECT_NAME(parent_object_id), c.name
とそれに基づいて、あなたは当然のことながら、これらのデフォルトの制約を再作成するためにT-SQL文を発するだろうクエリを作成することができますターゲットサーバ上:
SELECT
'ALTER TABLE ' + OBJECT_SCHEMA_NAME(dc.parent_object_id) + '.' + OBJECT_NAME(dc.parent_object_id) +
' ADD CONSTRAINT ' + dc.name + ' DEFAULT(' + definition
+ ') FOR ' + c.name
FROM
sys.default_constraints dc
INNER JOIN
sys.columns c ON dc.parent_object_id = c.object_id
AND dc.parent_column_id = c.column_id
あなたがこの(AdventureWorks
サンプルDB用)のようなものを取得したい:もちろん
ALTER TABLE dbo.Store ADD CONSTRAINT DF_Store_rowguid DEFAULT((newid())) FOR rowguid
ALTER TABLE dbo.Store ADD CONSTRAINT DF_Store_ModifiedDate DEFAULT((getdate())) FOR ModifiedDate
ALTER TABLE dbo.ProductPhoto ADD CONSTRAINT DF_ProductPhoto_ModifiedDate DEFAULT((getdate())) FOR ModifiedDate
ALTER TABLE dbo.ProductProductPhoto ADD CONSTRAINT DF_ProductProductPhoto_Primary DEFAULT(((0))) FOR Primary
ALTER TABLE dbo.ProductProductPhoto ADD CONSTRAINT DF_ProductProductPhoto_ModifiedDate DEFAULT((getdate())) FOR ModifiedDate
ALTER TABLE dbo.StoreContact ADD CONSTRAINT DF_StoreContact_rowguid DEFAULT((newid())) FOR rowguid
ALTER TABLE dbo.StoreContact ADD CONSTRAINT DF_StoreContact_ModifiedDate DEFAULT((getdate())) FOR ModifiedDate
ALTER TABLE dbo.Address ADD CONSTRAINT DF_Address_rowguid DEFAULT((newid())) FOR rowguid
を、あなたは、T可能性結果として生じるT-SQLがあなたの好きなところに出力されるのは弱いですが、基本的には&をコピーして新しいデータベースに貼り付けてください。
もちろん、外部キーリレーションシップ(sys.foreign_keys)、チェック制約(sys.check_constraints)、インデックス(sys.indexesおよびsys.index_columns)などにも同様のシステムカタログビューがあります。
これはちょっとした作業ですが、自分の時間に行うことができます。その過程でSQL Serverについて多くのことを学ぶことができます。
だから、
:-)すべてやり直す良いと無料マイクロソフトのツールマーク
私は10年間DbGhostを使用しましたが、それは私を失望させませんでした。 – penderi
私が長年使ってきたもう一つの選択肢はAdeptSQL Diffです。無料ではありませんが、スキーマとデータの比較は非常に高速で、アプリケーション内から更新スクリプトを生成して実行することができます。しかし、バージョン管理下でのスクリプトの取得も重要です。 – DarinH