我正在使用invoke-sqlcmd 和invoke-sqlcmd2 对SQL 服务器运行查询。
有没有办法改变它运行的 ApplicationName ?当我运行探查器跟踪时,我看到查询是由“.Net SqlClient 数据提供者”运行的,我想改变它。
非常感谢任何帮助
我正在使用invoke-sqlcmd 和invoke-sqlcmd2 对SQL 服务器运行查询。
有没有办法改变它运行的 ApplicationName ?当我运行探查器跟踪时,我看到查询是由“.Net SqlClient 数据提供者”运行的,我想改变它。
非常感谢任何帮助
好的,使用 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 参数进行更改。
包括Application Name=MyAppName;
在您的连接字符串中,这将是探查器中显示的内容。