SQL Server 2008 转换为 SQL 2005 数据库 脚本生成
Tips:
本文讨论如何把数据库从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、在要转换的数据库上右击,出现的快捷菜单中点击“任务 > 生成脚本”,在“脚本向导”中点击“下一步”,选中你要转换的数据库(如果前边已经选中,这次就是选中状态),勾选下部的“为所选数据库的所有对象编写脚本”,如下图
5、点击下一步,现在进入配置的最关键阶段:
由于生成的脚本最后是在主机提供商已经建好的数据库中生成表,所以注意按照如下的配置进行:
编写创建数据库的脚本:False (主机提供商已经有数据库,这里只生成表,不再生成数据库)
编写数据的脚本:True (因为有用的数据要一并生成)
编写Use DataBase的脚本:True
为服务器版本编写脚本:SQL Server 2005 (生成2005的脚本,而不是默认的2008脚本,见下图)
6、按照下边图片的选项设定,点击“完成”,即可完成数据库由SQL Server 2008到SQL Server 2005转换脚本的生成。
后注:然后根据主机提供商给的数据库,直接到网络数据库上导入脚本;或者再次使用本SSMS连接到主机提供商的数据库上(这时肯定是SQL Server身份验证,需要提供用户名及密码),通过网络数据库“新建查询”的方法将刚才生成的脚本粘贴到新建查询窗口,点击“运行”,即可将全部数据表、存储过程、约束关系等导入主机提供商的数据库中,更具体问题,要与主机提供商联系。
需要注意的是,当把脚本向新的数据库导入时,要把脚本中原来的Use后的数据库名改为要导入的数据库名称,这样才可以把本地的数据库导入到网络的数据库内。
另外,如果是把数据库类似于备份一样生成脚本,以后再完整地生成这个数据库,那么第5步应该这样做:
编写创建数据库的脚本:True (数据库一并生成)
编写数据的脚本:True (包含有用的数据)
编写Use DataBase的脚本:True
同样,如果将SQL Server 2008数据库转换为SQL Server 2000版本,在第5步中,
【为服务器版本编写脚本】设定为 SQL Server 2000 (而不是默认的2008脚本)即可。
生成的脚本,在相应SQL Server 2000的企业管理器内运行(脚本复制粘贴到查询分析器内运行),即可生成SQL Server 2000版本的数据库。
SQL Server 2008 内部版本:10
SQL Server 2005 内部版本:9
SQL Server 2000 内部版本:8
SQL Server 2008 转换为 SQL 2005 数据库 脚本生成的更多相关文章
- SQLSERVER 免费对比数据库结构和数据的工具支持:SQL Server 2012, SQL Server 2008 and SQL Server 2005
New xSQL Schema Compare - version 5 Compare the schemas of two SQL Server databases, review differen ...
- SQL Server 2008 R2如何开启数据库的远程连接
SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2005以上版本默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远 ...
- sql server 2008 R2 压缩备份数据库
今天需要把一个省外项目的数据库从服务器上备份.拷贝到本机(跨地域传输数据库备份文件). 连上VPN,通过远程桌面连接,连接上服务器,发现数据库文件已经有20G以上大小了. 文件太大,公司网络也不稳定, ...
- SQL Server 2008删除或压缩数据库日志的方法
SQL Server 2008删除或压缩数据库日志的方法 2010-09-20 20:15 由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的 ...
- SQL Server 2008 错误15023:当前数据库中已存在用户或角色
解决SQL Server 2008 错误15023:当前数据库中已存在用户或角色,SQLServer2008,错误15023,在使用SQL Server 2008时,我们经常会遇到一个情况:需要把一台 ...
- SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005
SQL Server 2012SQL Server 2012 开发版(DVD)(X64,X86)(中文简体)ed2k://|file|cn_sql_server_2012_developer_edit ...
- sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同
原文:sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同 说明: 以前要将一个表中的数据导出为脚本,只有用存储过程.现在在SQL Server ...
- 安装SQL server 2008 R2和QL server 2008,与SQL server 2008升级SQL server 2008 R2
安装SQL server 2008 R2和由SQL server 2008升级SQL server 2008 R2 前提条件: 由SQL server2008 升级SQL server2008 R2 ...
- SQL Server 2008中SQL之WaitFor
SQL Server 2008中SQL应用系列--目录索引 在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当.但使用更加简捷. 看MSDN: ht ...
随机推荐
- 将DotNetBar添加到工具箱中
一.首先得安装DotNetBar; 二.在工具箱的空白处右击=====>添加选项卡(图一)======>命名为DotNetBar(图二) 图一 图二 三.右击DotNetBar====== ...
- ZipHelper
using ICSharpCode.SharpZipLib.Zip; using System.Collections.Generic; using System.IO; namespace WLYD ...
- Rikka with Sequence
题意: 给一长度为n的序列,维护三个操作:区间开根,区间加,区间求和. 解法: 注意到本题关键在于区间开根: 对于一个数字,只要进行$O(loglogT)$次开根即会变为1. 考虑线段树,对于线段数上 ...
- jQuery EasyUI API 中文文档 - Tree树使用介绍
用 $.fn.tree.defaults 重写了 defaults. 依赖 draggable droppable 用法 Tree 能在 <ul> 元素里定义,此标记可以定义为叶节点和子节 ...
- SpringCloud之旅第一篇-微服务概念
一.单体架构的问题 微服务为什么会出现?在学习Springboot的时候知道Springboot极大的简化了我们的开发,我们可以快速的进行业务开发,Springboot单体应用在项目的开发初期能够满足 ...
- Codeforces714C【映射】
题意: T次操作: +的话就是往 multiset 塞进一个: -的话就是往 multiset 去除一个: ?操作 思路: +和-操作就是处理字符串直接实现一个原字符串改成"01" ...
- STLstack,queue
今天一开始用C去摸栈和队列,差不多昨天早上也在摸,摸烦了就去搞DP然后DP也没搞好,就是很烦很烦!!!! 然后今天那些C的栈队列的步骤和名称熟的不要不要的,然而数据结构的c语言用指针,传递,简直麻烦, ...
- CTP Release() 的注意问题
测试时发现CThostFtdcMdSpi有个比较严重的问题,就是使用Release()退出清理对象时 会出现死机,并且频率很高,怎样解决? 答:请参考以下代码的释放顺序. template <c ...
- 51nod1639(组合数学)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1639 题意:中文题诶- 思路:组合数学 n根鞋带要组成一个环, ...
- Ruby测试小代码[计算50以内的素数]
算法思想 判断某一个数,能不能被比他平方根小的素数整除. 首先看看代码 $arr = [] $arr[0] = 2 def add_prime(n) 3.step(n,2){|num| $arr &l ...