1

我正在使用invoke-sqlcmd 和invoke-sqlcmd2 对SQL 服务器运行查询。

有没有办法改变它运行的 ApplicationName ?当我运行探查器跟踪时,我看到查询是由“.Net SqlClient 数据提供者”运行的,我想改变它。

非常感谢任何帮助

4

2 回答 2

1

好的,使用 Chad Miller 的 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 回答