77 lines
4.7 KiB
PowerShell
77 lines
4.7 KiB
PowerShell
Write-Host "--- Installing SQL Server Express...."
|
|
|
|
$ProgressPreference = 'SilentlyContinue'
|
|
|
|
choco install --no-progress sql-server-express -ia "/SECURITYMODE=SQL /SAPWD=Qlik1234" -y #--version=2017.20190916
|
|
choco install --no-progress sql-server-management-studio -y
|
|
|
|
# $ENV:PATH="$ENV:PATH;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn"
|
|
$ENV:PATH="$ENV:PATH;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn"
|
|
|
|
New-Item -ItemType Directory -Force -Path C:\Temp | Out-Null
|
|
New-Item -ItemType Directory -Force -Path C:\Samples | Out-Null
|
|
|
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
|
|
|
Set-Location c:\Temp
|
|
|
|
# write-log "Installing AdventureWorks"
|
|
# Invoke-WebRequest -Uri https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks-oltp-install-script.zip -OutFile c:\Temp\AdventureWorks-oltp-install-script.zip
|
|
# C:\ProgramData\chocolatey\tools\7z.exe x AdventureWorks-oltp-install-script.zip -oC:\Samples\AdventureWorks\
|
|
# cd C:\Samples\AdventureWorks
|
|
# SQLCMD.exe -S localhost\SQLEXPRESS -E -i C:\Samples\AdventureWorks\instawdb.sql
|
|
|
|
Write-Host "Installing AdventureWorksDW"
|
|
Invoke-WebRequest -Uri https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorksDW-data-warehouse-install-script.zip -OutFile c:\Temp\AdventureWorksDW-data-warehouse-install-script.zip
|
|
C:\ProgramData\chocolatey\tools\7z.exe x c:\Temp\AdventureWorksDW-data-warehouse-install-script.zip -oC:\Samples\AdventureWorksDW
|
|
Set-Location C:\Samples\AdventureWorksDW
|
|
Write-Output "SET QUOTED_IDENTIFIER ON
|
|
go
|
|
" > C:\Samples\AdventureWorksDW\instawdbdw2.sql
|
|
cat C:\Samples\AdventureWorksDW\instawdbdw.sql >> C:\Samples\AdventureWorksDW\instawdbdw2.sql
|
|
& "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.exe" -S localhost\SQLEXPRESS -E -i C:\Samples\AdventureWorksDW\instawdbdw2.sql
|
|
|
|
Write-Host "Installing AdventureWorksLT"
|
|
Invoke-WebRequest -Uri https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorksLT2019.bak -OutFile c:\Temp\AdventureWorksLT2019.bak
|
|
Write-Output "USE [master]
|
|
RESTORE DATABASE [AdventureWorksLT2019]
|
|
FROM DISK = N'c:\Temp\AdventureWorksLT2019.bak'
|
|
WITH FILE = 1,
|
|
MOVE N'AdventureWorksLT2012_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\AdventureWorksLT2019.mdf',
|
|
MOVE N'AdventureWorksLT2012_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\AdventureWorksLT2019_log.ldf',
|
|
NOUNLOAD, STATS = 5
|
|
GO
|
|
"> C:\Temp\AdventureWorksLT2019.sql
|
|
& "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.exe" -S localhost\SQLEXPRESS -E -i C:\Temp\AdventureWorksLT2019.sql
|
|
|
|
|
|
#choco install sql2012.nativeclient
|
|
|
|
& "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.exe" -S localhost\SQLEXPRESS -E -Q "Create Login qmi with PASSWORD=N'Qlik1234', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;"
|
|
& "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.exe" -S localhost\SQLEXPRESS -E -Q "EXEC master..sp_addsrvrolemember @loginame = N'qmi', @rolename = N'sysadmin';"
|
|
#sqlcmd.exe -S localhost\SQLEXPRESS -E -d master -Q "EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2"
|
|
|
|
Restart-Service 'MSSQL$SQLEXPRESS'
|
|
#sqlcmd.exe -S localhost\SQLEXPRESS -E -d master -Q "xp_readerrorlog 0, 1, N'Server is listening on'"
|
|
|
|
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
|
|
Install-Module -Name SqlServer -Force
|
|
Import-Module "SqlServer"
|
|
|
|
# Modify TCP/IP properties to enable an IP address
|
|
# https://stackoverflow.com/questions/9138172/enable-tcp-ip-remote-connections-to-sql-server-express-already-installed-databas
|
|
|
|
Get-CimInstance -Namespace root/Microsoft/SqlServer/ComputerManagement15 -ClassName ServerNetworkProtocol -Filter "InstanceName = 'SQLEXPRESS' and ProtocolName = 'Tcp'" |Invoke-CimMethod -Name SetEnable
|
|
$properties = Get-CimInstance -Namespace root/Microsoft/SqlServer/ComputerManagement15 -ClassName ServerNetworkProtocolProperty -Filter "InstanceName='SQLEXPRESS' and ProtocolName = 'Tcp' and IPAddressName='IPAll'"
|
|
$properties | Where-Object { $_.PropertyName -eq 'TcpPort' } | Invoke-CimMethod -Name SetStringValue -Arguments @{ StrValue = '1433' }
|
|
$properties | Where-Object { $_.PropertyName -eq 'TcpPortDynamic' } | Invoke-CimMethod -Name SetStringValue -Arguments @{ StrValue = '' }
|
|
|
|
# Restart SQL Server
|
|
|
|
Restart-Service 'MSSQL$SQLEXPRESS'
|
|
|
|
#Enabling SQL Server Ports
|
|
Write-Host "Opening firewall port 1433"
|
|
New-NetFirewallRule -DisplayName "SQL Server" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action allow
|
|
|
|
Write-Host "--- SQL Server Express Completed" |