SQL Server 2008 R2 SP1升级到SQL Server 2012后的注意事项

1.      CLR Procedure

SqlMsmq.dll需要重新注册.并且目录需要改到.net Framework 4.0目录中

drop proc MSMQSend

drop assembly [Message];

 

CREATE assembly Message

AUTHORIZATION dbo

from 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlMsmq.dll'

with permission_set = unsafe

GO

 

CREATE PROCEDURE MSMQSend

@queuePath  nvarchar(200),

@messageLabel nvarchar(300),

@messageBody    nvarchar(MAX)

AS

EXTERNAL NAME Message.[SqlMsmq.SqlMsmq].SendMessage;

GO

 

 

2.      Service Broker

SSB 支持2012版本与2008版本的互相通讯.不受版本的影响.

两个instance的Service Broker可能出现的情况:

a)         当Cluster Nodes Move到另外一个节点以后,由于作为source 的conversation handle已经被重置,同时还未发送成功的消息(即还停留在sys.transmission_queue中的消息也会被清空),所以没有办法使用以前的conversation了.所以在升级以前需要做一些手工处理.

                       i.              在升级Current Node前,需要先防止再往Service Broker的发送队列中添加消息.

                     ii.              清理DialogPool中的缓存: Truncate table SSBInitiator.dbo.DialogPool(WmsDialogPool,WmsTarget.dbo.WmsDialogPool);

3.      Linked Server

Linked Server由于Provide的修改,原来使用的SQLNCLI10需要显示地指定分布式事务(无论是在查询或者更新的时候).所以在升级为2012以后,需要把linked Server重置配置一下.将Provide设置成SQLOLEDB.

4.      Agent Job

正在执行的Agent Job,由于cluster node的move,将会被cancel掉.此时,将不会发出agent job失败的mail.所以在升级完成以后,需要检查一下,当下是不是有什么agent job被cancel掉了.

5.      语法上的注意事项

如下语句,在本地发现了一个bug:

;WITH result AS(

   SELECT TOP(10) *

   FROM [dbo].[Product] AS p WITH(NOLOCK)

)

SELECT * FROM [result]

由于with result as是Execute中新增的子句,当cte使用这样的别名的时候,就会出现错误:

Msg 102, Level 15, State 1, Line 2

Incorrect syntax near 'result'.

转载于:https://www.cnblogs.com/laoyumi/archive/2013/02/05/2892759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
今天将由于需要就将我的SQL 2008升级SQL 2008 R2. 说到为什么要升级是因为,从另一台机器上备份了一个数据库,到我的机器上还原的时候提示“System.Data.SqlClient.Sqlerror:该数据库是在运行版本10.50.2500的服务器上备份的,该版本与此服务器(运行版本10.00.1600)不兼容。请在支持该备份的服务器上还原数据库,或者使用与此服务器兼容的备份。” 经过一番查证得知: 所谓的10.00.1600其实就是SQL 2008 10.50.1600其实就是SQL 2008 R2 10.50.2500其实就是SQL 2008 R2 SP1 这样一来基本就明了了。 我得升级自己的数据库SQL 2008 R2 SP1。 这篇文章就把我先升级SQL 2008 R2的过程详细记录下来,下一篇文章会介绍升级R2R2 SP1. 第一步:准备安装程序。 首先SQL 2008是安装好的 因此只需要下载SQL 2008 R2安装程序,下载地址如下:http://care.dlservice.microsoft.com/dl/download/1/E/6/1E626796-588A-495C-917B-321093FB98EB/2052/SQLFULL_x86_CHS.exe?lcid=2052&ptype=pcare 第二步:升级开始。SHOW TIME!!! 1、如果是从SQL2008升级SQL2008R2那么只能选择左侧“安装”对应右侧“从SQL SERVER 2000,SQL 2005或SQL 2008升级”这个选项来升级。 大家也注意到有一个“维护”但是这个选项是“从SQL 2008其他例如EXPRESS版本升级” 在此,要区分清楚。 2、安装程序支持规则检查。通过之后就继续下一步。 3、输入产品密钥,这个地方,你的密钥是什么版本的,装完之后你的数据库就是什么版本:像企业版,开发版等等等。 4、许可条款必须接受,不然人家不让用啊~~~ 5、安装程序支持文件。 6、程序支持规则安装完成后程序会自动检测安装的文件是否满足需求。 7、当你的服务器中只有一个实例的时候,你很难听到实例这个词,人们都直接叫他“数据库”了。只有在服务器上安装的实例数目超过两个的时候你才会听到“实例”二字比较多。 但是“实例”肯定是学习数据库过程中必须熟知的东东!!! 此处,选择你想要升级的实例。下一步就行了。 8、以前安装过的组件(component)都会出现在这里,不用管,以前有的,现在当然也要有,闭着眼睛点击“下一步”吧! 9、因为是升级安装,所以你以前的实例名字是什么,这里还是什么。继续“下一步”。 10、不废话,“下一步”。 11、是否发送错误报告,随便,下一步。 12、“下一步”。 13、点击“升级”按钮进行升级,中途等待大约20-30分钟就完成了。 升级过程中如图: 14、安装成功要求重新启动。重启吧没的说!! 15、重启完毕,启动SSMS(SQL SERVER MANAGEMENT STUDIO)在登陆界面上就会立马察觉到不同,SQL 2008变成了SQL 2008 R2. 16、连接上数据库引擎,在左侧导航栏就可以看到你数据库的版本了。这次变成了10.50.1600。如果还要升级到10.50.2500。那就继续安装一个升级补丁吧! 至此,10.00.1600升级10.50.1600已经成功完成。 总结一下: 10.00.1600就是SQL SERVER 2008 10.50.1600就是SQL SERVER 2008 R2 这篇博文里讲的是升级安装,如果你要进行全新安装,请按照如下操作: 一、卸载SQL SERVER 2008,一定要卸载,数据库不像其他常用的应用程序(那些程序会自动检测是否有旧版本,然后给你卸载并升级)。 另:对SQL来说,如果你安装好之后,再进行一次安装的话,实际上安装的是另外一个实例。 二、卸载完之后就安装就行了。执行的是安装---全新安装。 其他细节参考我的博文:SQL SERVER 2008安装(在实例、权限等方面,SQL 2008SQL 2008 R2是一样的)。
### 回答1: Microsoft SQL Server 2008 R2 SP1 Native Client 是 Microsoft SQL Server 数据库的一个组件,用于在客户端应用程序中进行连接和访问 SQL Server 数据库SQL Server 2008 R2 SP1 Native Client 提供了许多功能,包括对多线程应用程序的支持、Unicode 数据的处理、本地数据管理以及网络安全等。 通过使用 SQL Server 2008 R2 SP1 Native Client,开发人员可以轻松地创建和管理 SQL Server 数据库连接,并通过 TCP/IP 和命名管道等协议与 SQL Server 数据库进行通信。 SQL Server 2008 R2 SP1 Native Client 还提供了一套完整的数据库访问 API,开发人员可以使用这些 API 进行数据库的 CRUD(增、删、改、查)操作,以及对数据库对象的管理和控制。 此外,SQL Server 2008 R2 SP1 Native Client 还支持与其他 Microsoft 产品的集成,比如使用 ADO.NET 连接 SQL Server 数据库,或者与 Microsoft Office 应用程序集成以进行数据报表和数据分析等任务。 总之,Microsoft SQL Server 2008 R2 SP1 Native Client 是一个重要的组件,它为开发人员提供了连接和管理 SQL Server 数据库的功能,使得客户端应用程序能够高效地与 SQL Server 进行通信和交互。 ### 回答2: Microsoft SQL Server 2008 R2 SP1 Native Client是一个Microsoft SQL Server数据库的连接工具。它是一个由Microsoft提供的原生客户端驱动程序,用于在Windows操作系统上与SQL Server数据库进行通信。 这个Native Client包含了许多功能和特性。首先,它提供了稳定和高性能的连接到SQL Server数据库的能力。它使用高效的协议和通信机制,使得与数据库的交互速度更快,同时保证了数据的准确性和完整性。 同时,这个Native Client还提供了丰富的编程接口和工具,使开发人员能够更轻松地与数据库进行交互。它支持多种编程语言,如C++、C#和Visual Basic,开发人员可以使用这些语言来编写与数据库的连接和查询代码。 此外,这个Native Client还提供了一些高级功能,如数据加密和身份验证。它可以使用SSL/TLS等安全协议对数据进行加密,确保数据传输过程中的安全性。同时,它还支持多种身份验证方法,如Windows身份验证和SQL Server身份验证,确保只有经过授权的用户才能访问数据库。 总之,Microsoft SQL Server 2008 R2 SP1 Native Client是一个重要的工具,它为开发人员提供了连接和与SQL Server数据库进行交互的能力。它具有稳定性、高性能和安全性的特点,为开发人员提供了便利和灵活性。 ### 回答3: Microsoft SQL Server 2008 R2 SP1 Native Client是一个用于Microsoft SQL Server数据库系统的本地客户端软件。它提供了连接到SQL Server数据库并执行数据库操作的功能。 SQL Server Native Client是Microsoft开发的一种数据库驱动程序,用于与SQL Server数据库进行通信。它允许开发人员使用各种编程语言(如C++、C#和VB.NET)来连接到SQL Server数据库,并执行数据库查询和更新操作。 SQL Server 2008 R2 SP1SQL Server 2008的一个更新版本,使用了许多新功能和改进。它包括了许多性能和安全性方面的改进,并修复了一些在之前版本中发现的错误和问题。 SQL Server Native Client是与 SQL Server 2008 R2 SP1 兼容的客户端驱动程序,它支持将应用程序连接到数据库实例并执行查询和更新操作。通过使用 SQL Server Native Client,开发人员可以在不同的编程环境中编写统一的数据库访问代码,无论是使用C++、C#还是VB.NET编程语言。 总结来说,Microsoft SQL Server 2008 R2 SP1 Native Client是一种用于连接和与SQL Server 2008 R2 SP1数据库通信的客户端驱动程序。它提供了一种统一的数据库访问方法,并支持多种编程语言。这使得开发人员可以轻松地连接到SQL Server数据库并执行各种数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值