問題タブ [data-tier-applications]

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 投票する
2 に答える
38126 参照

sql-server - VerifyExtraction なしで MSSQLServer データベースを .dacpac として抽出する方法は?

Server Management Studio で MSSQLServer データベースのデータベース スキーマを抽出したいと考えています。Extract コマンド「Extract Data-tier Application..」を使用します。

データベースには、別のデータベースへの参照がいくつかあります。このため、次のエラーが発生します。

データベースの抽出エラー: データ パッケージのスキーマ モデルの検証に失敗しました。エラー SQL71562: 要素 [dbo].[x] の検証エラーには、オブジェクト [dbo].[y] への未解決の参照があります。このプラットフォームからパッケージを作成する場合、外部参照はサポートされていません。

問題は、SSMS がパラメーター/p:VerifyExtraction=Trueで SQLPackage.exe を使用することです。コンソールを使用して、このパラメーターを指定せずに SQLPackage.exe を呼び出すと、既定で/p:VerifyExtraction=Falseが使用され、.dacpac ファイルを作成できます。

検証を無効にするように SSMS を構成する方法はありますか?

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

sql-server - dacpac を使用して T-SQL の入力と出力を取得しますか?

sys.sp_describe_first_result_setFSharp.Data.SqlClient は、クエリの結果セットのスキーマを検出するために依存しています。問題は、設計/ビルド時に SQL Server データベースへの接続が必要になることです。からこの情報を取得することは可能.dacpacですか? データ層アプリケーションは、「宣言型データベース開発を可能にする」と主張しています。

FSharp.Data.SqlClient

dacpac とその内容、および T-SQL AST を読み取るためのライブラリがあります。入力と出力のタイプは、その情報から派生できると思います。

宣言型モデルから入力と出力のリストを導き出すことは可能/信頼できますか? 機能リクエストを記録するのに適した場所はありますか? :-)

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

sql-server - データベースをデータ層アプリケーションとして登録 - SQLPackage の展開方法に変更はありますか?

一部のデータベースの健全性を監視するために、自動ドリフト レポートを作成するタスクが与えられました。私はこれを機能させ、メールなどを送信しています....問題ありません。

すべてのライブ データベースをデータ層アプリケーションとして登録することについて、いくつかの懸念があります。

現在、展開には SQLPackage.exe を使用しています。追加する予定です

使用するそれぞれの publish.xml ファイルに。

質問は次のとおりです。

これは、xml ファイルの他のパラメーターに影響を与えますか? MSDNのドキュメントには何も言及されていません。

知っておくべきサーバー レベルの変更はありますか?

これにより、バックアップ手順がまったく変更される可能性がありますか?

これまでのすべてのテストでは、いいえが示されています。私が緊張している理由は、Visual Studio から発行する場合、[データ層アプリケーションとして登録] ボックスをオンにすると、それ以上のオプションがグレー表示されるためです。それが違いを生むと私に信じさせます。

意見歓迎!

ありがとう!

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

sql-server - dacpac - CLR アセンブリ参照パスの問題

以下は、ターゲット SQL インスタンスにデータベースをデプロイするために dacpac を作成している、私のデータベース プロジェクトの正確なシナリオです。

  • データベース プロジェクトには、CLR アセンブリの参照があります。
  • TFS ビルド サーバーを使用してプロジェクトをビルドします。
  • TFS ビルド プロセス中に dacpac が作成される

– sqlpackage.exe を実行して dacpac (TFS ビルド プロセスで生成されたもの) を環境にデプロイしようとすると、次のエラーが表示されます –</p>

*** XXXX.XXXX.XXXX.dll を参照するためのファイルが提供されていません。デプロイが失敗する可能性があります。C:\Temp\Dacpac_testing\XXX.XXXXX.XXXX.dacpac が作成されたとき、元の参照ファイルは C:\BUILDS\1\XXXX\XXXX\SRC\XXXXXXXX\ASSEMBLIES\XXXX.XXXX.XXXX.dll にありました。

デプロイ環境で CLR アセンブリのパスを参照する dacpac を作成するにはどうすればよいですか (dacpac のビルド時に使用されたものではありません)。

これに関するヘルプは大歓迎です。

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

sql-server - SQL Server 2008 R2 - DAC 地域でサポートされていないオブジェクト

SQL Server Management Studio を使用して、右クリックして DACPAC を作成しようとしていますdb -> Tasks -> Extract Data-Tier Application。SQL 空間データ型がサポートされていないため、[検証と概要] 画面にアクセスするとエラーが発生します。この記事を読んだところSQL Server Data Types、DAC でサポートされているものがリストされており、空間型はサポートされていません。テーブルに SQL 空間データ型を使用して DACPAC を作成できるようにするための回避策はありますか?

ウィザードに表示されるエラーは次のとおりです。

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

asp.net - データ層アプリケーション フレームワーク (DACFx) での SignalR の使用: データベースの変更を構成および制御する方法

SignalR を使用する既存のデータベースと Web アプリケーション用の実行可能な CI/デプロイ プロセスを開発しようとしています。アプリケーション アーキテクチャは非常に複雑で、複数のコンポーネントがデータベースの変更を監視しています。

データ層アプリケーション フレームワーク (DACFx) を使用して DACPAC ファイルを展開し、登録プロセスを使用してデータベース スキーマへのプロセス外の変更を検出できるようにしたいと考えています。現時点では、SignalR がデータベースを変更するため、これは不可能です。

SignalR テーブルをスキーマに手動で追加することなく、データ層アプリケーションで SignalR を正常に使用できるかどうかを判断しようとしています。

次のようなSignalRコードを使用する各コンポーネントの Startup.cs があります。

また、私の Web.config または app.config には、メイン アプリケーションとは別のデータベースを指す "SignalR" 接続文字列があります。たとえば、アプリケーション データの場合は "MyApp"、SignalR データの場合は "SignalR" です。

私の理解では、この方法で SignalR を構成すると、次のものが作成されます。

  1. 接続の追跡に使用されるデータベース テーブル。
  2. データベースおよび関連するクリーンアップ SP へのサービス サブスクリプション。

私が抱えている問題は、メイン アプリケーション データベースにデータベース テーブルが作成されており、SignalR がサービスの登録を解除するための API を提供していないように見えることです。

私はこれを正しく理解していますか - SignalR はサービス サブスクリプションを作成していますか、それとも別のものですか?

何が起こっているのですか - 構成が無視されるのはなぜですか?

これを洗練された方法でクリーンアップすることは可能ですか?それとも、展開中にサービス サブスクリプションを手動で削除する必要がありますか?

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

sql-server - データ層アプリケーション - 手動テーブル変更

データ層アプリケーションを SQL Server 2014 に登録したとします。テーブルの手動変更を無効にする方法はありますか? データベース内のテーブルを手動で変更する代わりに、開発者に新しいバージョンのデータ層アプリケーションを公開させることができますか?

データ層のアップグレードをバイパスして何かを手動で変更すると、データ層のアプリケーションはどのように変化しますか?

私の質問のポイントは、データ層のアップグレードをバイパスする顧客のために、テーブルに列を直接追加できるということです。これは、ビジュアル スタジオのプロジェクトが古くなることを意味します。データ層のアップグレードのみでデータベースを変更するように強制したいと思います。

ありがとう :)

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

vb.net - Dacpac がコードを介して適切にアップグレードしない

中央データベースがあり、ローカル データベースをアップグレードする必要があります。これを行うためにdacpacを使用しています。基本的に、サーバー上のデータベースに変更を加えます。次に、dacpac を作成します。展開パッケージに入れられます。クライアントがアプリケーションを実行すると、新しいバージョンがあるかどうかがチェックされます。ある場合は、アップグレードされます。問題は私たちが抱えていることです。dacpac をアップグレードせずにローカル データベースを変更すると、dacpac 以外に変更が加えられたという警告が表示されます。そのため、dacpac をアップグレードする (vb.net コードを使用して行う) 場合、プロセスは完了しますが、実際には変更は行われません。基本的に全部スキップ

私のコードは次のとおりです

If _package.Version <> databaseVersion Then

手動で SSMS にアクセスしてアップグレードしようとすると気付きました。データベースが変更され、データ損失の可能性があるにもかかわらず [続行] をクリックするように求められます。これを行うと、手動で動作します。しかし、コードでは、blockonpossibledataloss=false があってもアップグレードされないようです。

この問題を解決するにはどうすればよいですか?

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

sql-server - BACPAC インポートとテンポラル テーブルで発生する可能性のあるバグ

SQL Server 2016 Developer Edition と SSMS (13.0.15600.2) の最新バージョンを使用しています。

bacpac'WITH SCHEMABINDING' でそれらを参照するテンポラル テーブルとオブジェクト (function.view) を含むデータ層アプリケーション ( ) をインポートすると、バグが発生する可能性があります。

このようなデータベースを backpac にエクスポートすることは完全に可能ですが、インポートして戻すとエラーが発生します:

エラー SQL72014: .Net SqlClient データ プロバイダー: メッセージ 3729、レベル 16、状態 4、行 1 オブジェクト 'BindTest' によって参照されているため、'Table2Version' を変更できません。エラー SQL72045: スクリプト実行エラー。実行されたスクリプト: ALTER TABLE [dbo].[Table2Version] SET (SYSTEM_VERSIONING = OFF);

この問題を再現する最小の DB 作成スクリプトは次のとおりです。

それは本当にバグですか、それとも何か間違っていますか?

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

sql-server - sqlpackage.exe は小さなデータベースの展開が非常に遅い

VS2015 を使用してデータベース プロジェクトをリリース モードでビルドし、生成された .dacpac ファイルを運用サーバーにコピーします。

次に、次のようにコマンドを実行しています。

dacpac のサイズは約 8kb です。おそらく10個のテーブルといくつかの静的データが含まれています。

次に、コマンドを実行します。実行には非常に時間がかかります。初期データベースの作成とアップグレードの両方。この小さなデータベースの見積もりでは、上記のコマンドの実行には約 5 分かかります。

これの速度をまったく向上させる方法はありますか?

確かに、小さな変更を加えて展開するアプリケーションの最初のロールアウト中に、この時間の遅延が大きな障害になります。