invoke-sqlcmd と invoke-sqlcmd2 を使用して、SQL サーバーに対してクエリを実行しています。
実行する ApplicationName を変更する方法はありますか? プロファイラー トレースを実行すると、クエリが ".Net SqlClient Data Provider" によって実行されていることがわかります。これを変更したいと思います。
どんな助けでも大歓迎です
invoke-sqlcmd と invoke-sqlcmd2 を使用して、SQL サーバーに対してクエリを実行しています。
実行する ApplicationName を変更する方法はありますか? プロファイラー トレースを実行すると、クエリが ".Net SqlClient Data Provider" によって実行されていることがわかります。これを変更したいと思います。
どんな助けでも大歓迎です
さて、チャド・ミラーによるinvoke-sqlcmd2スクリプトをいじり、これを思いついた:
45 行目の「datarow」の後にコンマを追加すると、次のようになります。
[Parameter(Position=9, Mandatory=$false)] [string]$ApplicationName='Powershell'
次に、接続文字列を変更します (54 行目あたり)。
if ($Username)
{ $ConnectionString = "Server={0};Database={1};User ID={2};Password={3};Application Name={5};Trusted_Connection=False;Connect Timeout={4}" -f $ServerInstance,$Database,$Username,$Password,$ConnectionTimeout,$ApplicationName }
else
{ $ConnectionString = "Server={0};Database={1};Integrated Security=True;Application Name={3};Connect Timeout={2}" -f $ServerInstance,$Database,$ConnectionTimeout,$ApplicationName }
デフォルトの Appname は "Powershell" になりましたが、-ApplicationName パラメーターを使用して変更できます。
接続文字列に含めるApplication Name=MyAppName;
と、それがプロファイラーに表示されます。