SQL Server 2014を使用する:名前のない既定の制約が非常に多い大規模な運用データベースを扱っています。名前のない既定の制約のすべてを正しく名前を変更する方法
名前が付けられていないデフォルトの制約は、データベーススキーマの移植スクリプトに移入するすべての "DEV"環境または "QA"環境でランダムな名前を取得するため、多くの問題を引き起こします。ランダムなデフォルトの制約名により、SSDTスキーマの比較/更新スクリプトが失敗します。
本番データベースのデフォルトの列制約に適切な名前を付ける必要があります。そのため、データベーススキーマをスクリプト化するときにランダムな名前を取得しません。
私は無名のデフォルトの制約のリストを取得するには次のクエリを使用します。
select
t.name, c.name, d.name, definition
from
sys.tables t
join
sys.default_constraints d on d.parent_object_id = t.object_id
join
sys.columns c on c.object_id = t.object_id
and c.column_id = d.parent_column_id
それらの100Sがあります:(
は、名前のデフォルトのすべての名前を変更するには任意の「安全な」方法はあります「無名」とはみなさず、あらゆる環境でランダムな名前を持たないような適切な名前への制約?
私は上記のクエリを展開してsp_rename
のステートメントを生成することを考えていました。私はwante最も安全な方法を見つけるためにd。
この問題を解決する最も信頼性が高く安全な方法は何ですか?
これらの名前変更ステートメントを生成してください。 – Hogan