如何把sqlserver备份数据库数据库从高版本降级到低版本

关注51Testing
如何把SQLServer数据库从高版本降级到低版本
发表于: 10:05 &作者:CC阿爸 & 来源:51Testing软件测试网采编
推荐标签:
  近期在给一个客户推行ECM系统时,基本客户的硬件环境,我们为其安装的为SQL2008 64位的系统。在安装时一切顺利。但在恢复我们初始化数据库就遇到问题了。  今天在这里,我想与大家一起分享如何把SQLServer数据库从高版本降级到低版本,在此做个小结,以供参考。有兴趣的同学,可以一同探讨与一下,否则就略过吧。  1、 首先给大家看看恢复备份时遇到的问题  这样一看,就知道问题了,原来我们的数据库是2008R2 ,比SQL2008 版本高一个版本。  从运行版本10.50.R2是10.50)和10.00.是10.00)中可以看出这个版本不兼容问题,大部分情况下,从低版本升级到高版本,只要不是跨度太大,如2000升级到2012,都不会怎么报错。除非使用了一些新版本不兼容的特性如*=来实现left join的语句。但是就像上图那样,从高版本还原到低版本的时候,问题就出现了,而且几乎一定会报错。  2、 下面给出几个小建议  1) 方法一:我们如果要让客户正常使用,最简单的办法当然就直接升级数据库为 2008 R2即可,各,升级时,只需要选升级安装即可,其它不用做任何处理,该软件在群里很方便可以找到(推荐大家使用该方案)。  2) 方法二:另一种方法,我们可以从数据库中,导入相关SQL 脚本,在导出时选择SQL 2008 .  完成以上操作后,将导出的脚本在需要更新的服务器上运行即可。  3) 使用系统自带的存储过程实现:sp_dbcmptlevel ——将某些数据库行为设置为与指定的 SQL Server 版本兼容。(笔者不建议使用该方法,后续的版本中,该功能已删除)
公益活动:
搜索风云榜
( 19:37:05)
楼主有sql server的安装包吗,跪求
51Testing官方微信
51Testing官方微博
测试知识全知道如何从SQL Server企业版“降级”到标准版
日期:作者:
&&&&&&&&&&&&
【TechTarget中国原创】问:我一直在使用SQL Server企业版,请问能不能在不更改数据库的情况下把它“降级”成标准版?我认为SQL Server不会自动更改格式以便把数据库迁移到新的服务器上吧?我的需求不大,用标准版可以节省一笔开支。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
TechTarget中国
wang wlc 发表于: 15:54
卧槽,为了看这个答案特意注册的,妈蛋,告诉我没办法要重装
查看更多评论
敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。
SQL Server数据库中,DATETIME和SMALLDATETIME的值是存储为整数的。虽然如此,SQL Server数据库并不因此支持对这两种类型的值做数学运算。
2017年将是大量企业开始实施微软在2016年推出的新SQL Server技术浪潮的一年。SQL Server DBA和他们的同行数据库专业人员准备好了。
现在的微软与5年前的微软差别很大了,公司越来越靠近开源和开放,我们在微软的许多产品中都能看到这一点。
QL Server是CPU密集型技术,因此支撑它的虚拟机需要能获得充足的处理器资源,同时不能引起与其它虚拟机的资源争用。
在SQL Server中,我们如何进行索引设计来提升系统的性能和对查询进行优化,是许多用户非常关注的问题,在本次技术专题中,我们将分群集索引和非群集索引设计两部分来为您详细分析。
在本次的TechTarget数据库技术手册中,我们将为您带来一些有关数据仓库的最佳实践,其中包括数据仓库的评估、数据仓库管理技巧、数据仓库实施案例等内容,希望能对DBA的工作带来一定的帮助。
在本次的技术手册中,我们将介绍关于Oracle&11g的一些新特性,并对部署Oracle&11g的硬件服务器进行详细的评定,以便DBA参考。
像Oracle数据库的大多数版本一样,11g第二版在原有的11g数据库特性的基础上安装补丁包和修复包,同时也增加了新的特性。
TechTarget
企业级IT网站群
TechTarget中国 版权所有
All Rights Reserved, Copyright
TechTarget中国 版权所有
All Rights Reserved, Copyright
【TechTarget中国原创】问:我一直在使用SQL Server企业版,请问能不能在不更改数据库的情况下把它“降级”成标准版?我认为SQL Server不会自动更改格式以便把数据库迁移到新的服务器上吧?我的需求不大,用标准版可以节省一笔开支。  答:当然可以在版本间切换而不出问题。从企业版到标准版可能会有些棘手,因为它不是支持的“升级”路径。你要么把数据库迁移到新的服务器上(或者在同一服务器中的新实例上),要么直接卸载企业版然后安装标准版。Oracle数据库如何从11.2 降级至之前的版本_数据库技术_Linux公社-Linux系统门户网站
你好,游客
Oracle数据库如何从11.2 降级至之前的版本
来源:Linux社区&
作者:彭小波
本文档可用作将之前升级的数据库从
11gR2 降回至下列以前版本数据库的指南与核对表:Oracle 10gR1、Oracle 10gR2、Oracle 11gR1。该文档内容也适用于从 11.2.0.4 降级至 11.2.0.1
需要特别注意的是,在将数据库实例从当前版本降级至升级前版本时,数据库不会返回至与其升级前相同的状态。升级过程会导致一些不可逆的更改,具体取决于涉及的版本。降级过程允许用户在之前版本中打开并访问数据库实例。这通常就足够了。此外,在降级后可能需要采取一些更正操作(如卸载/重新安装,或重新升级至当前修补程序集级别),以解决残留问题。如果目标是将实例完全返回至其升级前的状态,那么将会用到包括恰好恢复至升级前状态在内的其他流程。
本文章中讨论的过程是基于脚本的降级。本文章并未讨论如何使用导入/导出、数据泵或其他方法将数据从一个版本移至另一个版本。
开始降级过程之前,在服务器上应该有或已安装要降至版本的 Oracle 二进制文件。如果已卸载了希望降至版本的 Oracle 可执行文件,请将该 Oracle 二进制文件重新安装至正确的版本/修补程序级别,以便进行降级。
在 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
注意事项:
该过程用于降级已成功升级至 11gR2 的数据库。此过程不能用于返回升级失败的数据库。
您只能降级至从其进行升级的版本和修补程序级别。例如,如果是从 Oracle 10gR1 (10.1.0.5) 升级至 Oracle 11gR2 (11.2),则不能降级至 Oracle 10gR2 (10.2)。您只能降级至 Oracle 10gR1 (10.1.0.5)
支持降级至 9iR2。这是因为在升级过程中,兼容参数设置为最低 10.1.0。这可以防止降级。
如果原数据库打过patch, 您需要在降级之前把patch进行回滚。 卸载和回滚patch的步骤,您可以在patch的readme中找到。卸载和回滚patch失败会导致降级过程的失败及数据字典对象无法生效。
示例:& 对于 Exadata Bundle Patch,过程为:
卸载 patch
& & & & & & & & 示例:& $ opatch auto /u01/app/oracle/patches/ -rollback
回滚SQL的变更 & &
& & & & & & & & 示例:& SQL& @rdbms/admin/catbundle_EXA_&database SID&_ROLLBACK.sql& rollback SQL 变更.
降级前步骤:
1: 验证所有组件和字典对象对于 11gR2 均有效并且版本正确。
set&pagesize500&set&linesize&100&& & & & select&substr(comp_name,1,40)&comp_name,&status,&substr (version,1,10) version&from&dba_registry&order&by&comp_&& & & & select&substr(object_name,1,40)&object_name,substr(owner,1,15) owner, object_type&from& dba_objects&where&status='INVALID'&order&by&owner,object_&& & & & select&owner,object_type,count(*)&from&dba_objects&where&status='INVALID'& group&by&owner,object_type&order&by&owner,object_
如果任何组件或 Oracle 提供的对象无效,则需要运行 utlrp.sql 对其进行重新验证。该脚本可能需要运行多次以验证所有对象。
$&cd&$ORACLE_HOME/rdbms/admin&$&sqlplus&"/&as&sysdba"&SQL&&@utlrp.sql
当完成后,重新运行上述查询以验证所有无效对象现在都是有效的。
2: 如果已在数据库上启用了 Oracle Database Vault,则必须:
a: 授予 SYS 帐户 Database Vault DV_PATCH_ADMIN 角色。b: 降级数据库之前禁用 Database Vault。
禁用 Oracle Database Vault 触发器:& & & SQL&&CONNECT&DVSYS/DVSYS&&& & & SQL&&ALTER&TRIGGER&DV_BEFORE_DDL_TRG&DISABLE;&&& & & SQL&&ALTER&TRIGGER&DV_AFTER_DDL_TRG&DISABLE;&
3: 如果设置了操作系统参数 ORA_TZFILE,请取消其设置。如果不取消设置 ORA_TZFILE 变量,连接至数据库时可能会生成以下错误:
SP2-1503: Unable to initialize Oracle call interface&SP2-0152: ORACLE may not be functioning properly
4: 如果在降级至之前的数据库版本之前,已运行 DBMS_DST 软件包将时区版本升级至新版本(例如在 11gR2 升级的升级后步骤期间升级至版本 11),那么必须将版本 11 时区文件安装到旧的 Oracle 数据库版本上的 $ORACLE_HOME/oracore/zoneinfo 目录中。
5: 检查数据库的兼容性级别,以确定数据库是否可能具有防止降级的不兼容性。曾经设置过的 compatible 的最高值就是您能降级到的最低的那个版本。比如:
如果数据库的兼容性级别已经是最新的了(比如11.2.0.4),则无法进行降级。
如果数据库的兼容性级别曾经是 11.2.0 或更高,则无法将数据库降级到比 11.2.0.1 更低的版本 。如果要将数据库降级至 11gR1,COMPATIBLE 初始化参数必须从未比 11.1.0 更高。如果要将数据库降级至 10gR2,COMPATIBLE 初始化参数必须从未比 10.2.0 更高。如果要将数据库降级至 10gR1,COMPATIBLE 初始化参数必须从未比 10.1.0 更高。
6: 如果数据库上安装有 Oracle Application Express,则必须将 apxrelod.sql 文件从 Oracle 11gR2 (11.2) ORACLE_HOME/apex/ 目录复制到 Oracle 主目录之外的某个目录,如系统上的临时目录。记下该文件的新位置。7: 在降级之前执行 11gR2 数据库的备份。
数据库的降级步骤
如果要从 11.2.0.4 降级至 11.2.0.2,使用 11.2.0.2 catrelod.sql 脚本会出现一个问题。针对版本 11.2.0.2 下载并应用修补程序 ,其提供了更新版本的 catrelod.sql。
1: 以 Oracle Database 11g Release 2 (11.2) Oracle 主目录的所有者登录系统。2: 如果已针对数据库配置并运行了 Enterprise Manager Database Control,则按如下所示停止Database Control:
a: 将 ORACLE_UNQNAME 环境变量设置为数据库唯一名称。b: 运行以下命令:RACLE_HOME/bin/emctl stop dbconsole
3: 如果要降级的数据库是 Oracle Real Application Clusters (Oracle RAC) 数据库,则在所有实例上执行该步骤。
a:& .如果要将 Oracle RAC 数据库降级至 10g Release 1 (10.1),必须在移除额外的表决磁盘之后才可以关闭 Oracle Clusterware 堆栈。如果要查看所用表决磁盘的数量并列出表盘路径,请运行以下命令:Oracle_Clusterware_Home/bin/crsctl query css votedisk&b:& 通过运行以下命令移除找到的每一个额外表决磁盘,其中路径是在之前步骤中发现的表决磁盘路径:
Oracle_Clusterware_Home/bin/crsctl delete css votedisk path
注意:如果要降级群集数据库,需完全关闭实例并将 CLUSTER_DATABASE 初始化参数设置为 false。降级后,必须将该参数设置回 true。
SET CLUSTER_DATABASE=FALSE
注意升级后的步骤38
4: 在系统提示符下,转至 ORACLE_HOME/rdbms/admin 目录。5: 启动 SQL*Plus 并以具有 SYSDBA 权限的用户身份连接至数据库实例。6: 如果该实例当前正在运行,则将其关闭。& & SQL& SHUTDOWN IMMEDIATE&7: 在 DOWNGRADE 模式下启动该实例。& & SQL& STARTUP DOWNGRADE&如果需要,请指定初始化参数文件的位置。8a: 如果升级前在数据库中配置了 Enterprise Manager 并备份了 Enterprise Manager Database Control Data,则:
Drop&the&SYSMAN&schema:&&DROP&USER&sysman&CASCADE;&
注意:此步骤之后,MGMT* 同义词可能会无效。请按照&11.2 Upgrade Guide&中&Post-downgrade&部分描述的&Restoring Oracle Enterprise Manager&步骤(6 章第 9 页,Downgrading Oracle Database to an Earlier Release),恢复备份并验证同义词。8b: 如果升级前在数据库中配置了 Enterprise Manager 但未备份 Enterprise Manager Database Control Data,则:
删除 Enterprise Manager 用户:@?/sysman/admin/emdrep/sql/core/latest/admin/admin_drop_users.sql&SYSMAN
删除信息库用户:DEFINE&EM_REPOS_USER=SYSMAN&@?/sysman/admin/emdrep/sql/core/latest/admin/admin_drop_repos_user.sql&SYSMAN&
删除角色和同义词:DEFINE&EM_REPOS_USER=SYSMAN&@?/sysman/admin/emdrep/sql/core/latest/admin/admin_drop_synonyms.sql&
Drop&the&SYSMAN&schema:&&DROP&USER&sysman&CASCADE;&
注意:此步骤之后,Enterprise Manager 组件将从数据库实例中移除。Enterprise Manager 组件可以在降级后重新创建。有关更多信息,请参考
9:& 设置系统以将结果记录到日志文件,以备稍后的成功验证:&& & SQL& SPOOL downgrade.log&10: 运行 catdwgrd.sql:& & SQL&&@catdwgrd.sql
以下是运行该脚本的注意事项:该脚本会将数据库中的所有 Oracle Database 组件降级至最初从其升级上来的主版本或 Oracle Database 11g 修补程序版。
如果在运行该脚本时或在其余步骤中的任何脚本中遇到任何问题,需找到问题原因并更正,然后重新运行该脚本。您可以根据需要多次重新运行本章中描述的任何脚本。
如果某个组件的降级失败,将会显示 ORA-39709 错误,SQL*Plus 会话终止,Oracle Database 数据字典不降级。在降级 Oracle Database 数据字典之前,所有组件必须成功降级。必须要在重新运行 catdwgrd.sql 脚本之前识别并修正问题。&
更多详情见请继续阅读下一页的精彩内容:
相关资讯 & & &
& (01月01日)
& (12/22/:36)
& (09/23/:37)
& (12/22/:03)
& (11/30/:09)
& (09/23/:10)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款首先就来介绍一下SQL Server2012数据库的降级方法,成功之后突然感觉很简单,但是没成功之前很郁闷。废话少说,直接开始。
打开SQL Server2012,连接到数据库,然后找到你要降级的数据库。
右击数据库,有一个任务选项&&扩展里面有一个生成脚本,可能你已经知道这一步,因为网上有很多。
接着看,生成脚本的窗口打开后,直接单击设置脚本选项,如图所示。
选择文件存放的位置和文件名
在设置脚本选项的窗口中设置脚本生成的路径,然后起一个名字,没有名字是不能够保存的。
单击高级按钮进行设置
单击高级按钮后,所有的操作用语言来讲解的话很费劲,有图片,大家还是直接看图片的,每一步都有详细的截图。
设置完成以后单击下一步,下一步,然后单击完成按钮即可完成脚本的生成及保存。接下来就很简单了。
见你的脚本发给低版本的朋友,只发送脚本文件即可。
低版本的电脑接受文件之后,首先打开SQL Server软件,连接服务器,之后双击脚本文件。
等待一会,你会发现SQL Server中出现了如图所示的东西,密密麻麻的SQL语句。
最重要的地方到了:在密密麻麻的SQL语句上面有一个文件路径。这个路径是生成数据库用的,所以一定要写成你的想存放数据库的位置,并且这个位置是你电脑上有的文件夹。
修改之后保存文件&&单击执行按钮。
单击执行按钮之后你会看到在下面显示受影响一行等文字,这就说明成功了。
刷新数据库,你就可以看到那个刚刚无法加载的数据文件已经被创建好了,并且里面的数据也完好无损。
其他的步骤都一样,只有生成脚本的时候,高级选项不一样,设置方法如图。
里面有一个为服务器版本编写脚本,选择相应的版本即可。
阅读(...) 评论()}

我要回帖

更多关于 android 数据库降级 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信