0

VSDBCMD.exe (Visual Studio 2010 バージョン) を使用して、データベース プロジェクトの出力を配置しようとしています。コマンド ラインに /dd:+ スイッチを含めています。コマンドを実行するたびに、1 つのメッセージが表示されます。

TSD00566        Deployment script generated to:
C:\Deploy\SqlServerDB.txt

エラーはありませんが、展開スクリプトは実行されず、展開は行われません。/Quietスイッチを入れていません 。

.deploymentmanifestコマンドラインですべてのパラメーターを指定することと、ファイルを使用することの両方を試みました。どちらの方法でも同じ結果が得られます。スクリプト ファイルは生成されますが、実行されません。スキーマの変更はデプロイされません。

生成された配置スクリプトが有効であるため (さらに、ターゲット SQL サーバーにのみ存在するファイル パスを参照しているため)、接続文字列が正しいことはわかっています。

私の現在のコマンドライン(最近の試みのように)は

vsdbcmd.exe 
    /a:Deploy 
    /cs:"Data Source=[the correct server];Integrated Security=True;Pooling=False;Initial Catalog=[the correct database]" 
    /Quiet- 
    /dd:+ 
    /p:TargetDatabase="[the correct database]" 
    /dsp:Sql 
    /Model:"C:\[output path]\SqlServerDB.dbschema"

エラー メッセージや有用な出力が得られないため、このコマンドのトラブルシューティング方法を教えてください。

4

1 に答える 1

0

VSDBCMD がデルタ スクリプトを生成し、データベース プロジェクトとターゲット データベースの間に変更がないことを検出すると、展開手順は実行されません。

ただし、展開しない理由を示すメッセージも表示されません。そのため、エラーは発生しませんでしたが (つまり、エラー メッセージはありません)、最初にコマンドを実行した後、ソース スクリプトが宛先データベースと同一であったため、デプロイされませんでした。

「展開する変更はありません」という何らかのメッセージが表示されると便利ですが、少なくとも、設計どおりに機能しており、展開の必要がないことはわかっています。

于 2012-03-19T20:06:48.110 に答える