1

invoke-sqlcmd と invoke-sqlcmd2 を使用して、SQL サーバーに対してクエリを実行しています。

実行する ApplicationName を変更する方法はありますか? プロファイラー トレースを実行すると、クエリが ".Net SqlClient Data Provider" によって実行されていることがわかります。これを変更したいと思います。

どんな助けでも大歓迎です

4

2 に答える 2

1

さて、チャド・ミラーによる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 パラメーターを使用して変更できます。

于 2013-02-25T13:54:08.367 に答える
0

接続文字列に含めるApplication Name=MyAppName;と、それがプロファイラーに表示されます。

于 2013-02-22T15:54:49.703 に答える