Удаленная установка SQL Server - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь установить SQL Server 2016 на удаленном компьютере с помощью PowerShell.ниже мой сценарийМожет кто-нибудь, пожалуйста, помогите в определении проблемы.

# Variables
$INSTANCENAME = 'DB1234INST01'
$VOLNAME = '1234INST01'
$SAPASS = "abc@12345"
$InstMem = '4096'

Invoke-Command  -ComputerName DB12345 -ScriptBlock{

# Install SQL Instance
D:\Setup.exe `
/SkipRules=RebootRequiredCheck `
/ACTION=Install `
/AGTSVCSTARTUPTYPE=Automatic `
/BROWSERSVCSTARTUPTYPE=Automatic `
/ERRORREPORTING=False `
/FEATURES="SQLEngine,DQ" `
/IACCEPTSQLSERVERLICENSETERMS `
/INSTANCEDIR="E:\$VOLNAME" `
/INSTANCEID=$INSTANCENAME `
/INSTANCENAME=$INSTANCENAME `
/ISSVCSTARTUPTYPE=Automatic `
/QUIETSIMPLE `
/SAPWD=$SAPASS `
/SECURITYMODE=SQL `
/SQLSVCSTARTUPTYPE=Automatic `
/SQLSYSADMINACCOUNTS="bac\Domain Admins" "bac\DB Admins" `
/SQMREPORTING=False `
/TCPENABLED=1 `
/UpdateEnabled=1 `
/UpdateSource=MU

#Set Memory on Instance
import-module SQLPS -DisableNameChecking
Invoke-Sqlcmd -ServerInstance .\$INSTANCENAME -Username sa -Password $SAPASS -Query "EXEC sys.sp_configure 'show advanced options', 1"
Invoke-Sqlcmd -ServerInstance .\$INSTANCENAME -Username sa -Password $SAPASS -Query "RECONFIGURE"
Invoke-Sqlcmd -ServerInstance .\$INSTANCENAME -Username sa -Password $SAPASS -Query "EXEC sys.sp_configure 'max server memory (MB)', $InstMem"
Invoke-Sqlcmd -ServerInstance .\$INSTANCENAME -Username sa -Password $SAPASS -Query "EXEC sys.sp_configure 'show advanced options', 0"
Invoke-Sqlcmd -ServerInstance .\$INSTANCENAME -Username sa -Password $SAPASS -Query "RECONFIGURE"

}

Во время работы с удаленного компьютера, как прыжок хоста, я получаю сообщение об ошибке ниже:

SQL Server 2016 transmits information about your installation experience, as well as other usage and performance data, to Microsoft to help improve 
the product. To learn more about SQL Server 2016 data processing and privacy controls, please see the Privacy Statement.
The following error occurred:
The specified value for setting 'SAPWD' is invalid. The expected value type is SqlSecureString.

Error result: -2068578303
Result facility code: 1204
Result error code: 1

Please review the summary.txt log for further details
Microsoft (R) SQL Server 2016 13.00.1601.05

Copyright (c) 2016 Microsoft Corporation.  All rights reserved.


Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of 
its dependencies. The system cannot find the file specified.
    + CategoryInfo          : NotSpecified: (:) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.PowerShell.Commands.ImportModuleCommand
    + PSComputerName        : DB12345

Ответы [ 2 ]

0 голосов
/ 16 марта 2019

Я решил проблему удаленной установки SQL, и он работает нормально.Единственная проблема в том, что теперь я не могу изменить значение памяти для созданного экземпляра.Каким-то образом команда Invoke-Sqlcmd -ServerInstance $ Servers \ $ INSTANCENAME сообщает, что не может подключиться к серверу или экземпляр не найден.Любая идея в этом контексте поможет.

Переменные

$Servers = Get-Content C:\server.txt

Invoke-Command -ComputerName $Servers{

$INSTANCENAME = 'DB1243INST01'
$VOLNAME = '1243INST01'
$SAPASS = 'test123'
$InstMem = '4096'
# Install SQL Instance
C:\Temp\Setup.exe `
/SkipRules=RebootRequiredCheck `
/ACTION=Install `
/AGTSVCSTARTUPTYPE=Automatic `
/BROWSERSVCSTARTUPTYPE=Automatic `
/ERRORREPORTING=False `
/FEATURES="SQLEngine,DQ" `
/IACCEPTSQLSERVERLICENSETERMS `
/INSTANCEDIR="E:\$VOLNAME" `
/INSTANCEID=$INSTANCENAME `
/INSTANCENAME=$INSTANCENAME `
/ISSVCSTARTUPTYPE=Automatic `
/QUIET `
/SAPWD=$SAPASS `
/SECURITYMODE=SQL `
/SQLSVCSTARTUPTYPE=Automatic `
/SQLSYSADMINACCOUNTS="abc\Admins" "abc\DB Admins" `
/SQMREPORTING=False `
/TCPENABLED=1 `
/UpdateEnabled=FALSE `
/UpdateSource=MU `

#Set Memory on Instance
import-module SQLPS -DisableNameChecking
Invoke-Sqlcmd -ServerInstance $Servers\$INSTANCENAME -Username sa -Password $SAPASS -Query "EXEC sys.sp_configure 'show advanced options', 1"
Invoke-Sqlcmd -ServerInstance $Servers\$INSTANCENAMEE -Username sa -Password $SAPASS -Query "RECONFIGURE"
Invoke-Sqlcmd -ServerInstance $Servers\$INSTANCENAMEE -Username sa -Password $SAPASS -Query "EXEC sys.sp_configure 'max server memory (MB)', $InstMem"
Invoke-Sqlcmd -ServerInstance $Servers\$INSTANCENAME -Username sa -Password $SAPASS -Query "EXEC sys.sp_configure 'show advanced options', 0"
Invoke-Sqlcmd -ServerInstance $Servers\$INSTANCENAME -Username sa -Password $SAPASS -Query "RECONFIGURE"

}
0 голосов
/ 27 февраля 2019

В вашем вопросе есть несколько ошибок.Один из них появляется из-за отсутствия SMO (общих объектов управления SQL):

Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=13.0.0.0

Его можно загрузить из пакетов функций SQL Server page


Если установка не помогла, посмотрите также на эту тему: Не удалось загрузить файл или сборку microsoft.sqlserver.sqlclrprovider 13.100.0.0

Есть ссылка на связанную с ней мсэлемент подключения ...

Обновление 2019-02-09:

/QUIETSIMPLE

Указывает, что программа установки запускается и показывает ход выполнения через пользовательский интерфейс, но непринять любой ввод или показать любые сообщения об ошибках.

/QUIET

Указывает, что программа установки работает в тихом режиме без какого-либо пользовательского интерфейса.Это используется для автоматической установки.Параметр / Q отменяет ввод параметра / QS.

Аргументы Setup.exe, которые необходимо изменить с /QUIETSIMPLE на /QUIET, так как удаленное выполнение с помощью Invoke-Command не устраивает интерактивностьчто QUIETSIMPLE приносит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...