经历了很长时间的 sqlserver2000升级到2005 的测试,并开始了部分升级工作(10几台server)。现在一些总结共享下:
升级前:(Pre-Update)
1 升级版本检查
升级前的版本 支持的升级路径
SQL Server 2000 Enterprise Edition SP3 或更高版本1 SQL Server 2005 Enterprise Edition 【 】
SQL Server 2000 Standard Edition SP3 或更高版本1 SQL Server 2005 Enterprise Edition 【 】
SQL Server 2005 Developer Edition 【 】sql server2000简介
SQL Server 2005 Standard Edition 【 】
2 安全注意事项
2.1增强物理安全性 将服务器置于专门的房间,未经授权的人员不得入内。 【 】
将数据库的宿主计算机置于受物理保护的场所,最好是上锁的机房,房中配备水灾检测和火灾检测监视系统或灭火系统。 【 】
将数据库安装在公司 Intranet 的安全区域中,任何时候都不要直接连接到 Internet。 【 】
定期备份所有数据,并将副本存储在远离工作现场的安全位置。 【 】
2.2 使用防火墙 在服务器和 Internet 之间放置防火墙。 【 】
将网络分成若干安全区域,区域之间用防火墙分隔。先阻塞所有通信流量,然后有选择地只接受所需的通信。 【 】
在多层环境中,使用多个防火墙创建屏蔽子网。 【 】
如果在 Windows 域内部安装服务器,请将内部防火墙配置为允许 Windows 身份验证。 【 】
在所有版本的 Windows 都是 Windows XP、Windows Server 2003 或更高版本的 Windows 域中,禁用 NTLM 身份验证。 . 【 】
如果应用程序使用分布式事务处理,可能必须要将防火墙配置为允许 Microsoft 分布式事务处理协调器 (MS DTC) 在不同的 MS DTC 实例之间以及在 MS DTC 和资源管理器(如 SQL Server)之间进行通信。 【 】
2.3 隔离服务 请尽可能不要在域控制器中安装 SQL Server。 【 】
在不同的 Windows 帐户下运行各自的 SQL Server 服务。 【 】
在多层环境中,在不同的计算机上运行 Web 逻辑和业务逻辑。 【 】
2.4 创建具有最低特权的服务帐户 【 】
2.5 禁用 NetBIOS 和服务器消息块 【 】
3 硬件和软件要求
3.1 硬件要求 监视器:SQL Server 图形工具需要 VGA
或更高分辨率:分辨率至少为 1,024x768 像素 【 】
定点设备:需要 Microsoft 鼠标或兼容定点设备 【 】
CD 或 DVD 驱动器:通过 CD 或 DVD 媒体进行安装时需要相应的 CD 或 DVD 驱动器 【 】
集硬件要求:在 32 位和 64 位平台上,支持 8 节点集安装(即,Microsoft Windows Server 2003 支持的最大节点数量)。 【 】
处理器类型:Pentium III 兼容处理器或更高速度的处理器 【 】
"处理器速度:最低要求:600 MHz
推荐使用:1 GHz 或更高" 【 】
磁盘空间:系统最大磁盘空间
"内存:最低要求:512 MB
推荐使用:1 GB 或更大
最大:操作系统最大内存" 【 】
3.2 软件要求 网络软件要求:64 位版本的 SQL Server 2005 的网络软件要求与 32 位版本的要求相同。Windows Server 2003、Windows XP 和 Windows 2000 都具有内置网络软件。 【 】
Internet 软件:所有 SQL Server 2005 的安装都需要 Microsoft Internet Explorer 6.0 SP1 或更高版本,因为 Microsoft 管理控制台 (MMC) 和 HTML 帮助需要它。只需 Internet Explorer 的最小安装即可满足要求,并且不要求 Internet Explorer 是默认浏览器 【 】
Internet 信息服务 (IIS):安装 Microsoft SQL Server 2005 Reporting Services (SSRS) 需要 IIS 5.0 或更高版本 【 】
ASP.NET 2.0:Reporting Services 需要 ASP.NET 2.0。安装 Reporting Services 时,如果尚未启用 ASP.NET,则 SQL Server 安装程序将启用它。 【 】
4 将现有的 SQL Server 系统数据库(master、model、msdb 和 tempdb)配置为自动增长,并确保它们具有足够的硬盘空间 【 】
5 将 SQL Server 2000 数据库引擎实例升级到 SQL Server 2005 时,将保留 max worker threads 的配置值。但是,建议在升级前将 max worker threads 值更改为 0,以允许数据库引擎计算最佳线程数(instance->right manu->prcessor lab) 【 】
6 确保所有数据库服务器的 master 数据库中都有登录信息。这对还原数据库很重要,因为 master 数据库中有系统登录信息 【 】
7 禁用所有启动存储过程,因为升级过程在升级 SQL Server 实例时将停止然后再启动服务。在启动时处理的存储过程可能会阻塞升级过程 【 】
8 停止复制并确保复制日志是空的 【 】
9 退出所有应用程序,包括所有依赖 SQL Server 的服务。如果有本地应用程序连接到正在升级的实例,则升
级可能会失败。 【 】
10 备份要升级实例中的所有 SQL Server 数据库文件,以便可以完全还原这些文件。 【 】
11 制定出数据库回滚计划 【 】
12 删除事务复制相关的元数据表:Msrpl_commands and Msrpl_transactions 合并复制要删除:Msmerge_contents and Msmerge_genhistory 【 】
13 为升级创建复制脚本,并需要进行相关校验和整理,以便进行重新创建复制关系。 【 】
14 确保所有数据库都是可读写的,要是只读数据库可先设置为可读写模式,待升级完成后再改为只读模式。 【 】
15 使用升级顾问来准备升级,并按升级顾问的分析结果进行相关升级的工作。 【 】
执行升级:(Update Execution)
1 断开用户连接 【 】
2 停止复制 【 】
3 禁用所有启动存储过程 【 】
4 确定升级的实例、数据库 【 】
5 针对每个组件选择升级和迁移工具 【 】
6 通过Setup日志监视升级进展和过程 【 】
7 是否完成配置复制脚本 【 】
8 是否完成作业脚本复制 【 】
9 是否完成维护任务脚本配置 【 】
10 是否完成对DTS包的迁移 【 】
升级后:(Post-Update)
1 参照升级顾问(Upgrade Advisor)报告完成续操作 【 】
2 更新表的统计信息(Update Statistic) 【 】
3 是否需要进行全文索引填充(Full-Text Population)操作 【 】
4 是否需要改变数据库的隔离级别 【 】
5 是否需要重新配置日志的传送 【 】
6 验证代理jobs 和维护任务 【 】
7 验证复制过程的正确性 【 】
8 连接性测试 【 】
注册服务器 【 】
查看所有数据库的表、视图 【 】
连接客户端程序测试(可能需要修改连接字符串) 【 】
9 安全性检测 【 】
服务帐户设置 【 】
SQL Server 配置 【 】
验证服务帐户的安全性 【 】
检验身份验证模式 【 】
是否使用强密码 【
】
10 T-SQL 查询检查 【 】
存储过程(不会自动更新) 【 】
不支持UPDATETEXT等 【 】
新的关键字(PIVOT,UNPIVOT,REVERT,TABLESAMPLE等) 【 】
集升级和大内存使用
sql server 2005 集升级步骤
步骤 说 明
1 停止复制
2 将所有数据库的数据文件和日志文件改成自增长的方式
3 选中所有数据库的自动更新统计信息选项
4 统计并记录现有集数据库的各个服务的启动账号,同时在域管理器新建管理组(sqlvs group)供升级使用
5 在所有集节点上安装DotNet2.0 组件
6 在集管理器中将所有组的控制权移动到同一节点上,将Sql Server 2005 安装文件拷贝到该集节点或将安装光盘放入该节点的光驱
7 点击文件开始安装
8 安装过程中请注意: 1. 集安装项的选择;2. 各个服务的启动账号的配置
9 安装完成后,检查数据库的工作状态,如无异常,请将数据库的兼容级别由原来的80 改成90,以便更好使用sql server 2005 新的功能
10 如有需要,请继续在其它集节点上安装Sql Server 2005 客户端工具
11 检查复制状态,如有异常,请参考注意事项5,6,7进行相关的修改。
为sql server 2005集启用AWE(使用大内存)
步骤 说 明
1 确保操作系统支持大内存要求,即:在系统启动参数增加 /PAE 参数。(所有集节点)
2 启用“锁定内存中的页”选项(所有集节点)
1. 在“开始”菜单上,单击“运行”。在“打开”框中,键入 gpedit.msc。
将打开“组策略”对话框。
2. 在“组策略”控制台上,展开“计算机配置”,再展开“Windows 设置”。
3. 展开“安全设置”,再展开“本地策略”。
4. 选择“用户权利指派”文件夹。
细节窗格中随即显示出策略。
5. 在该窗格中,双击“锁定内存中的页”。
6. 在“本地安全策略设置”对话框中,单击“添加”按钮。
7. 在“选择用户或组”对话框中,添加有权运行 的帐户。
3 激活 AWE
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
4 配置内存:
内存配置说明:SQL Server 2005 在任何 Windows Server 2003 操作系统版本上运行时,都会动态地分配 AWE 映射内存。换言之,缓冲池可以动态管理 AWE 映射内存(在 min server memory 和 max server memory 选项的约束内),以按照总体系统要求平衡 SQL Se
rver 内存的使用
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
集要求:如果使用的是 SQL Server 2005 故障转移集和 AWE 内存,则必须确保所有实例的 max server memory 设置的总和小于故障转移集中任一服务器上可用的最小物理内存。如果故障转移节点的物理内存比原节点上的内存小,则 SQL Server 2005 实例可能无法启动,或者可能在内存比在原节点上的内存小的情况下启动
注意事项
1 升级远程分发服务器db-dist后,要重新更新admininstrative link password,且发布服务器上需重新配置distributor 的administrative link password Microsoft SQL Server Management Studio->ServerName->Replication->right click -> distributor properties->Publishers->administrative link password->update password->click ok or click apply
2 升级后,需要检查sql 服务的启动帐号是否为.\administrator start manu->all program->Microsoft sql server 2005 ->configuration tools->sql server configuration manager
3 升级集时,一定要保证两个节点安装好 2.0
4 升级完成后,要将各数据库的兼容级别由原来的80 改成 90 Microsoft SQL Server Management Studio->ServerName->Database->database name ,right manu->properties->options->Campatiblity level->downframe list,select: sql sever 2005 (90)-> Click buton ok
5 如果要升级的服务器的 Sqlserver服务 的两个参数(@@servername 和 serverproperty('servername'))不一致时,可能会在升级过程中的出现错误 Invalid column 'Publisher_Type'. 原因分析:表msdb.dbo.MSDistPublishers 缺少字段Publisher_Type, 该表2000版本中无此列,而2005的版本增加了该列。在升级时更新系统存储过程信息时会使用到该表的列。因而会出错(主要针对复制数据库)。具体该表为何没有被升级,原因不详,待查。
解决方案:
1. 更新表msdb.dbo.MSDistPublishers,增加字段Publisher_Type,表结构详见帮助。
2. 重新更新Local 服务器名称 a. Exec sp_dropserver @server='now
servername' b. Exec sp_addserver @server='new servername',@local='local' c. 重新启动 发布服务器数据库服务
3. 重新启动 分发服务器的代理服务。
6 配置log shipping时,如果@@servername 和 serverproperty('servername') 值不同,请使用 sp_dropserver sp_addserver 进行修改,再进行配置log shipping, 配置完成后再把servername 恢复到以前的状态,此时log shipping 依然能正常工作。 更改servername 后,一定要重新启动sql server service.才能生效。
7
如果要升级的服务器的 Sqlserver服务 的两个参数(@@servername 和 serverproperty('servername'))不一致时,升级后集不能新建发布,而原来的复制关系工作正常。 解决方案:
1.修改要新建发布的数据库的系统表dbo.sysreplservers 的srvname 列值,使其与@@servername 值一致, 修改前备份,修改后重新服务。
2. 在新建发布时在Snapshot Agent Security界面时,注意
A. 选择Run under the following Windows account
请输入: db-dist-t5\administrator , password, Confirm Password
B. 在配置Connect to the Publisher选项 请选择Using the following SQL Server login
再输入sa 用户 及其密码。
3. 在新建订阅时,在Distributor Agent Security 界面,配置同2步。
4.如果以上步骤不成功,请执行以下步骤后在重新建立发布和订阅:
sp_configure 'remote proc trans',0
reconfigure with override
升级后CPU利用率明显上涨,各个server的cpu利用率都有一倍多的增长,如从15%左右升级到30-40%,这对于有严格loadtime要求的系统是不允许的。目前正在着手解决。
据微软技术支持讲:2005对邦定变量的要求比2000高很多,对于程序中有in list的查询应该尝试用临时表或者表变量等手段使之使用邦定变量。结果待续。。。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论