2

sqlpackage を介した dacpacs と sqlcmd を使用したスト​​レート スクリプトの組み合わせを使用するデプロイ スクリプトがいくつかあります。

sqlpackage を実行するとdac\sqlpackage.exe /p:BlockOnPossibleDataLoss=False /p:BackupDatabaseBeforeChanges=True /a:Publish /sf:.\somedeploy.dacpac /tcs:"Data Source=MyDB;Initial Catalog=MyCatalog;Trusted_Connection=True;"

*** Could not deploy package. Unable to connect to target server. SQL でログイン監査が有効になっているというエラー メッセージが表示されます。Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. [CLIENT: 111.222.223.224]

ただし、-E 引数を使用することで、sqlcmd を介して問題なく SQL スクリプトを実行できます。 sqlcmd -i Permissions\CreateSqlUser.sql -S MyDB -E

「管理者として実行」に設定されたコマンドラインから実行しており、現在管理者としてサインインしています。これは、Windows Server 2012 VM で実行されています。私はSQL 2014を使用しています。問題のない他のインストールがありますが、これは2014年の最初のインストールであるため、何かが変更されたかどうか、または何かが欠けているかどうかを判断しようとしています。

プロファイラーから実行すると、監査ログのエラー メッセージは表示されません。フィルターと、リッスンしているイベントを確認しましたが、すべて問題ないようです。SQL を実行するexec sys.sp_readerrorlog 0, 1, 'Login Failed'と、messgaes が表示されます。(プロファイラーで何か間違ったことをしている可能性があります)。また、システム イベント ログにも表示されます。ただし、ログインしようとしているユーザーについて何かを教えてくれる場所はどこにもありません。

sqlpackage に信頼できる接続を使用せず、代わりにユーザー名とパスワードを使用すると、問題なく動作します。ただし、展開スクリプトが行うことの一部はユーザーを作成するため、これを行わないことをお勧めします。

4

0 に答える 0