問題タブ [schema-compare]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1603 参照

c# - Visual Studio スキーマ比較の問題

Visual Studio で、データベース プロジェクトのフィールド名を変更しました。

スキーマの比較を行った後、このテーブルの変更は認識されません。
スキーマ比較のオプションで、フィールド レジスタに関する設定が見つかりません (私の英語力が弱いためかもしれません)。
そのスキーマを比較して、私の場合のようにフィールド名の変更を確認するにはどうすればよいですか? 何かアドバイスはありますか?

0 投票する
1 に答える
125 参照

database - デプロイ後のスクリプトでドロップされた列の値を使用する最良の方法は何ですか?

現在、自動ビルド中にデータベース プロジェクトを使用して、テスト データベースと開発データベースがソース コードと同期していることを確認しています。

パブリッシュ プロファイル中に、現在使用しているワークフローでは完全にカバーされていない問題に気付き、これを管理する最善の方法に関心があります。

問題:

データベース スキーマを作り直し、テーブル ( ) の列 ( name) をuser新しいテーブル ( userdetail) に移動する必要があると判断しました。新しいテーブルには、 table の列userdetailの既存のコンテンツが必要ですが、テーブル user からも列を削除したいと考えています。データベース プロジェクトが最新であることを確認します。nameusername

問題は、userdetail展開前にテーブルにデータを入力しようとすると、userdetailテーブルが存在しないことです。でテーブルを作成できますpre-deployが、デプロイ中に db プロジェクトが再度テーブルを作成しようとして失敗します。userdetailデプロイ後にデータを入力しようとすると、name列が削除されており、これを使用してデータを入力することはできませんuserdetail

現在、私が見ることができる2つの可能な解決策があります。

考えられる解決策 1

nameテーブルに列を残しuserます。これは、実行のポピュuserdetailsレーションに問題がないことを意味しますが、デプロイ後に列を手動で削除する必要があり、エラーが発生しやすくなります。

考えられる解決策 2

一時テーブルを作成してデプロイ前の情報を取得し、userデプロイ後のスクリプトで使用するために保存します。デプロイ後の一時テーブルを削除します。

現時点ではオプション 2 が最適に思えますが、この方法でデータを手動で保存して後で使用する必要があるのは面倒です。この不測の事態に対応するための推奨される方法はありますか?

0 投票する
2 に答える
997 参照

visual-studio-2013 - VisualStudioスキーマ比較でSQLCMD変数を設定する方法はありますか

vs2013 データ ツールを使用しており、データベース プロジェクトとデータベースを異なる環境で比較しようとしています。

しかし、私の tsql コードは同義語を使用して異なるデータベースにアクセスします

各 SQLCMD 変数を正しい環境設定に設定できるため、パブリッシュ ファイルを使用してこれを設定できます。スクリプトが生成されると、正しい db/server/whatever が挿入されます。

例えば

ただし、(.scmp を使用して) データベース比較を行っている場合、CMDvars を設定するオプションがないため、テスト環境との比較を正常に行うことができません。同義語は、開発環境を指すプロジェクト プロパティによって設定されるためです。

とにかくSCMPファイルにCMDVarsを設定する方法はありますか

0 投票する
1 に答える
1753 参照

azure - スキーマ比較タイムアウト

Visual Studio 2013 でデータベース プロジェクトAzure SQL Databaseの間でスキーマ比較を行うと、次のタイムアウト エラーが発生し続けます。

エラー 1 Microsoft.Data.Schema.Sql.SchemaModel.ISqlUser 型の要素をリバース エンジニアリングしようとしているときに、SQL Server からエラーを受け取りました: タイムアウトの期限が切れました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。

エラー 2 ExecuteReader には、オープンで使用可能な接続が必要です。接続の現在の状態は閉じています。

Azure でホストされている Windows Server 2012 R2 仮想マシンでこれを行っています。

  • ファイアウォールで許可されている 1433 ポート
  • VM の IP が SQL (Azure) データベース サーバーで許可されている

Visual Studio の SQL Server オブジェクト エクスプローラーを使用してデータベースに問題なくクエリを実行できるため、接続とアカウント ログインを確認できます。

これらの問題を引き起こす可能性のある他のセキュリティ設定はありますか?

0 投票する
1 に答える
694 参照

visual-studio - SSDT スキーマ比較 - システム サービス ブローカーを無視する (VS 2013)

ソリューションにデータベース プロジェクトがあり、SSMS の [データ層アプリのインポート...] オプションを介して Windows azure からデータベースをインポートしました。スキーマ比較を使用すると、比較により、システムの「サービス ブローカー」(メッセージ タイプ、キューなど) が削除セクションに表示されます。更新を適用すると、すべてが機能しますが、これらのシステム サービス ブローカーは削除されず、何度も表示されます。

削除する不要なアイテム

それらを削除することはできないと思いますが、スキーマの比較でそれらを無視する可能性はありますか?

0 投票する
1 に答える
715 参照

visual-studio-2013 - プロジェクトとスナップショットのスキーマ比較

Visual Studio 2013 と SSDT を使用して、データベース プロジェクトを開発しています。ソリューション内の一部のプロジェクトは、他のプロジェクトに依存しています。スキーマ比較ツールを使用してデプロイ/更新スクリプトを作成します。現在のプロジェクトの状態と最新のプロジェクト スナップショットの違いを見つけました。その後、新しいスナップショットを作成します。

今、私は別のコンピューターを使用する必要があります。プロジェクトとスナップショットを比較しようとすると、「「SOMEPROJECT.dacpac」という名前のソースからの外部要素への参照を解決できませんでした。そのようなソースがロードされていないためです。問題はフォルダ名にあると思います-以前のソリューションは「d:\projects\ソリューション名\」でしたが、現在は「c:\ソリューション名\」にあります。新しいコンピュータでディスク D: を使用できません。

これを修正する方法はありますか?

0 投票する
1 に答える
1670 参照

visual-studio-2012 - SQL Server データ ツールがスキーマ比較でリファクタリングを無視する

私はここで説明されているものと一見同じ問題を抱えています: SSDT Refactor Rename is ignore by the Schema Comparison script generation . 基本的に、SQL Server Data Tools のリファクタリング コンポーネントは、スキーマの比較/更新に取り組んでいません。たとえば、テーブルの名前を変更する代わりに、古い名前のテーブルが削除され、新しい名前のテーブルが作成されます。残念ながら、その質問に対する受け入れられた回答はありません。同様の質問を見つけました。これは、MSDN で同じ人から尋ねられたようです。参照: Refactor Rename は Schema Comparison スクリプト生成によって無視されます。繰り返しますが、受け入れられる回答が提案されたようには見えません。この機能を機能させる方法を本当に理解したいと思います。誰にもアイデアはありますか?