問題タブ [sqlproj]
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.
sql-server - SQLPackage - 2 つの dacpac を比較すると、リンク サーバーに関連するオブジェクトが常に含まれる
最初に、私の壊れた英語で申し訳ありません。
2 つの異なる SQL インスタンスに 2 つの異なるデータベースがあり、両方のインスタンスがリンク サーバーによって相互に参照されています。この参照をデータベース ソリューションに追加し、変数を使用してリンクを呼び出します。これは正常に機能し、正常に構築されています。
sqlpackage を使用してデータベースの展開を自動化するときに問題があります。内部リリースごとに DACPAC ファイルが生成されます。次のスプリントで展開が必要になると、SQLPackage.exe を使用して比較が行われます。これにより、最後のスプリントで生成された新しいオブジェクトを含むスクリプトが生成され、1 つのことを除いて正常に動作しています。
最新の .DACPAC と前回のリリースでビルドされた .DACPAC を比較すると、リンク サーバーを参照するすべてのオブジェクトが結果のスクリプト ファイルに表示されます。これ自体は大きな問題ではありませんが、クライアントに配信するときに、変更する必要のないオブジェクトがあります。
リンクされたサーバー変数のインクルードを指定するオプションはありますか? どのオブジェクトを含めるかを選択する方法はありますか (このオブジェクトが変更され、パッケージに含める必要があるシナリオが存在する可能性があるため、これを恐れています)。
編集: このオブジェクトは、sqlpackage を使用する場合にのみ表示されます。Visual Studio 2012 のスキーマ比較には表示されません。
これは私が現在使用しているパラメータです:
database - SSDT .sqlproj プロジェクトによる複数ドメインのセキュリティ?
データベースをより適切にソース管理下に置くために、Sql Server Data Tools sqlproj プロジェクトを実装しようとする小さなパイロット プロジェクトを行っています。私の組織では、さまざまな目的のテスト環境用に個別の非信頼ドメインがあるため、これらのドメインにはもちろん、独自の分離された Active Directory アカウントがあります。
ドキュメントはまだややまばらで、特に Visual Studio のデータベース アセットの歴史における途方もない量のチャーンを考えると、このツールセットの詳細についてはどこに行けばよいかわかりません。
これまでのところ、私が実際に思いついた唯一のアイデアは、セキュリティ オブジェクト専用の個別の sqlproj プロジェクトを、他のスキーマ オブジェクトとは別のドメインごとに個別に作成することです。私の希望は、どうにかして実際のデータベース スキーマをデプロイ時のスキーマに結びつけ、ビルドで使用しているセキュリティ プロジェクトを何らかの方法で切り替えることです。それが実現可能かどうかはわかりませんが。
Visual Studio sqlproj プロジェクトを使用している人は、これに対処しなければなりませんでしたか? この種のベストプラクティスはありますか?
deployment - Sqlproj: コマンド ラインでデータベースをデプロイするソリューションはどれですか?
現在、Microsoft Web 配置テクノロジ (msbuild および msdeploy コマンド) を使用して Web サイトをサーバーに配置しています。Web サイトにはデータベースの配置が必要であり、両方が同じサーバーに配置されます。(コマンド ラインを使用して) データベース プロジェクトを展開するための最適なソリューションを探しています。データベース展開に関するすべてのテクノロジをよりよく理解したいと考えています。
ソリューションの内容(Visual Studio 2013):
- データベース プロジェクト (SQL Server 2008 用)、
- クラス ライブラリ (NHibernate を使用したデータ アクセス層)
- Web プロジェクト (ASP.NET MVC4)。
注: VS で継続的インテグレーション/配信ツールまたはパブリッシュ メソッドを自発的に使用しているわけではありません。このプロジェクトでの私の最初の目標は、msbuild / msdeploy がどのように機能するかを理解することでした...
必要なすべての手順を実行しているように見えるvsdbcmdコマンドを見ました...ただし、Visual Studio DLL/ファイルをリモートサーバーにインポートする必要があり、より良い方法がないかどうか疑問に思います...私も見ましたmsdeploy プロバイダーdbSqlPackage /dbDacFx で、しかし私が理解したことから、スキーマの変更を適用するために dacpac を使用しています。同様に、SqlPackage.exe も dacpac を使用しているようです。
dacpac を使用するのは良い考えに思えますが、次の質問で混乱しています。
- これは、データベースを初めて作成するときに別のプロセスが必要になるということですか? はいの場合、どのコマンドが最適ですか?
- sqlproj ファイルから dacpac を作成することはできますか? はいの場合、それを行う方法は?
コマンド ラインから、また経験やプロジェクトからデプロイする他の方法はありますか?この種のプロジェクトをデプロイする最良の方法は何でしたか?
どうもありがとう、
visual-studio - SQL プロジェクトに props ファイルからバージョンをロードさせる方法は?
Visual Studio でいくつかの SQL プロジェクトを作成しました。dacpac のバージョンを一元的に管理したいと考えています。この投稿の回答を使用して小道具ファイルを再利用したいということを満たすために:
SQL プロジェクトで、次のインポート文を追加します。
Visual Studio でプロジェクトのプロパティを確認すると、次のようになりました。
プロジェクトをビルドして dacpac ファイルを解凍し、DacMetadata.xml を確認して、次の結果を得ました。
SQL プロジェクト用の MSBuild をビルドし、dacpac ファイルをアンパックすると、DacMetadata.xml を確認したところ、次のようになりました。
バージョンと説明の変更を Visual Studio から確認するにはどうすればよいですか?
sql-server - Visual Studio .sqlproj は常にビルドされます
Visual Studio ソリューションにSQL Server データベース プロジェクト ( .sqlproj
) がある場合、プロジェクト ファイルに変更がなくても、ソリューションをビルドするたびに特定のプロジェクトが常にビルドされることに気付きました。
これは、変更されるファイルがある場合にのみビルドされる通常のC#
プロジェクト ( )と矛盾します。.csproj
出力の冗長性を上げてみましたが、msbuild
特別な理由なしに常にそのプロジェクトをビルドしているようです。
.sqlproj
が常に構築される理由はありますか? ファイルが変更されたときだけビルドする方法はありますか?