怎样在不同版本SQL Server中存储数据

作者:gaoyuan007 时间:2009-01-20 13:11:00 

SQL Server有几个版本都在使用中——4.2, 6.0, 6.5, 7.0, 2000,以及2005——你很有可能会需要从以前的版本中重新存储数据库到后面的版本中。

微软在7.0版本中对数据库引擎的工作方式和数据的存储方式作了一些非常巨大的变化。这就使得从7.0版本之前的SQL Server中重新存储数据的方式变得不那么直接。

7.0,2000和2005版本的SQL Server允许你将数据库重新存储到稍后的SQL Server版本中。7.0版本之前的任何东西都需要数据移植,在这个过程中你必须实际地将数据从原有的SQL Server版本中移动出来,再放入新的SQL Server版本中。

既然最新的版本是2005,那么我就讨论一下如何将数据从原有的SQL Server版本中移动到最新的数据库管理系统发布版本中。无论如何,这些技术同样也可以应用在7.0或者2000版本上。

从7.0之前版本的SQL Server中重新存储数据

我前面提到了,没有这样的一种直接方式可以将早于7.0版本之前的数据库中的数据仅仅是备份然后就重新存储这么简单直接。要将数据移动到SQL Server 2005中,就必须完成某些类型的数据移植,有可能是通过创建一个SSIS包,建立一个到你原有数据库版本的ODBC源。或者,你可以使用BCP(块拷贝程序)来将数据从原有的版本中移出来,移入SQL Server 2005数据库。

没有一种方式可以直接从备份文件中抽取数据。所以如果你只有一个你的数据库的备份拷贝,那么你就需要找到一个原有版本的SQL Server ,或者安装磁盘来建立起那个版本的SQL Server来重新存储数据。

SQL Server 7.0及其以后版本的重新存储

只要简单地从你的备份中重新存储数据库。这项工作就像你曾经作过的任何重新存储,要么使用GUI工具,要么是T-SQL命令。看看这些文章,了解如何执行重新存储:

·使用企业管理器来重新存储 SQL Server

·使用T-SQL 命令来重新存储SQL Server

·从事务日志中重新存储SQL Server

·从另外一个SQL Server中重新存储数据库

用7.0之前的版本,你可以使用数据移植处理进程将你的数据从原有版本的SQL Server中移动到新的版本中。这种方式要求两个数据库都必须是在线的。

你还可以使用attach 和detach两个选项来将你的数据库从原有版本中移植到新的版本中。

重新存储系统数据库

需要提出的一个说明就是你可以重新存储用户数据库,但是你不能从先前的版本中重新存储系统数据库到新的SQL Server版本中。当SQL Server改善功能的时候,大多数的修改都是存储在相同数据库中。新表的创建和原有表的修改(为什么你不能使用直接使用系统表的原因)都让重新存储系统数据库变得不可能。

你可以使用SSIS或者BCP方式来移植数据或者你在这些数据库中创建的新的对象,但是你不能移动整个数据库。

更新用户和登录信息

当重新存储数据库到一个完全不同的SQL Server实例环境中需要时刻记住的一个问题就是,用户和登录信息需要更新以确保数据库认证可以按照计划工作。参考从其它的SQL Server中重新存储数据库,学习如何进行。

正如你看到的,从SQL Server 7.0开始,微软已经开始让数据库管理员感觉到,把数据从比较老版本的SQL Server中移植到较新的版本中是相当简单的了。这个想法通常还包括一些向后的兼容。但是这个功能还会存在多久?它在SQL Server 2005中确实存在,但是下一个名为Katmai的SQL Server的发布版本会不会向后兼容,只有时间才知道了。

标签:
0
投稿

猜你喜欢

  • Oracle 数组的学习 小知识也要积累,养成好的学习态度

    2009-08-04 12:42:00
  • 互联网产品设计零碎记

    2010-09-25 12:49:00
  • 浅谈信息可视化

    2010-03-10 10:55:00
  • 中国目前流行的网页设计风格

    2007-12-20 12:57:00
  • Firefox 下 innerHTML 的一个 BUG

    2008-08-05 18:19:00
  • ASP模拟MVC模型的编程方式

    2008-10-15 14:51:00
  • 简单form标准化实例——整体布局

    2007-05-11 17:04:00
  • 正则表达式的基本概念

    2007-10-17 21:07:00
  • 内部系统是否也需要用户体验设计?

    2010-11-30 21:47:00
  • SQL中Groupby和Having的使用方法

    2008-12-29 13:54:00
  • 轻松解决SQL Server 2005中的常见问题

    2008-11-28 14:11:00
  • 教你轻松掌握如何正确的修复Access数据库

    2008-11-28 16:21:00
  • 解析Oracle 8i/9i的计划稳定性

    2010-07-26 13:09:00
  • 页面编码的doctype声明

    2007-05-31 09:21:00
  • Asp教程:Response对象

    2007-10-01 18:08:00
  • 服务端XMLHTTP(ServerXMLHTTP in ASP)进阶应用-User Agent伪装

    2008-11-11 12:29:00
  • 如何给 legend 标签设定宽度

    2008-07-26 12:18:00
  • 官方是这样定义 DOCTYPE HTML PUBLIC 的

    2007-05-31 09:43:00
  • MySQL优化之数据表的处理

    2008-12-22 14:45:00
  • 防止Access 2000密码被破译的方法

    2008-11-20 16:48:00
  • asp之家 网络编程 m.aspxhome.com