問題タブ [sqlpackage]
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 - コマンドラインを介してSQLServerデータベースプロジェクト(SSDT)を展開する
SQL Server2012RC0データベースを対象としたSQLServerデータベースプロジェクトがあります。プロジェクトは、Visual Studio 2010 +SQLServerデータツールCTP4で作成されました。(プロジェクトの種類は、通常のVisualStudio2010データベースプロジェクトとは異なります。これはSQLDeveloperTools CTP3 Juneauの次のバージョンです)
IDEに正常にデプロイされます。コマンドラインからデプロイするにはどうすればよいですか?
VSDBCMD.exeを試しましたが、新しいプロジェクトタイプで作成されていない.deploymanifestファイルが必要です。
arguments - TargetDatabaseName または tdn 引数を指定して SQLPackage 'publish' を呼び出すとエラーが発生する
アクションを呼び出すときの SQLPackage のマニュアルとして、ここでpublish
は引数TargetDatabaseName
orを使用しますtdn
(セクションTarget Parameters
) 。
しかし、このパラメーターを SQLPackage 呼び出しに追加すると、引数が無効であるというエラーが表示されました。
例:
それはバグですか?どうすればそれを回避できますか?
現在、/tcs:"The connections string going here" を使用する必要があります。
error-handling - SSDT の SQLPackage.exe を呼び出すときに "データ損失" 発行アクションを検出する最良の方法
publish actionでSQLPackage.exe (ここで説明する構文) を呼び出すと、 が発生し、実行が停止する/a:Publish
場合があります。data loss
これは、パラメータ /p:BlockOnDataLoss を設定することによって指定されます (デフォルトは「true」です)。
publish
アクションが成功したか、「データ損失」のために失敗したかを知る必要があります。
現在、成功した場合、返される終了コードは 0 になります。失敗した場合、返される終了コードは 1 になります。失敗が によって引き起こされたかどうかはわかりdata loss
ません。これをどのように識別できますか?
コンソール出力のどこかに、「... is being drop, data loss could occur.」という行が表示されます。したがって、すべての出力行が印刷されるようにスキャンするつもりですが、これを行うには他のより良い方法があるはずです。
ご意見をお待ちしております。
synchronization - SqlPackage.exe が、存在しないオブジェクトをターゲット データベースにドロップできる .dacpac ファイルを公開するための適切なパラメーターは何ですか?
ここSqlPackage.exe
で説明したように、Visual Studio 2012 の Microsoft SSDT からデータベースを同期するために使用できるので、SQL Server データベース プロジェクトに格納されている というソース データベース オブジェクトと一致するように、 というターゲット データベースを同期するために使用しています。TargetDb
DbProject
コマンドのアクション/a:Publish
によりSqlPackage.exe
、DbProject の .dacpac ファイルを TargetDb に同期できますが、デフォルトの引数は、 DbProject に存在しない TargetDb のオブジェクトをドロップしません。
フラグ/p:DropObjectsNotInSource=true
をオンにするとこれは解決しますが、奇妙な動作も作成されます
- このフラグ
/p:DropObjectsNotInSource=true
は、TargetDb にユーザー/ログイン オブジェクトをドロップしますが、これはまったく予期されていません! 私が見つけることができる最も近いものは です/p:DropRoleMembersNotInSource=false /p:DropPermissionsNotInSource=false
が、それらはあまり役に立ちません。 - フラグはフラグ
/p:DropObjectsNotInSource=true
を壊します/p:BlockOnPossibleDataLoss=true
。つまり、データ損失が発生した場合、更新アクションはブロックされません。それは私が望んでいるものではありません。
現在、TargetDb で「ゴミ箱」/冗長オブジェクトを受け入れる必要があります:(
私をそこに連れて行くために使用するより良いフラグは何ですか?
sql-server-data-tools - SQLPackage エラー: 同じキーを持つアイテムが既に追加されています
SQLPackage から次のエラーが表示されます:「同じキーを持つ項目が既に追加されています」 意味は何ですか? Googleは私を助けません..
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe" /Action:DeployReport /SourceFile:"XXX.dacpac" /Profile:"publish.xml" OutputPath:"Report.xml "
サーバー 'srv' 上のデータベース 'XXX' のレポートを生成しています。
※既に同じキーのアイテムが追加されています。
出力ファイルは作成されません。
Visual Studio の作品からスクリプトを生成します (スクリプトを取得します)。同じソリューションで 3 つのプロジェクトをテストしました。DeploymentReport ファイルを作成するのは 1 つだけです。
作品を公開。
amazon-web-services - SQLPROJ DACPAC を Amazon RDS にデプロイする方法
私たちは常に .sqlproj 拡張子を使用して VS2012 SSDT でデータベースの設計と開発を行い、SQLPackage と DACPAC を使用して SQL Server に展開しました... または、Visual Studio からパブリッシュ ルールをセットアップしました。
データベースを Amazon RDS SQL Server に移行しました。
最近、データベースの設計にいくつかの変更を加え、その変更を公開しようとしましたが、このエラーが発生しました。
このタイプのデータベース プロジェクトを Amazon に公開する方法をあらゆる場所で検索しましたが、スキーマ用にローカルの SQL Server データベースを維持し、Red-Gate SQL Compare を購入して変更を移行する以外に..困惑しています..
どんな提案でも大歓迎です。