問題タブ [vsdbcmd]
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 - vsdbcmd deploy コマンド ライン ターゲット dbschema sql コマンド変数を指定する方法を教えてください。
Visual Studio (2010) GUI は、ターゲットの 2 番目のコマンド変数ファイルを指定するためのオプションを提供します。ただし、コマンドライン実装のこのオプションが見つかりません-vsdbcmd.exe。
ソース モデル コマンド変数のみを使用して dbschema to dbschema に対して vsdbcmd deploy を実行すると、変数を実装するオブジェクトが変更されたものとして扱われるという結果が得られます。その結果、不適切な (不適切な) 更新スクリプトが作成されます。
現在使用しているコマンド:
私が探しているのは/p:TargetSqlCommandVariablesFile
、そのようなものが存在する場合...
結果のスクリプトは実行中と同じであるため、ターゲットの sqlcmd vars を指定せずに GUI を比較します
sql-server-2008-r2 - VSDBCMDが起動しない-Sql100DatabaseSchemaProviderをインスタンス化できません
http://msdn.microsoft.com/en-us/library/dd193258(v=vs.100).aspxの指示に従いました
展開フォルダーと他のdllをリモートマシンにコピーし、SQLServer2008管理オブジェクトをインストールしました。ただし、コマンドを実行しようとすると(実際の資格情報が削除されます)
私はいつもエラーが発生します
私は周りを検索しましたが、これを指し示すものは何も見つかりません。何か助けてください?
sql-server - 「ターゲット データベース スキーマ プロバイダーを特定できませんでした」VSDBCMD を使用しているが、/ConnectionString が指定されている場合のみ
データベース プロジェクトを複数のデータベース インスタンスに展開するための展開スクリプトを開発しています。手動で実行してテストしています。これは非常に単純なスクリプトであり、基本データベースまたはテンプレート データベースをデプロイするために作成されたデプロイ マニフェストに対して VSDBCMD を実行するだけです。同じサーバー上の異なるデータベースに配置するために、スクリプトは配置マニフェストを使用しますが、/p:DatabaseName プロパティと /p:TargetDatabase プロパティも指定します。
これは一日中働いています。
これらのデータベースには SQL Server 認証を使用しており、ユーザー名とパスワードをスクリプトのパラメーターとして指定できるようにして、ハードコーディングする必要がないようにしたいと考えていました。これを行う唯一の方法は、/ConnectionString スイッチを使用することでした。それが失敗の原因です。配置マニフェストに格納されているものとまったく同じ接続文字列を指定しても、スクリプトは「ターゲット データベース スキーマ プロバイダーを特定できませんでした」というエラーで失敗します。スクリプト:
/cs スイッチを省略するだけで、これが再び成功します。上記の接続文字列から、失敗を引き起こすために接続文字列でパスワードを指定する必要さえないことに注意してください。
ターゲット データベース サーバーは SQL Server 2008 R2 を実行しており、最新のパッチが適用されています。
このエラーを回避する方法を知りたいです。または、パスワードを配置マニフェストにクリアテキストで含める必要なく、配置時にユーザー名とパスワードを指定するより良い方法を知りたいです。
sql-server - デプロイされた SQL Server データベースの「モデル照合」の読み取り
データベース プロジェクトを使用してデータベースを展開しています。プロジェクト設定には、特定のプロジェクト バージョン (ターゲット SQL Server のバージョン) とデータ モデルの照合があります。
ただし、デプロイすると、次のエラーが発生します
これは、アップグレード モードで展開しているときに発生します。私の質問は、展開されたデータベースからモデル照合を読み取る方法はありますか?
展開に VSDBCMD を使用しています
powershell - PowerShell での実行時に VSDBCMD がエラーを生成する
VSDBCMD を実行して、データベース プロジェクトとステージング データベース間の diff sql スクリプトを生成しています。VSDBCMD は、ステージング サーバー上でローカルに実行され、リモート ホストから PowerShell スクリプトによって開始されます。スクリプトをローカルで実行する (手動で開始する) と、実行されて diff スクリプトが生成されますが、リモートで実行すると、次の出力が得られます。
TSD00560 プロジェクト データベースとターゲット データベースの照合設定が異なります。展開エラーが発生する可能性があります。TSD00566 配置スクリプトが次の場所に生成されました: path\CURRENT_RELEASE.sql
予期しないエラーが発生しました: 'Microsoft.Data.Schema.Sql.Sql100UserInteractionServices' の型初期化子が例外をスローしました。
異なる実行ポリシーで powershell スクリプトを実行しようとしましたが、成功しませんでした。
Sql100UserInteractionServices は何に使用されますか? リモートで実行されたpowershellスクリプトから実行すると例外がスローされるのはなぜですか?
msbuild - VSDBCMD.exe が展開の失敗時に %ERRORLEVEL% を設定しない
VS2010 コマンド ライン ツール (VSDBCMD) を使用して、バッチ ファイルを介して特定の環境に SQL プロジェクトを展開しています。
私のバッチ ファイルは、最初に、ユーザーが入力したユーザー ID とパスワードを使用してデータベース プロジェクトをビルドします。次に、新しく作成した dbmanifest を使用してプロジェクトをデプロイします。
意図的に間違ったパスワードを入力すると、画面にエラーが表示されますが、vsdbcmd は %ERRORLEVEL% を 1 に設定しません。実際、展開からのエラー メッセージは %ERRORLEVEL% を設定しません。
デプロイが失敗したかどうかを確認するにはどうすればよいですか?
これが私が実行している方法です:%VS_DEPLOY_PATH% /a:Deploy /manifest:%TAG%\%%a\sql\debug\%%a.deploymanifest /cs:"Persist Security Info=True;User ID=%DB_USER %; パスワード=%DB_PASS%;初期カタログ=%%a;サーバー=%SERVER%" /p:AbortOnFirstError=True /q+ /dsp:SQL /dd+
どんな助けでも大歓迎です。
ありがとう
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 を作成することはできますか? はいの場合、それを行う方法は?
コマンド ラインから、また経験やプロジェクトからデプロイする他の方法はありますか?この種のプロジェクトをデプロイする最良の方法は何でしたか?
どうもありがとう、