Como especificar parâmetros de inicialização do SQL em instalação silenciosa via linha de comando

10

Quero corrigir o bug de diferença de identidade no SQL Server 2012 por meio do -T272parâmetro de inicialização.

Como automatizar isso após a instalação? Não encontrei nenhum parâmetro de instalação para parâmetros de inicialização.

Mohsen Afshin
fonte
11
Uma correção, o sinalizador de rastreamento para isso deve ser adicionado com letras minúsculas t, em -t272vez de -T272. É indicado aqui

Respostas:

4

Se você estiver na metade deste link, verá o parâmetro de inicialização para os sinalizadores de rastreamento.

Você pode adicioná-los no gerenciador de configuração aqui:

insira a descrição da imagem aqui

Nesse caso, seria -T272com a capital T. Pelo link, a letra minúscula t é para sinalizadores específicos usados ​​pelos engenheiros de suporte.

EDIT @MaxVernon apontou que eu não entendi a questão :) Shawn Melton tem um post aqui, onde ele discute o que você está tentando fazer. Ele tem um script que você pode executar para adicionar parâmetros de inicialização. Mike Fal, então, escreveu um acompanhamento aqui, onde ele compartilha uma função que ele escreveu chamada Set-SQLStartupParameters, que deveria ser um pouco mais segura que o método de Shawn.

Aqui está o código de Shawn: (O Mike requer um download do GitHub para que você possa seguir os links, se desejar.)

$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()
Kenneth Fisher
fonte
3

Você pode automatizar a adição de parâmetros de inicialização, por exemplo, adicionar -T271ou -T1117ou -T1118etc, usando o PowerShell como uma etapa pós-instalação.

Como você está executando no sql server 2012, você pode usar meu script para descobrir quais sinalizadores de rastreamento também estão definidos.

Kin Shah
fonte