SQL Server installation ON Windows for Workgroup
2 SQL
Structured Query Language(SQL)是英文的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系。按照 ANSI(美国国家标准协会)的规定,SQL 语言 被作为 Relational Database Management System(RDBMS)(关系型数据库管理系统)的标准语言。
3 Microsoft SQL Server
SQL Server 是由Microsoft开发和推广的关系数据库管理系统(DBMS),SQL Server 支持企业IT环境中的各种事务处理,商业智能和分析应用程序,是三种市场领先的数据库技术之一,与之对应的有 Oracle Database、IBM DB2、MySQL、PostgreSQL、Sybase、Derby。
- 随着Sybase开始解散,1994年,MIcrosoft接管了 SQL Server 的所有研发和营销工作,并用于自己的操作系统。
- 随着Sybase的解除,Microsoft在修改16位 OS/2 代码库以创建具有附加功能的32位实现后,还在新发布的 Windows NT 上提供了该软件; 它专注于未来的Windows代码。
- 1996年,Sybase将其版本重命名为 Adaptive Server Enterprise(现在归SAP所有),并将 SQL Server 的名称保留给了Microsoft。
4 实例:为处于 Active Directory 中的计算机安装 SQL Server
4.1 配置 SQL Server 本机基本设置
4.1.1
SQL Server installation for domain Configuring the basic setting of the SQL server (配置 SQL Server 的基本配置)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Rename-NetAdapter -NewName "LAN 01" # 启用 Windows 更新服务 Get-Service -Name "wuauserv", "Windows Update", "TrustedInstaller", "msiserver" | Start-Service # 使用 Displayname -like "*.3.5*" 语法来模糊查询包含 .NET Framework 3.5 组件的名称,然后通过该名称来安装 Get-WindowsFeature | Where-Object displayname -like "*3.5*" | ft -AutoSize # 离线安装 .Net 3.5 Install-WindowsFeature -Name Net-Framework-Core -Source D:\sources\sxs # 安装 TelnetClient 客户端 Enable-WindowsOptionalFeature -Online -FeatureName "TelnetClient" |
4.2 安装 SQL Server 使用 [ConfigurationFile.ini] 配置文件静默安装
4.2.1
Install SQL Server using a configuration file (使用 [ConfigurationFile.ini] 配置文件静默安装 SQL Server 2012)
配置相关变量
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 定义 ############################################################################################################################# $ComputerName = Get-WmiObject -Class "Win32_ComputerSystem" | ForEach-Object -Process {$_.Name} # 获取当前计算的本机名称 $User = "$env:USERNAME" # 定义使用当前登入的账户来管理 SQL Server $Password = "Admin@123" # 定义当前登入系统账户的密码 $SAPasswd = "SA@123" # 定义 SA 账户的密码 $SQLDIR = "$env:ProgramFiles\Microsoft SQL Server" # 定义 SQL Server 的根目录 $SQLDIRx86 = "${env:ProgramFiles(x86)}\Microsoft SQL Server" # 定义 SQL Server X86根目录 Get-CimClass -ClassName "*cdrom*" # 查看带有 CDROM 的类以便获取 Win32_CDROMDrive ############################################################################################################################## # 定义变量 = 获取Win32_CDROMDrive类,指定驱动器卷名称包含 SQL 字符串的驱动器,然后将驱动器的盘符过滤出来 $DevicePath = Get-WmiObject Win32_CDROMDrive | Where-Object -FilterScript {$_.VolumeName -like "*SQL*"} | ForEach-Object -Process {$_.Drive} |
4.2.2
Install SQL Server using a configuration file (使用 [ConfigurationFile.ini] 配置文件静默安装 SQL Server 2012)
创建或者更新 ConfigurationFile.ini 静默应答文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
# 定义 ############################################################################################################################# # 将配置参数 利用 Powershell 输出到指定 C:\ConfigurationFile.ini 文件中 $ComputerName = Get-WmiObject -Class "Win32_ComputerSystem" | ForEach-Object -Process {$_.Name} # 获取当前计算的本机名称 $User = "$env:USERNAME" # 定义使用当前登入的账户来管理 SQL Server $Password = "Admin@123" # 定义当前登入系统账户的密码 $SAPasswd = "SA@123" # 定义 SA 账户的密码 $SQLDIR = "$env:ProgramFiles\Microsoft SQL Server" # 定义 SQL Server 的根目录 $SQLDIRx86 = "${env:ProgramFiles(x86)}\Microsoft SQL Server" # 定义 SQL Server X86根目录 Get-CimClass -ClassName "*cdrom*" # 查看带有 CDROM 的类以便获取 Win32_CDROMDrive ############################################################################################################################## # 定义变量 = 获取Win32_CDROMDrive类,指定驱动器卷名称包含 SQL 字符串的驱动器,然后将驱动器的盘符过滤出来 $DevicePath = Get-WmiObject Win32_CDROMDrive | Where-Object -FilterScript {$_.VolumeName -like "*SQL*"} | ForEach-Object -Process {$_.Drive} Write-Output "; Microsoft SQL Server Configuration file ; ----------------------------------------------- SQL Server 数据库引擎模块配置 ----------------------------------------------- ;SQL Server 2012 Configuration File [OPTIONS] ; 指定安装程序的工作流,如 INSTALL、UNINSTALL 或 UPGRADE。这是必需的参数。 ACTION=""Install"" ; 禁止显示隐私声明。 使用此标记即表示同意隐私声明 此选项适用于 2016 ;SUPPRESSPRIVACYSTATEMENTNOTICE=""True"" ; 用于确认接受许可条款。 IACCEPTSQLSERVERLICENSETERMS=""True"" ; 参数可以在已本地化的操作系统上安装英文版的 SQL Server ;ENU=""False"" ; 用于控制用户界面行为的参数。完整UI为Normal、简化UI为AutoAdvance、为EnableUIOnServerCore则跳过Server Core安装程序。 ;UIMODE=""AutoAdvance"" ; 安装程序将不会显示任何用户界面,适合静默安装,备注:QUIET 和 QUIETSIMPLE 不能同时使用 QUIET=""True"" ; 只显示进度,而不交互,适合只看安装进度,备注:QUIET 和 QUIETSIMPLE 不能同时使用 ;QUIETSIMPLE=""True"" ; 指定 SQL Server 安装程序是否应发现和包括产品更新。 ;UpdateEnabled=""True"" UpdateEnabled=""True"" ; 指定要安装、卸载或升级的功能。顶级功能列表包括 SQL、AS、RS、IS、MDS 和工具。SQL 功能将安装数据库引擎、复制、全文和 Data Quality Services (DQS)服务器。 ; 工具功能将安装管理工具、联机丛书组件、SQL Server Data Tools 和其他共享组件。 ; -- 2012 安装功能,默认使用2012版安装功能 ;FEATURES=SQLENGINE,REPLICATION,FULLTEXT,DQ,AS,RS,RS_SHP,RS_SHPWFE,DQC,BIDS,CONN,IS,BC,SDK,BOL,SSMS,ADV_SSMS,SNAC_SDK ; -- 2014 安装功能 ;FEATURES=SQLENGINE,REPLICATION,FULLTEXT,DQ,AS,RS,RS_SHP,RS_SHPWFE,DQC,CONN,IS,BC,SDK,BOL,SSMS,ADV_SSMS,SNAC_SDK FEATURES=SQLENGINE,REPLICATION,FULLTEXT,DQ,AS,RS,RS_SHP,RS_SHPWFE,DQC,BIDS,CONN,IS,BC,SDK,BOL,SSMS,ADV_SSMS,SNAC_SDK ; 指定 SQL Server 安装程序将获取产品更新的位置。有效值为 MU (以便搜索产品更新)、有效文件夹路径以及 .\MyUpdates 或 UNC 共享目录之类的相对路径。默认情况下,SQL Server 安装程序将通过 Window Server Update Services 搜索 Microsoft Update 或 Windows Update 服务。 ;UpdateSource=""MU"" UpdateSource=""MU"" ; 显示命令行参数用法。 ;HELP=""False"" ; 指定应将详细的安装程序日志传送到控制台。 INDICATEPROGRESS=""True"" ; 指定安装程序应该安装到 WOW64 中。IA64 或 32 位系统不支持此命令行参数。 X86=""False"" ; 指定共享组件的安装根目录。在已安装共享组件后,此目录保持不变。 INSTALLSHAREDDIR=""$SQLDIR"" ; 指定 WOW64 共享组件的安装根目录。在已安装 WOW64 共享组件后,此目录保持不变。 INSTALLSHAREDWOWDIR=""$SQLDIRx86"" ; 指定默认实例或命名实例。MSSQLSERVER、SQLExpress则是Express版本的默认实例。在安装SQLServer数据库引擎(SQL)、Analysis Services (AS)或 Reporting Services (RS)时,此参数是必选的。 INSTANCENAME=""MSSQLSERVER"" ; 为您已指定的 SQL Server 功能指定实例 ID。SQL Server 目录结构、注册表结构和服务名称将包含 SQL Server 实例的实例 ID。 INSTANCEID=""MSSQLSERVER"" ; 指定可以收集 SQL Server 功能使用情况数据,并将数据发送到 Microsoft。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 SQMREPORTING=""False"" ; 指定是否可将错误报告给 Microsoft 以便改进以后的 SQL Server 版本。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 ERRORREPORTING=""False"" ; 指定安装目录。 INSTANCEDIR=""$SQLDIR"" ; 代理帐户名 和 密码 AGTSVCACCOUNT=""$User"" AGTSVCPASSWORD=""$Password"" ; 安装后自动启动服务。 AGTSVCSTARTUPTYPE=""Automatic"" ; Integration Services 的帐户: 域\用户或系统帐户 指定 Integration Services的帐户。 默认值: NT AUTHORITY \NETWORK SERVICE 和指定密码 ISSVCACCOUNT=""$User"" ISSVCPASSWORD=""$Password"" ; 在创建服务后控制服务启动类型设置。 ASSVCSTARTUPTYPE=""Automatic"" ; CM 程序块 TCP 通信端口 COMMFABRICPORT=""0"" ; 矩阵如何使用专用网络 COMMFABRICNETWORKLEVEL=""0"" ; 如何保护程序块间的通信 COMMFABRICENCRYPTION=""0"" ; CM 程序块使用的 TCP 端口 MATRIXCMBRICKCOMMPORT=""0"" ; SQL Server 服务的启动类型。 SQLSVCSTARTUPTYPE=""Automatic"" ; 启用 FILESTREAM 功能的级别(0、1、2 或 3)。 FILESTREAMLEVEL=""0"" ; 设置为 1 可为 SQL Server Express 启用 RANU。 ENABLERANU=""False"" ; 指定要用于数据库引擎的 Windows 排序规则或 SQL 排序规则。 SQLCOLLATION=""Chinese_PRC_CI_AS"" ; SQL Server 数据库引擎服务的帐户: 域\用户或系统帐户 和 密码 SQLSVCACCOUNT=""$User"" SQLSVCPASSWORD=""$Password"" ; 要设置为 SQL Server 系统管理员的 Windows 帐户。 SQLSYSADMINACCOUNTS= ""$env:USERNAME"" ""Administrators"" ""Administrator"" ; 默认值为 Windows 身份验证。使用 SQL 表示采用 (SA) 混合模式身份验证 和 指定 SQL Server SA 帐户的密码 SECURITYMODE=""SQL"" SAPWD=""$SAPasswd"" SQLSVCACCOUNT=""$User"" ; 将当前用户设置为 SQL Server 2012 Express 的数据库引擎系统管理员。对于 SQL Server Express 版本为 True。对于所有其他版本为 False ADDCURRENTUSERASSQLADMIN=""False"" ; 指定 0 禁用 TCP/IP 协议,指定 1 则启用该协议。 TCPENABLED=""1"" ; 指定 0 禁用 Named Pipes 协议,指定 1 则启用该协议。 NPENABLED=""0"" ; -- Browser 模块配置 -------------------------------------------------------- ; Browser 服务的启动类型。 BROWSERSVCSTARTUPTYPE=""Automatic"" ; -- SQl Server (Full Text) 模块配置------------------------------------------- ; Add description of input argument FTSVCACCOUNT FTSVCACCOUNT=""NT Service\MSSQLFDLauncher"" ; ----------------------------------------------- Analysis Services 模块配置 ----------------------------------------------- ; 运行 Analysis Services 服务所使用的帐户的名称 和 密码 ASSVCACCOUNT=""$User"" ASSVCPASSWORD=""$Password"" ; 在创建服务后控制服务启动类型设置。 ASSVCSTARTUPTYPE=""Automatic"" ; Analysis Services 要使用的排序规则。 ASCOLLATION=""Latin1_General_CI_AS"" ; Analysis Services 数据文件的位置。 ASDATADIR=""$SQLDIR\MSAS11.MSSQLSERVER\OLAP\Data"" ; Analysis Services 日志文件的位置。 ASLOGDIR=""$SQLDIR\MSAS11.MSSQLSERVER\OLAP\Log"" ; Analysis Services 备份文件的位置。 ASBACKUPDIR=""$SQLDIR\MSAS11.MSSQLSERVER\OLAP\Backup"" ; Analysis Services 临时文件的位置。 ASTEMPDIR=""$SQLDIR\MSAS11.MSSQLSERVER\OLAP\Temp"" ; Analysis Services 配置文件的位置。 ASCONFIGDIR=""$SQLDIR\MSAS11.MSSQLSERVER\OLAP\Config"" ; 指定是否允许 MSOLAP 访问接口在进程中运行。 ASPROVIDERMSOLAP=""1"" ; 指定需要设置的管理员帐户的列表。 ASSYSADMINACCOUNTS= ""$env:USERNAME"" ""Administrators"" ""Administrator"" ; 指定 Analysis Services 实例的服务器模式。有效值为 MULTIDIMENSIONAL 和 TABULAR。默认值为 MULTIDIMENSIONAL。 ASSERVERMODE=""MULTIDIMENSIONAL"" ; ----------------------------------------------- Reporting Services 模块配置 ------------------------------------------------ ; 指定报表服务器 NT 服务在执行时应当使用的帐户。如果省略此值或者值为空字符串,则将使用当前操作系统的默认内置帐户 和 密码 RSSVCACCOUNT=""$User"" RSSVCPASSWORD=""$Password"" ; 指定报表服务器 NT 服务的启动模式。 RSSVCSTARTUPTYPE=""Automatic"" ; 指定 Reporting Services的安装模式。 支持的值 SharePointFilesOnlyMode DefaultNativeMode FilesOnlyMode RSINSTALLMODE=""DefaultNativeMode"" " > "C:\ConfigurationFile.ini" Start-Process -FilePath "$DevicePath\setup.exe" -ArgumentList "/ConfigurationFile=`"C:\ConfigurationFile.ini`"" -RedirectStandardError "C:\SQLInstallErrorLog.log" -Wait -WindowStyle "Maximized" |
4.2.3
Install SQL Server using a configuration file (使用 [ConfigurationFile.ini] 配置文件静默安装 SQL Server 2012)
使用 ConfigurationFile.ini 静默应答文件安装 SQL Server 2012
1 2 3 |
Start-Process -FilePath "$DevicePath\setup.exe" -ArgumentList "/ConfigurationFile=`"C:\ConfigurationFile.ini`"" -RedirectStandardError "C:\SQLInstallErrorLog.log" -Wait -WindowStyle "Maximized" |