コマンドラインを使用してサイレントインストールでSQL起動パラメーターを指定する方法


10

起動パラメーターを使用して、SQL Server 2012のIDギャップのバグを修正したいと思い-T272ます。

インストール後にこれを自動化するにはどうすればよいですか?起動パラメータのインストールパラメータが見つかりませんでした。


1
一つの補正は、このためのトレースフラグは小文字で添加されるべきであるtので、-t272代わりに-T272。なおされ、ここで

回答:


4

このリンクを半分ほど下がると、トレースフラグの起動パラメーターが表示されます。

あなたはここで構成マネージャーにそれらを追加することができます:

ここに画像の説明を入力してください

この場合-T272、大文字のTになります。リンクごとに、小文字のtは、サポートエンジニアが使用する特定のフラグ用です。

編集 @MaxVernonは指摘のポイントを逃したと指摘しました:) Shawn Meltonがここ投稿しました。彼には、起動パラメータを追加するために実行できるスクリプトがあります。次に、マイクファルがフォローアップをここで作成し、彼が作成した関数を共有します。この関数は、Shawnのメソッドよりもいくらか安全であると思われるSet-SQLStartupParametersと呼ばれます。

Shawnのコードは次のとおりです(MikeはGitHubからダウンロードする必要があるため、リンクを希望する場合はリンクをたどることができます)。

$server = 'MyServer'
$sqlservice = "MSSQLSERVER"
$sqlagentservice = "SQLSERVERAGENT"
$flagsToAdd = ';-T1117;-T1118;-T3226"

Add-Type -AssemblyName "Microsoft.SqlServer.SqlWmiManagement,Version=11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91"
$sqlwmi = New-Object Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer $server
$wmisvc = $sqlwmi.Services | where {$_.name -eq $sqlservice}
$wmisvc.StartupParameters = $wmisvc.StartupParameters + $flagsToAdd
$wmisvc.Alter()

$wmisvc.Stop()
Start-Sleep -seconds 15
$wmisvc.Start()

$wmiAgent = $sqlwmi.Services | where {$_.name -eq $sqlagentservice}
$wmiAgent.Start()

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.