2017-05-19 10 views
0

誰もがすべてのデータベースに存在する一意の識別子について考えてもらえますか?SQL Serverデータベースのユニークな識別子

ローカルにリストアされた数百のデータベースがあり、すべてが同じ空白のテンプレートから開始されています。このリストアされたデータベースのリストは絶えず変化しており、database_guidsys.database_recovery_status)を使用してデータベースの同一性を検証することはできません。

私は、データベース開発の初期段階で使用されたGUIDをハッシュすることでデータベースを識別できますが、これは問題の一部のみを処理しますが、同じデータベースの2つのバージョン?

例:Live to Testが実行されますが、GUIDは同じですが、正しい命名規則に準拠している人に頼らずに、LiveとTestのどちらかを一意に識別する方法が必要です。

+0

「データベースID」の定義は、エンジンが追跡できるものと一致しないため、何かを自分で構築する必要があります。特に、2つのデータベースがまったく同じデータベース(ファイルのチェックサムだけ)であるかどうか、また同じデータベースのインスタンスを[LSN]([https://technet.microsoft.com/library])で時系列的に区別できるかどうかは簡単に言えます/ ms190729)、SQL Serverは「ライブ」と「テスト」の意味を理解することはできません。偶発的に事故を防止する最善の方法は、ファイアウォールを稼動させてテストすることです。汚染は不可能です。 –

+0

ありがとう、解決策は、パラメータを取ったスクリプトから復元し、それをLive、Test、Trainとして検証し、それに基づいてアクションを実行することでした。私はユーザーの行動に頼らざるを得ませんでしたが、やむを得ないことでした。 –

答えて

0

データベース名は、1つのインスタンス内で一意です。
復元計画で使用できるのは唯一のものです。

ベストはテスト/ dev環境から生産を分離することです。
エラーを減らすために復元計画のガイドラインを立てなければなりません。

+0

また、正しく入力してください。ユーザー設定パラメータを使用して復元スクリプトによって管理されるようになりました。 –

0

これに遅れてごめんなさい申し訳ありません。

Jeroenの返信に間違いはありませんでしたが、私はユーザーの代わりに入力を見つけることができませんでした。

関連する問題