問題タブ [dacpac]

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 に答える
1516 参照

visual-studio-2013 - SQL Server データベース プロジェクトの構造

私は Visual Studio 2013 の SSDT-BI を学び始めており、別のアプリケーションが使用する既存のサードパーティ データベースを使用しています (作業の一環として、この既存のデータベースに追加します)。

DACPAC は特定のデータベース オブジェクトのみを更新できますか (「存在しない場合は削除して作成...」)、またはデータベース全体を含める必要がありますか?

私は基本的に、既存のスクリプト (すべて基本的に「オブジェクトが存在する場合、オブジェクトをドロップしてからオブジェクトを作成する」) を置き換え、コンパイル、ソース管理、より優れた展開パッケージなどの SSDT-BI の機能の一部を使用することを検討しています。 . そして、私が扱っている既存のデータベース シナリオでこれが可能かどうか疑問に思っていました。私がこれまでに試したことはすべて、DACPAC がデータベース全体を削除して再作成することにつながりましたが、これは私たちが望んでいるものではありません。

BI ツールを使用してこれを達成する方法についてのヘルプや洞察をいただければ幸いです。

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

c# - WIX を使用してインストーラーを作成する際に、sqlpackage.exe (依存する dll がほとんどない) を実行します。

WIX を使用してデータベースをインストールするときに、dacpac をデプロイする必要があります。目的のために、必要なスイッチを指定して SQLPackage.exe コマンドを実行することを検討したので、次のようにバイナリ タグを使用して必要な exe と dll を埋め込みました。

そして、次のようにカスタム アクションを使用して SqlPackage.exe を呼び出します。

カスタム アクションは、次のように「InstallFinalize」の後に実行するシーケンスです。

dacpac がデプロイされる (つまり、カスタム アクションが実行される) と、組み込みバイナリの 1 つであるアセンブリ 'Microsoft.Data.Tools.Utilities' に対して 'FileNotFoundException' がスローされます。

このexeを実行するために必要な手順や追加事項について教えてください。

0 投票する
0 に答える
101 参照

sql-server - エクスポート前に SQL Server データ層アプリケーションをカスタマイズするにはどうすればよいですか?

データ層アプリケーション (DACPAC) は、zip/DACPAC ファイルに結合された一連の XML ファイルに整理されたデータベースのスキーマであり、これにより、SQL Server を介したより優れた管理とアップグレードが可能になることを理解しています。

アプリケーション データベースから DACPAC を作成したいのですが、データベースには、開発/テストの目的でのみ使用されるテーブルやその他のオブジェクト (ダイアグラムなど) と、ユーザー オブジェクト (マシン固有のもの) が含まれています。Settingsmyやtableなど、アプリケーションを実行するために必要な最小限のデータを含むいくつかのテーブルの問題もありUsersます。

ただし、DACPAC ウィザードでは、プロセスからテーブルやオブジェクトを除外することも、「最小限のデータ」を含めることもできません。アプリケーション インスタンスを展開する手段としては明らかに役に立ちません。

DACPAC からテーブルとオブジェクトを除外する方法と、データ行を含める方法を教えてください。

(FWIW、私は Azure SQL にデプロイしようとしていますが、これは SSIS ではうまく機能しません。これは、私が通常データをデプロイする方法です)

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

sql - SQL Server: 別の SSDT プロジェクトが参照されると、DacPac はすべてを削除します

次の SSDT プロジェクト構造があります。

DBCore プロジェクト: SQL Server エディション専用ではないすべてのオブジェクトが含まれます。

DBStandardEdition プロジェクト: すべての標準版固有のオブジェクトが含まれます。

DBStandardedition プロジェクトは、「同じデータベース」オプションを使用して DBCore プロジェクトを参照します。

Visual Studio を介して DBStandardEdition プロジェクトをデモ サーバーに直接公開すると、すべてが機能します。すべての標準版関連オブジェクトが正しく作成されます。

Visual Studio のスキーマ比較ツールを使用して、デモ サーバー上のデータベースを dacpac ファイルと比較すると、ツールは、DBStandardEdition プロジェクト内で定義したすべてのオブジェクトを削除しようとします。DacServices - クラス (DacServices.Deploy) を使用して dacpac ファイルを公開するプログラムもあります。このプログラムは、DBStandardEdition.dacpac ファイルで定義されているすべてを実際にドロップします。

ここで何か間違ったことをしていますか、それともバグですか?

更新 プロジェクトの設定に問題があることがわかりました。すべてのデータベース プロジェクトの「ビルド出力ファイル名」を同じ値に設定しました。これを変更した後、Visual Studio は 2 つの DacPac - ファイルを DBStandardEdition\Bin\Release フォルダーに生成します。DBCore.dacpac および DBStandardEdition.dacpac。Visual Studio の比較ツールを使用して DBStandardEdition.dacpac をデータベースと比較すると (そして [複合オブジェクトを含める (データベース ターゲットのみ)] オプションを有効にすると)、すべて問題ないように見えます。DBCore プロジェクトに新しく追加されたオブジェクトは「追加」で一覧表示されます。DBStandardEdition プロジェクトのすべてのオブジェクトはまだそこにあります。展開オプション「複合オブジェクトを含める...」をアクティブにすると、すべてが正常に展開されます。

0 投票する
0 に答える
214 参照

sql-server - DacServices.GenerateDriftReport が SQL Server バージョンの競合をスローする

データベース「myDB」を持つMicrosoft SQL Server 2014インスタンスがあります。SSMS で、このデータベースを Datatier アプリケーションとして登録しました。Visual Studio プロジェクトに最新の dacfx と nuget をインストールしました。DacServices.GenerateDriftReport("myDB") をヒットすると、次がスローされます。

DAC データベースとして登録されたデータベースは、SQL 2005 SP4、SQL 2008 SP2、SQL 2008 R2、SQL 2012、または SQL Azure のインスタンスによってホストされている必要があります。

また、メソッド DacServices.Unregister もこのエラーをスローします。

Windows Server Updates を SQL Server マシンにインストールしていますが、これで問題が解決するとは思えません。

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

sql-server-2012 - 環境認識 SQL スクリプト

データベース展開の一部として DACPAC を使用しています。同じパッケージが dev/staging/prod 環境にデプロイされます。私たちができるようにしたいのは、たとえば、各環境で異なるユーザー ID を持つ管理者ユーザーなどのデータをデータベースにシードすることです。

DACPAC (またはその他) のパブリッシュ プロファイルに変数を配置できれば素晴らしいと思いますが、@@servername. これを達成するためのより良い方法はありますか?

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

sql - DACPAC を使用して作成されたユーザーがログオンできない

「データ層アプリケーションの展開...」オプションを使用して SQL Server に SQL データベースを展開するための DACPAC ファイルを作成する Visual Studio 2013 SQL データベース プロジェクトは、SQL Server Management Studio (SSMS) です。

プロジェクトの一部として、必要なユーザーを作成する SQL スクリプトを含むSecurityフォルダーがあります。スクリプトは次のとおりです。

DACPAC を SQL Server に発行すると、データベースを使用するアプリケーションはログオンできません。SSMS でユーザー プロパティを表示すると、データベース ユーザーと SQL Server ログイン プリンシパルの間に関連付けがないことがわかります。これにより、アプリケーションがログインできなくなる可能性があります。

ただし、SSMS で上記のスクリプトを逐語的に手動で実行すると、ユーザーが正しく作成され、アプリケーションは正常にログインできます。

DACPAC で作成されたユーザーのデータベース マッピングが正しく設定されていないのはなぜですか。また、すべてを意図したとおりに機能させるには、スクリプトや DACPAC プロパティで何をする必要がありますか。

ありがとう、マーティン

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

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

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

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

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