如何从SQL Server 2005升级到SQL Server 2012升级的主要目的:应用SQL Server 2012的Always On的技术,做读
如何从SQL Server 2005升级到SQL Server 2012 升级的主要目的: 应用SQL Server 2012的Always On的技术,做读写分离。
当前的环境: 1. 在大约3年前,从SQL Server 2000升级到SQL Server 2005。 2. 数据量在20G左右。 3. 里面有大量的存储过程。 4. 客户端程序访问数据库方式多样,到处直接拼写SQL的(复杂),有走ORM的。 5. 数据库服务器4核的8个CPU,32G的内存,性能问题日益突出。(优化SQL和索引是另外一条路,暂不讨论) 6. 存储是IBM的,RAID5
暂时的解决办法及接下去的思路: 1. 安装了SQL Server 2012,可以分离了一个SQL Server 2005的数据库,然后附件到SQL Server 2012上。 2. 大部分应用,尤其是通过ORM访问数据库的程序很正常。 3. 也有很多应用,直接拼凑SQL的,直接出错。 4. 安装了UAFS(SQL Server 2012升级助手),这个东西,貌似会把所有升级后会出问题的SQL以报表的形式整理。
SQL Server 2012已经发布,在升级之前我们需要做一些准备。首先必须验证软件和硬件需求;准备足够的资源,用于测试和实现新系统。但是,您可能忽略了一些重要方面--处理SQL Server数据的客户端应用程序。
这正是SQL Server 2012的Upgrade Assistant(升级助手)的作用。Upgrade Assistant提供了一种自动处理机制,用于测试从SQL Server 2005、2008或2008R2移植到SQL Server 2012的应用程序兼容性。使用Upgrade Assistant,可以检测升级过程中可能发生的功能和性能问题。Upgrade Assistant可以验证应用程序的SQL Server 2012 Transact-SQL查询,可用于检测和纠正应用程序源代码的兼容性问题。
Upgrade Assistant是由微软和Scalability Experts Inc.合作开发。Upgrade Assistant使用工作负载测试,对旧版本的SQL Server与SQL Server 2012的应用程序性能进行比较。如果按照产品文档所描述的步骤(同时考虑用户界面的结构),就可以确定可能影响应用程序的问题,如弃用的特性或Transact-SQL语法变化。
Upgrade Assistant测试过程
Upgrade Assistant可以指引您验证应用程序在SQL Server 2012的兼容性。在开始之前,要先创建用于运行示例工作负载的测试环境。理论上,可以在生产数据库上执行测试,但是这种方法存在一定的风险。因为这不仅会对运行的应用程序、后台数据库和网络本身的性能产生负面影响,而且如果出现命名冲突或事务中断,就有破坏应用程序和数据完整性的风险。
至少,您的测试环境应该包含一个数据库服务器,然后在其上安装当前版本的SQL Server(2005、2008或2008 R2)及Upgrade Assistant.服务器还必须支持SQL Server 2012升级。此外,您必须从所测试的应用程序连接数据库服务器。应用程序应该是一个测试系统,以便执行自动化过程,完全补全应用程序的特性。如果使用生产应用程序来执行测试,那么您很可能只能检查到较小比例的功能。
一旦建立了测试环境,您就可以使用SQL Server Upgrade Assistant,执行以下步骤: