日期:2014-05-17  浏览次数:20914 次

如何从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以报表的形式整理。

我的问题就是:这个东西,到底如何用呢?
还有没有其他啥思路或者办法?


------解决方案--------------------
升级有两种方式,一种是脱机一种是联机,联机升级是直接用安装文件升级,安装文件有升级选项的,脱机就是你那种。如果条件允许,建议使用脱机方式
------解决方案--------------------
可以把原有的数据库做个备份,先用备份在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