web-dev-qa-db-ja.com

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

SQL Server 2012の identity gap bug-T272スタートアップパラメータで修正したい。

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

10
Mohsen Afshin

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

これらは、ここの構成マネージャーに追加できます。

enter image description here

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

[〜#〜] edit [〜#〜]@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()
4
Kenneth Fisher

起動パラメータの追加を自動化できます。追加-T271または-T1117または-T1118など、ポストインストールステップとしてPowerShellを使用します。

SQL Server 2012で実行しているので、スクリプトを使用して、どのトレースフラグが設定されているかを確認できます。

3
Kin Shah