如何在不同版本的SQL Server中存储数据
作者:31993 发布时间:2009-01-15 13:06: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的发布版本会不会向后兼容,只有时间才知道了。
猜你喜欢
- 之前有写过一篇浏览器的tab设计,这回说说网站的tab设计。一说到tab很自然地就想到了导航、信息架构。随着网站信息结构的复杂化,选择tab
- 这几天无聊的很看着china.nba.com焦点图效果捣鼓了一下有待完善!兼容性:IE6 , IE7 &nb
- < SCRIPT LANGUAGE="VBScript"> < 
- HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位
- 以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用for XML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很
- shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b
- 文章主要讲术了一些SQL Server新的Bug,帮您认识这些被忽略的SQL Server注入技巧。1.关于Openrowset和Opend
- 如何侦测HTTP表头信息?可用下列办法侦测并显示所有的HTTP HEADERS:<HTML><HEAD><TI
- 代码如下:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。 /连接“网站
- 人们很容易忽视图像img标签的alt属性。然而,它的重要性也无法体现出来,它是有利于网页的accessibility and&nb
- 很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的
- Mysql分页采用limt关键字select * from t_order limit 5,10; #返回第6-15行数据select *
- 一.设置客户端网络实用工具点击“开始”-“程序”,在“Microsoft SQL Server”菜单中选择“客户端网络实用工具”。在“别名”
- 配置Laravel 的邮件服务可以通过 config/mail.php 配置文件进行配置。邮件中的每一项都在配置文件中有单独的配置项,甚至是
- 一、 在数据库排序查询优化上的差异。在讲解这个内容之前,为了读者能够清楚我讲的内容,我要先谈一个概念。命中率,它是指从内存中取得数据而不从磁
- 经常会遇到这样一个情况:浏览器弹出对话框,提示脚本运行时间过长,询问“停止”还是“继续”。那究竟各个浏览器是如何判断在什么时候才弹出此对话框
- SEO是指搜索引擎优化,主要就是通过对网站的结构、标签、排版等各方面的优化,使搜索引擎更容易抓取网站的内容,并且让网站的各个网页在等搜索引擎
- 许多游戏玩家一定会对游戏中的动态鼠标指针有很深的印象,其实只要一句简单的CSS(层叠样式表),你也能在网页上实现这种效果。首先,你需要一个鼠
- 大家知道,在js里encodeURIComponent 方法是一个比较常用的编码方法,但因工作需要,在asp里需用到此方法,查了好多资料,没
- 这种问题估计遇到的人不在少数,至少我遇到不下三次了,但每次解决后都没有形成深刻的印象,每次遇到还需要思考很久才能解决。这种情况常见的是这样的