设为首页 收藏本站
查看: 533|回复: 0

[经验分享] SQL Server 2008 转 2005 [转载]

[复制链接]

尚未签到

发表于 2015-7-4 07:26:46 | 显示全部楼层 |阅读模式
  本文讨论如何把数据库从SQL Server 2008版本降低到2005,因为在本地开发是以SQL Server 2008 Express Edition版本进行的,而主机提供商现在提供的MSSQL只支持到2005,所以需要把数据库版本给降下来。这个过程挺麻烦的,首先需要有SQL Server Management Studio 2008(简称SSMS),现在先来下载它。
  SQL Server Management Studio 2008 Express 下载(如果你用的是XP操作系统,下载那个x86的版本,即32位的版本,如果是Windows 7并且是64位的操作系统,下载那个x64版本),选择那个“全新安装”,在安装的过程中,计算机系统环境会受到严格的检查,以确保数据库安装成功。遇到失败的组件(即有红色叉号的组件),不要关闭安装窗口,一律到网上找相关的组件(最好是微软官方下载网站)安装,安装一个,重试一次(安装窗口上部有一个“重新运行”按钮),直到全部失败的组件安装上(跳过及警告的就不管它了),SQL Server 2008及管理平台(以前叫企业管理器)就安装成功了。注意在安装过程中,VS2008可能需要安装SP1(注:不是.NET 3.5的SP1),这个安装相当的慢,要耐心。
  小知识:SQL SERVER对微软来说是有内部版本的,如果在SSMS或者VS2008里边看到的数据库版本为10.0的字样,就是SQL SERVER 2008,如果版本为9.0的字样,就是SQL SERVER 2005。
  为河南农药信息网开发的网站,一直是在SQL 2008上开发的,但虚拟主机提供商的SQL数据库目前只提供对SQL2005的支持,所以要把已经开发好的数据库(里边含有用的数据)降低到SQL2005可以识别,或者说降级到SQL2005。具体办法如下(已经下载并安装了SSMS2008):
  1、点击“开始 > 程序 > Microsoft Sql Server 2008 > SQL Server Management Studio”
  2、在出现的“连接到数据库服务器”对话框,服务器类型选“数据库引擎”,服务器名称选择本机的SQL Server(一般是主机名/SQL服务器),点击下拉框可以找到,身份验证选“Windows 身份验证”(一般本地SQL Server都是这种验证,如果选“SQL Server身份验证”,需要用户名及密码,互联网上的数据库是这种身份验证,主机服务提供商会提供用户名及密码)
  3、SSMS界面出来,在对象资源管理器中的“数据库”目录中查找你要转换的数据库,如果没有,右击“数据库”目录,在出来的快捷菜单中点击“附加...”,新出现一个对话窗口,点击右边窗格中的“添加...”按钮,找到你要转换的数据库,点击“确定”
  4、在要转换的数据库上右击,出现的快捷菜单中点击“任务 > 生成脚本”,在“脚本向导”中点击“下一步”,选中你要转换的数据库(如果前边已经选中,这次就是选中状态),勾选下部的“为所选数据库的所有对象编写脚本”,如下图
DSC0000.jpg
  5、点击下一步,现在进入配置的最关键阶段:
  由于生成的脚本最后是在主机提供商已经建好的数据库中生成表,所以注意按照如下的配置进行:
  编写创建数据库的脚本:False (主机提供商已经有数据库,这里只生成表,不再生成数据库)
  编写数据的脚本:True (因为有用的数据要一并生成)
  编写Use DataBase的脚本:False
  为服务器版本编写脚本:SQL Server 2005 (生成2005的脚本,而不是默认的2008脚本,见下图)
DSC0001.jpg
  6、按照下边图片的选项设定,点击“完成”,即可完成数据库由SQL Server 2008到SQL Server 2005的转换。
DSC0002.jpg
  后注:然后根据主机提供商给的数据库,直接到网络数据库上导入脚本;或者再次使用本SSMS连接到主机提供商的数据库上(这时肯定是SQL Server身份验证,需要提供用户名及密码),通过网络数据库“新建查询”的方法将刚才生成的脚本粘贴到新建查询窗口,点击“运行”,即可将全部数据表、存储过程、约束关系等导入主机提供商的数据库中,更具体问题,要与主机提供商联系。
  另外,如果是把数据库类似于备份一样生成脚本,以后再完整地生成这个数据库,那么第5步应该这样做:
  编写创建数据库的脚本:True (数据库一并生成)
  编写数据的脚本:True (包含有用的数据)
  编写Use DataBase的脚本:True
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

用SQL2008导出数据库的时候,会导致数据库中的主键、索引、标识等数据库约束丢失。
这里以SQL2008为例,介绍一下如何能导数据,又可以保持主键、索引、标识等数据库约束不丢失的方法。
  首先,在本地sql2008上面的数据库上右键-任务(T)-生成脚本(E) ,点击下一步,勾选下面的“为所选数据库中的所有对象编写脚本”-点击下一步-可以看到“编写数据的脚本”(SQL2005无此选项)后面是False,双击改为TRUE,拉下来-可以看到“为服务器版本编写脚本”,双击选择SQL2005(根据远程数据库版本而定,我要导的数据库是SQL2005所以选它)-点击下一步-再点击下一步-点击“完成”,脚本出现在查询分析器中。接下来把脚本做一下改动,以适合远程数据库使用。一般要改两个地方,第一个地方就是第一行 USE [DATABASE] 这个根据远程数据库而定,我的远程数据库是sq_congxun,所以第一行改为 USE [sq_congxun] 。第二个地方就是改数据库架构,一般本地是用dbo,而远程数据库是以数据库用户为架构,所以按Ctrl+H键,弹出替换窗口,把dbo替换成sq_congxun,至此脚本改造完成。接下来打开远程数据库,新建查询,把刚刚的脚本复制进去,执行,OK,恭喜你,完成了!
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  SQL2005 SQL2008 远程连接配置方法 收藏
SQL2005:
  打开SQL2005的配置工具-->SQL Server 2005外围应用配置器-->服务和连接的外围应用配置器 -->Database Engine -->远程连接,选择本地连接和远程连接并选上同时使用Tcp/Ip和named pipes.
  (附:如何配置 SQL Server 2005 以允许远程连接:http://support.microsoft.com/kb/914277/zh-cn )
  SQL2008:
  打开SQL Server Management Studio-->在左边[对象资源管理器]中选择第一项(主数据库引擎)-->右键-->方面-->在方面的下拉列表中选择[外围应用配置器]-->将RemoteDacEnable置为True.
  Express:
  如果XP有开防火墙,在例外里面要加入以下两个程序:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe,
C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe
  来自: http://hi.baidu.com/gagahjt/blog/item/6ec9a1034fa5fb0e738da5f4.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-82954-1-1.html 上篇帖子: 完全卸载SQL Server 2008r2 下篇帖子: sql server中datetime字段只取年月日
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表