我正在使用invoke-sqlcmd和invoke-sqlcmd2對SQL服務器運行查詢。invoke-sqlcmd - 我可以更改ApplicationName嗎?
有沒有辦法改變它運行的ApplicationName?當我運行探查器跟蹤時,我發現查詢是由「.Net SqlClient數據提供者」運行的,我想改變它。
任何幫助,不勝感激
我正在使用invoke-sqlcmd和invoke-sqlcmd2對SQL服務器運行查詢。invoke-sqlcmd - 我可以更改ApplicationName嗎?
有沒有辦法改變它運行的ApplicationName?當我運行探查器跟蹤時,我發現查詢是由「.Net SqlClient數據提供者」運行的,我想改變它。
任何幫助,不勝感激
好吧,futzed與乍得米勒的invoke-sqlcmd2腳本,以及與此想出了:
45行,在 「數據行」 我加了一個逗號,然後:
[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;
,這將是在探查中顯示的內容。
無法使用「Invoke-SQLCmd」或「Invoke-SQLCmd2」指定連接字符串(http://gallery.technet.microsoft.com/scriptcenter/7985b7ef-ed89-4dfd-b02a-433cc4e30894)據我所知。所以你必須直接使用System.Data.SqlClient。 – alroc 2013-02-22 18:30:43
@alroc謝謝。值得一試。可能必須修改invoke-sqlcmd/2並將其添加到它。謝謝。 – mbourgon 2013-02-23 04:30:59