MsSQL2008R2安装基础流程笔记

2022-09-29 16:08:42 浏览数 (1)

[TOC]

0x00 前言简述

(1) 硬件和软件要求

SQL Server 2008 R2的硬件和软件要求:

  • 系统要求:建议在Windows Server 2008或Windows 7及以上在Server 2012 R2版本以下
  • 磁盘分区:建议采用NTFS文件格式
  • 开发工具包:.NET Framework 3.5
  • 系统位数: 建议X64
  • 内存: 最小:1 GB / 推荐 4 GB或更多 (此处以标准版64位为例最大支持64 GB)

SQL Server 2008 R2的核心服务器版本说明:

代码语言:javascript复制
* SQL Server 2008 R2数据中心(64位)IA64
* SQL Server 2008 R2企业版(64位)IA64
* SQL Server 2008 R2数据中心(64位)x64
* SQL Server 2008 R2 Enterprise(64位)x64
* SQL Server 2008 R2标准版(64位)x64
* SQL Server 2008 R2数据中心(32位)
* SQL Server 2008 R2 Enterprise(32位)
* SQL Server 2008 R2标准版(32位)

Microsoft SQL Server 2008 R2 序列号试用密钥:

代码语言:javascript复制
* 开发版32位:MC46H-JQR3C-2JRHY-XYRKY-QWPVM
* 开发版64位:FTMGC-B2J97-PJ4QG-V84YB-MTXX8
* 工组版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6Q
* WEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM
* 数据中心版32位:PTTFM-X467G-P7RH2-3Q6CG-4DMYB
* 数据中心版64位:DDT3B-8W62X-P9JD6-8MX7M-HWK38
* 企业版32位:R88PF-GMCFT-KM2KR-4R7GB-43K4B
* 企业版64位:GYF3T-H2V88-GRPPH-HWRJP-QRTYB 
* 标准版32位:CXTFT-74V4Y-9D48T-2DMFW-TX7CY
* 标准版64位:B68Q6-KK2R7-89WGB-6Q9KR-QHFDW
* Enterprise : JD8Y6-HQG69-P9H84-XDTPG-34MBB

Tips: 操作系统安装的SQL Server版本的最低要求((注意根据实际操作 Server 2019 / 2016 是支持 SQL Server 2008 R2))

WeiyiGeek.SQL Server版本的最低要求

参考地址: https://docs.microsoft.com/en-us/troubleshoot/sql/general/sql-server-windows-8-later-versions

0x01 SQL Server 2008 R2 安装

(1) 基于 Server 2019 安装

环境说明:

代码语言:javascript复制
系统镜像:cn_windows_server_2019_updated_march_2019_x64_dvd_c1ffb46c.iso
数据库版本: sqlserver2008r2_enterprise_x86_x64.iso
操作系统配置:
  # OS 名称:     Microsoft Windows Server 2019 Standard
  # OS 版本:     10.0.17763 暂缺 Build 17763
  # 系统类型:    x64-based PC
  # 处理器:      安装了 8 个处理器。
  #             [01~08]: Intel64 Family 6 Model 85 Stepping 7 GenuineIntel ~2095 Mhz
  # 物理内存总量:     16,383 MB
  # 可用的物理内存:   13,209 MB
  # 虚拟内存: 最大值: 18,815 MB
  # 虚拟内存: 可用:   15,785 MB
  # 虚拟内存: 使用中: 3,030 MB
  # 页面文件位置:     C:pagefile.sys

操作流程:

  • Step 1.装载sqlserver2008r2_enterprise_x86_x64镜像到系统并打开Setup.exe应用程序;
  • Step 2.点击全新安装或者向现有的安装添加新功能-> 然后将会对安装程序进行依赖查询满足规则后方可继续;

WeiyiGeek.依赖验证

  • Step 3.输入试用的产品密钥->此次输入的是企业版64位:GYF3T-H2V88-GRPPH-HWRJP-QRTYB-> 点击下一步许可条款 -> 并且再次进行安装程序支持规则检测;

WeiyiGeek.安装许可

  • Step 4.在功能设置角色中选择SQL Server 功能安装 -> 实例配置(一般默认实例名称 MSSQLSERVER) -> 建议将实例目录放在非根目录之下 D:Program FilesMicrosoft SQL Server;

WeiyiGeek.功能安装和实例配置

  • Step 5.之后检测磁盘空间要求显示出各个磁盘以及 MsSQL 安装所占大小 -> 设置服务账户(建议使用单独用户而是是SYSTEM用户) -> 排序规则 (Chinese_PRC_CI_AS-根据具体而定)

WeiyiGeek.服务账户&排序规则

Tips 补充: SQL Server中的每个服务代表一个进程或一组进程,每个进程需要有访问SQL Server相关文件(如.mdf、.ndf 和 .ldf 等文件)或注册表或者SQL Server安装目录的权限; Server的服务账户,用以启动并获取需要访问操作系统文件的权限;

1.SQL Server 2008中服务帐户类型分为不具有 Windows 管理员权限的“内置系统帐户”和“域用户帐户”;

1.1 “内置系统帐户”又细分成三类“本地系统帐户”、“网络服务帐户”以及“本地服务帐户”。

代码语言:javascript复制
- Local System : 即实际名称为"NT AUTHORITYSYSTEM", 是一个`具有高特权的内置帐户`, 该账号没有用户名和密码之类的凭证,如果机器处于域中时则运行在 Local System 账户下的服务还可以使用机器账户在同一个森林(Tree)中得到其他机器的自动认证,而且它能够使用空会话 (null session) 去访问网络资源;

- Network Service : 实际名称为"NT AUTHORITYNETWORK SERVICE", 它比 Users 组的成员拥有更多的对资源和对象的访问权限, 它可以使用计算机帐户的凭据访问网络资源;

- Local  Service : 实际名称为"NT AUTHORITYLOCAL SERVICE", 账户是预设的拥有最小权限的本地账户与 Users 组的成员具有相同级别的资源和对象访问权限,该账户下的进程只能以没有凭据的空会话形式访问的网络资源。`如果有个别服务或进程的安全受到威胁,则此有限访问权限有助于保护系统的安全`。

1.2 域用户帐户是一个使用 Windows 身份验证的域用户帐户以设置并连接到 SQL Server (建议使用最低权限的域用户帐户),因为 SQL Server 服务不需要管理员帐户特权;

代码语言:javascript复制
如果服务必须与网络服务进行交互,则访问类似于文件共享的域资源;
如果服务使用到运行 SQL Server 的其他计算机的链接服务器连接,则可以使用具有最低特权的域帐户。

总结:

代码语言:javascript复制
NT AuthoritySystem : 系统内置账号,对本地系统拥有完全控制权限;在工作组模式下,该账户不能网络资源;通常用于服务的运行,不需要密码。
NT AuthorityNetwork Service : 系统内置账号,比 SYSTEM 账户权限要小,可以访问有限的本地系统资源;在工作组模式下,该账户能够以计算机的凭据来访问网络资源,默认为远程服务器的 EVERYONE 和 AUTH

Step 6.进行数据库账号设置 -> 选择混合模式认证 -> 设置数据目录存放路径

代码语言:javascript复制
# Sa 用户密码设置
sa weiyigeek.pass#word

# 登陆用户管理员添加 
PS C:UsersAdministrator> net user mssqladmin weiyigeekpassword /add
命令成功完成。

WeiyiGeek.管理员账户与数据根目录

Step 7.再次进行安装配置规则检查 -> 安装配置文件路径 C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20210119_223329ConfigurationFile.ini 内容如下:

代码语言:javascript复制
;SQLSERVER2008 Configuration File
[SQLSERVER2008]

; 为您已指定的 SQL Server 功能指定实例 ID。SQL Server 目录结构、注册表结构和服务名称将反映 SQL Server 实例的实例 ID。 

INSTANCEID="MSSQLSERVER"

; 指定安装程序的工作流,如 INSTALL、UNINSTALL 或 UPGRADE。这是必需的参数。 

ACTION="Install"

; 指定要安装、卸载或升级的功能。顶级功能列表包括 SQL、AS、RS、IS 和工具。SQL 功能将安装数据库引擎、复制和全文。工具功能将安装管理工具、联机丛书、Business Intelligence Development Studio 和其他共享组件。 

FEATURES=SQLENGINE,REPLICATION,FULLTEXT,AS,CONN,BC,SSMS,ADV_SSMS

; 显示命令行参数用法 

HELP="False"

; 指定应将详细的安装程序日志传送到控制台。 

INDICATEPROGRESS="False"

; 安装程序将不会显示任何用户界面。 

QUIET="False"

; 安装程序将只显示进度,不需要任何用户交互。 

QUIETSIMPLE="False"

; 指定安装程序应该安装到 WOW64 中。IA64 或 32 位系统不支持此命令行参数。 

X86="False"

; 尚未定义命令行参数 ENU 的详细帮助。 

ENU="False"

; 用于控制用户界面行为的参数。有效值对于完整 UI 为 Normal,对于简化的 UI 为 AutoAdvance。 

UIMODE="Normal"

; 指定是否可将错误报告给 Microsoft 以便改进以后的 SQL Server 版本。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 

ERRORREPORTING="False"

; 指定本机共享组件的安装根目录。 

INSTALLSHAREDDIR="D:Program FilesMicrosoft SQL Server"

; 指定 WOW64 共享组件的安装根目录。 

INSTALLSHAREDWOWDIR="D:Program Files (x86)Microsoft SQL Server"

; 指定安装目录。 

INSTANCEDIR="D:Program FilesMicrosoft SQL Server"

; 指定可以收集 SQL Server 功能使用情况数据,并将数据发送到 Microsoft。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 

SQMREPORTING="False"

; 指定默认实例或命名实例。MSSQLSERVER 是非 Express 版本的默认实例,SQLExpress 则是 Express 版本的默认实例。在安装 SQL Server 数据库引擎(SQL)、Analysis Services (AS)或 Reporting Services (RS)时,此参数是必需的。 

INSTANCENAME="MSSQLSERVER"

; 代理帐户名 

AGTSVCACCOUNT="NT AUTHORITYSYSTEM"

; 安装后自动启动服务。  

AGTSVCSTARTUPTYPE="Manual"

; Integration Services 的启动类型。 

ISSVCSTARTUPTYPE="Automatic"

; Integration Services 的帐户: 域用户或系统帐户。 

ISSVCACCOUNT="NT AUTHORITYNetworkService"

; 运行 Analysis Services 服务所使用的帐户的名称。 

ASSVCACCOUNT="NT AUTHORITYSYSTEM"

; 在创建服务后控制服务启动类型设置。 

ASSVCSTARTUPTYPE="Automatic"

; Analysis Services 要使用的排序规则。 

ASCOLLATION="Chinese_PRC_CI_AS"

; Analysis Services 数据文件的位置。 

ASDATADIR="D:Program FilesMicrosoft SQL ServerMSAS10_50.MSSQLSERVEROLAPData"

; Analysis Services 日志文件的位置。 

ASLOGDIR="D:Program FilesMicrosoft SQL ServerMSAS10_50.MSSQLSERVEROLAPLog"

; Analysis Services 备份文件的位置。 

ASBACKUPDIR="D:Program FilesMicrosoft SQL ServerMSAS10_50.MSSQLSERVEROLAPBackup"

; Analysis Services 临时文件的位置。 

ASTEMPDIR="D:Program FilesMicrosoft SQL ServerMSAS10_50.MSSQLSERVEROLAPTemp"

; Analysis Services 配置文件的位置。 

ASCONFIGDIR="D:Program FilesMicrosoft SQL ServerMSAS10_50.MSSQLSERVEROLAPConfig"

; 指定是否允许 MSOLAP 访问接口在进程中运行。 

ASPROVIDERMSOLAP="1"

; 指定需要设置的管理员帐户的列表。 

ASSYSADMINACCOUNTS="WeiyiGeekadmin"

; 用于连接 SharePoint 管理中心 Web 应用程序的端口号。 

FARMADMINPORT="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="NT AUTHORITYSYSTEM"

; 要设置为 SQL Server 系统管理员的 Windows 帐户。 

SQLSYSADMINACCOUNTS="WeiyiGeekadmin" "mssqladmin"

; 默认值为 Windows 身份验证。使用 "SQL" 表示采用混合模式身份验证。 

SECURITYMODE="SQL"

; 将当前用户设置为 SQL Server 2008 R2 Express 的数据库引擎系统管理员。 

ADDCURRENTUSERASSQLADMIN="False"

; 指定 0 禁用 TCP/IP 协议,指定 1 则启用该协议。 

TCPENABLED="1"

; 指定 0 禁用 Named Pipes 协议,指定 1 则启用该协议。 

NPENABLED="0"

; Browser 服务的启动类型。 

BROWSERSVCSTARTUPTYPE="Disabled"

; 指定报表服务器 NT 服务的启动模式。
; 手动 - 在手动模式(默认值)下启动服务。
; 自动 - 在自动模式下启动服务。
; 已禁用 - 服务处于禁用状态 

RSSVCSTARTUPTYPE="Automatic"

; 指定报表服务器的安装模式。
; 默认值: “FilesOnly”  

RSINSTALLMODE="FilesOnlyMode"

; 添加输入参数 FTSVCACCOUNT 的描述 

FTSVCACCOUNT="NT AUTHORITYLOCAL SERVICE"

Step 8.等待6~10分钟 MsSQL Server 就可以安装成功;

WeiyiGeek.

  • Step 9.安装成功它会自动启动数据库相关服务 -> 但是默认的SQL Server代理服务需要手动进行启动(这样我们的备份任务才能正常执行) -> 请注意以下服务名称的描述作用;

WeiyiGeek.

  • Step 10.最后采用 Microsoft SQL Server Management Studio 进行对SQL Server进行管理
代码语言:javascript复制
-- (1)SQL Server 相关信息
select SERVERPROPERTY(N'edition') as Edition --数据版本,如企业版、开发版等
,SERVERPROPERTY(N'collation') as Collation --数据库字符集
,SERVERPROPERTY(N'servername') as ServerName --服务名
,@@VERSION as Version --数据库版本号
,@@LANGUAGE AS Language --数据库使用的语言,如us_english等
-- Edition	Collation	ServerName	Version	Language
-- Enterprise Edition (64-bit)	Chinese_PRC_CI_AS	WIN-KRB8LBJ4LGH	
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr  2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
-- 	简体中文

-- (2)SQL Server 默认的排序规则和编码
SELECT COLLATIONPROPERTY( 'chinese_prc_ci_as', 'codepage' );
-- 查看代码页
-- 936 代表 gbk 
-- 20936 代表 gb2312

WeiyiGeek.SQL Server 相关信息

  • Step 11.至此 在 Server 2019 操作系统上安装 SQL Server 2008 R2 完美结束;

0x02 F&Q 入坑出坑

问题1:在Server 2019中安装.NET Framework 3.5提示error 0x8024402C

解决方式:

  • 1.挂载安装系统镜像(是安装该系统对应的镜像文件)。
  • 2.在Server 2019中安装.NET Framework 3.5 功能
  • 3.点击下面的“指定备用源路径”,弹出对话框输入如图所示。
  • 4.在Server 2019中安装.NET Framework 3.5 功能再进行安装,便可以安装成功了。

WeiyiGeek.NET 3.5-0x8024402C

问题2.viewInfo (Microsoft.SqlServer.Management.SqlStudio.Expl

环境说明: 服务器环境:windows server 2008(64Bit)/ 数据库版本:SQL server 2008 R2 错误信息: 错误提示值不能为空参数名: viewInfo (Microsoft.SqlServer.Management.SqlStudio.Expl 如下图:

错误图示

问题解决: 在路径:C:Users你的用户名AppDataLocalTemp”文件夹下建好命名为 2 的文件夹,如果已经有 2 则看清楚是否是文件而不是文件夹,删掉文件改为文件夹。

代码语言:javascript复制
start %temp%
mkdir %temp%/2

问题3.当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘tb_MyInvoices’ 中的标识列插入显式值

描述: 默认情况下 IDENTITY_INSER 就是 off, 该情况下你写 insert 语句时 identity 栏位,不要写值系统会自动帮你写入这样防止id重复。 举例说明:

代码语言:javascript复制
create table tablename(id int identity(1,1),dt datetime,pay int)
go
insert into tablename(dt,pay)values('2012-4-12',100) --不能向 id栏位写值,系统会自动写
go
insert into tablename(id,dt,pay)values(100,'2012-4-14',200) --如果像这样写了,就会报错
go

解决办法:

代码语言:javascript复制
# IDENTITY_INSERT 设置为 on 利用系统自动写入的功能保证不重复
set IDENTITY_INSERT tablename on 
insert into tablename(id,dt,pay)values(100,'2012-4-14',200) --这样就不会报错了。

0 人点赞