我所在的公司决定把财务数据库从SQL Server 2008升级到SQL Server 2014。今年五月份,微软发布了SQL Server 2014 Service Pack 1(SP1)。这样,给了我们极好的机会去升级这个任务关键性数据库,并充分利用SQL Server 2014 SP1的新功能。
升级SQL Server的方法有三:备份与恢复,分离(detach)与附加(attach),或只复制向导(copy only wizard)。在这次技巧分享中,我将使用备份与恢复,演示如何进行SQL Server升级。
如果数据库管理员想把一个单用户数据库从SQL Server 2008或SQL Server 2008 R2升级到SQL Server 2014 SP1, 数据库备份与恢复可能是最轻松的方式之一。在以下演示中,我将把一个财务数据库进行备份和恢复,从SQL Server 2008 SP4升级到SQL Server 2014 SP1。以下是主要步骤。
1、执行完整备份和事务日志备份
使用SQL Server Management Studio(SSMS)连接到SQL Server 2008实例并执行图1中的T-SQL脚本,将财务用户数据库进行完整备份和事务日志备份。
图1. 执行完整备份和事务日志备份
2、移动数据库文件
成功备份后,手动将完整备份和事务日志备份文件复制到SQL Server2014 SP1实例。
3、在SQL Server2014实例还原数据库
使用SSMS,连接到SQL Server 2014 SP1实例,执行图2中的T-SQL命令来恢复财务数据库到SQL Server 2014 SP1实例。首先,使用NORECOVERY语句来恢复完整备份;然后,使用RECOVERY语句来恢复事务日志备份文件。
图2. 恢复完成备份和事务备份
4、转移用户登录
下一步骤是转移或创建登录到新的SQL Server2014 SP1实例,连接最终用户。验证是否可以登录访问财务数据库,这样,一旦数据库上线,所有用户都可以成功连接到数据库。
5、更改数据库兼容级别
用户数据库已经成功升级到SQL Server 2014 SP1实例,兼容级别需要更改为120。你可以通过执行图3的T-SQL代码实现。
图3. 更改兼容级别
数据库升级后,执行图4的DBCC UPDATEUSAGE命令。如果页面和行数存在不正确的地方,该命令将在目录视图下报告并进行更正。
图4. DBCC UPDATEUSAGE命令
接下来,执行图5的DBCC CHECKDB命令,验证用户数据库的逻辑和物理完整性。
图5. DBCC CHECKDB命令
6、重建所有索引
一旦数据库升级成功,在数据库之前上线,重建所有索引。
7、更新应用程序配置文件
更新所有应用程序配置文件,以反映新的SQL Server名称。
8、执行端到端的测试
在将此环境部署到应用程序的用户之前,进行端到端的测试。