当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 怎样在不同版本SQL Server中存储数据

MSSQL
SQL注入漏洞全接触--进阶篇(二)
SQL注入漏洞全接触--高级篇(一)
SQL注入漏洞全接触--高级篇(二)
SQL Server补丁安装常见问题
[专题]SQL SERVER实用经验技巧集
防范SQL注入式攻击
Mssql和Mysql的安全性分析
SQL概述及在网络安全中的应用
安全入门:SQL注入漏洞全接触
数据库系统防黑客入侵技术综述
SQL注入奇招致胜 UNION查询轻松免费看电影
看紧你的3306端口,一次通过mysql的入侵
MSSQL db_owner角色注入直接获得系统权限
针对SQL INJECTION的SQL SERVER安全设置初级篇
有孔就入 SQL Injection的深入探讨
SQL注入不完全思路与防注入程序
SQL注入攻击的原理及其防范措施
SQL Server应用程序中的高级SQL注入
数据库下载漏洞攻击技术
SQL注入实战---利用“dbo”获得SQL管理权限和系统权限

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 82 ::
收藏到网摘: n/a

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的发布版本会不会向后兼容,只有时间才知道了。