服务器SQl2000和SQl2005版本不同带来一系列问题解决方案

简介:

最近实施一个中型的门户网站,在项目编码已经结束测试完成后,发布服务器上,因为以前用到只有SQl2000,当前基于开发的SQL2005+VS2008,环境是.NET 3.5版本,这个时候就出现许多问题.一一描述并提供解决方案:

A:版本问题—这是你第一个必须面对的并且是核心问题:
因为在实施中用到Row_Number()函数进行简单的数据分页,很明显只有SQl2005以上版本才支持,首先让我们来看看数据库版本的具体划分:
版本获得方法如下:

1--获得当前数据库版本方法:
2A:Select @@Version —返回当前数据版本号(微软定义)
3--完整获得版本信息
4B:SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
5上述获得完整版本信息:
6
7(1)产品版本编号('productversion')(例如:9.00.1399.06 或者8.00.534)
8(2)产品级别('productlevel')(例如:RTM正式版)
9(3)版本('edition')(例如:Enterprise Edition-企业版)

SQL2000版本号查询结果:

SQl2005版本号查询结果:

在微软官方上看到版本区分如下:SQL2000和SQL2005版本号对比如下:

安装SQL2005时如果具有引导程序问题不大,如果压缩包中只是Server和Tools文件夹时:需要注意安装顺序非常重要,应该首先安装Tools目录下然后在安装Server目录服务器引擎,如果只安装Tools客户端工具,没有安装Server目录下数据引擎情况下,会导致sql2005默认链接的是SQL2000数据引擎也就是8.0版本,导致Row—Nummber等函数不支持的现象发生.问题关键是安装SQL 9.0版本数据库引擎既Server目录下,并重新生成一个新的数据库实例而非默认实例:
这样做主要目的是在SQlClint容易区分不同版本下不同的数据库实例,链接时取新建立的数据库实例引擎,执行T—SQL语句正确执行,查看版本是9.0,这点是很有必要,如果SQL语句出现不可预料的错误,数据引擎版本问题是很隐蔽而关键的问题,这也是我不断在前面不断区分和识别数据版本的用心所在。
安装完SQL2005后,开始准备用SQL2000客户端工具连接SQL2005,结果报告不能用SQL2000客户端工具连接,只能用SQL2005客户端工具连接,后证明SQL2005客户端工具可以同时连接SQL2000和SQL2005。

B:多版本下链接数据库
当数据库建立后另外一个问题就是多版本下链接数据库:其实在同一台机器上同时安装多个版本的数据包括orcal理论上都是可以的,

1--默认链接字符串
2public static readonly string connString = "Data Source=.;Initial Catalog=IssueDB;Uid=sa;Pwd=chen";//可以通过配置文件读取,请查MSDN

如上链接会报错的,因为先安装的SQL2000后装上SQL2005,DataSource通过.默认来指向的是SQL2000数据库引擎,回报出无法找到IssueDB这个数据库对象,同样默认数据库通信端口1433也被SQL2000占用,后来通过官方资料证明:SQL2000服务器用的端口始终是1433端口,而SQL2005使用的是动态端口,
在多版本下建立SQl2005一个新的数据库实例后,鉴于项目需要建议开辟新的通信端口,链接字符窜写法如下:

1--开辟一个新端口(当然在使用前应测试该端口是否被占用)连接字符窜
2public static readonly string connString = "Data Source=5A40BDACC26449F\\SQLEXPRESS:5048;Initial Catalog=IssueDB;Integrated Security=True";
3
4//5048为新开辟端口

SQl2005配置步骤如下:
(1):在 "程序—>配置工具—>SQlServer配置管理器"运行起来:选择SQl Native Client配置下客户端协议 如图显示:

(2)选中Tcp/ip选择属性配置 截图如下:

修改完成后需要重新关闭再次启动SQlserver服务配置才有效,通过程序连接数据库SQl2005,链接正常.
 


本文转自chenkaiunion 51CTO博客,原文链接:http://blog.51cto.com/chenkai/765547


相关文章
|
1月前
|
存储 数据安全/隐私保护 索引
Windows Server 各版本搭建文件服务器实现共享文件(03~19)
Windows Server 各版本搭建文件服务器实现共享文件(03~19)
167 1
|
3月前
|
SQL 流计算
Flink CDC 1.12版本引入了对SQL Server的支持
【1月更文挑战第26天】【1月更文挑战第124篇】Flink CDC 1.12版本引入了对SQL Server的支持
33 1
|
3月前
|
Java 虚拟化 Docker
你还在为买不起云服务器而烦恼吗?(本地化部署windows解决方案,适用于学生党的部署方案)
你还在为买不起云服务器而烦恼吗?(本地化部署windows解决方案,适用于学生党的部署方案)
107 0
|
4月前
|
Java 数据安全/隐私保护
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
80 1
|
1月前
|
弹性计算 运维 安全
2024年阿里云一键搭建部署幻兽帕鲁服务器解决方案
幻兽帕鲁火了,为了确保畅快体验游戏,构建高效、稳定的游戏服务器至关重要。幸运的是,阿里云为您提供了快速、简便的服务器搭建解决方案,即使您对技术知识了解有限,也能在短短一分钟内轻松完成《幻兽帕鲁》游戏的联机服务器搭建!
1455 4
|
3月前
|
弹性计算 Linux Windows
如何升级计算巢服务实例版本,从而支持更便捷、可视化的游戏配置
现在你可以参考这篇教程,将之前老版本的幻兽帕鲁计算巢服务,升级到最新版本,支持最新版本的管理配置界面。包括修改游戏配置、重启游戏、存档管理等功能。
2646 2
如何升级计算巢服务实例版本,从而支持更便捷、可视化的游戏配置
|
3月前
|
弹性计算 Linux 数据安全/隐私保护
在已有的 ECS 上重装幻兽帕鲁服务器、迁移到计算巢、或升级计算巢服务版本
现在你可以参考这篇教程,将原来搭建的幻兽帕鲁服务器迁移到计算巢上,享受计算巢上所支持的界面化调整游戏配置(死亡掉落、服务器密码等)。 或者也可以用于重新安装,升级到最新版本的计算巢幻兽帕鲁服务。
28265 8
|
1天前
|
Java 关系型数据库 MySQL
服务器cpu 100%解决方案
服务器cpu 100%解决方案
5 0
|
4月前
|
机器学习/深度学习 存储 弹性计算
阿里云GPU云服务器有哪些版本
阿里云GPU云服务器有哪些版本
|
17天前
|
Linux
centos 查看服务器信息 版本cpu
centos 查看服务器信息 版本cpu
12 0