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


猜你喜欢
- 背景在小站点上,直接用git来部署php代码相当方便,你的远程站点以及本地版本库都有一个版本控制,追踪问题或者回滚是很轻松的事情。因为在小公
- /*存储过程*/ sp_databases --列出服务器上的所有数据库 sp_server_info --列出服务器信息,如字符集,版本和
- 刚才帮一位朋友做跳转的时候做的,为了获取完整的url地址,还是花了那么点时间不过现在看来,原来是那么简单,没有网上那么多复杂的东东,相信一定
- 前言最近找几个老友准备聊天发现几个已经被删除好友名单,做为潜水党多年的我已经不知道成为多少人的黑名单,但是好友列表却依然有不是好友的名单,面
- Limit语法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetL
- 前言:目前在研究易信公众号,想给公众号增加一个获取个人交通违章的查询菜单,通过点击返回查询数据。以下是实施过程。一、首先,用火狐浏览器打开X
- 朋友去面试。对方问他:说说你之前做的那个站,有什么地方好的?朋友就说:用户体验比别的站好。对方又问:你怎么知道用户体验比别的好?朋友于是又磕
- 本文实例讲述了Flask框架工厂函数用法。分享给大家供大家参考,具体如下:在我们开始学习FLask的时候,创建应用的实例是用app=Flas
- 实现效果:实现代码import numpy as npfrom skimage import img_as_floatimport matp
- 1.定义变量时可以直接赋值 DECLARE @Id int = 5 2.Insert 语句可以一次插入多行数据 INSERT INTO St
- windows系统下安装Pyinstallercmd下输入指令pip install PyInstallerPyinstaller的使用进入
- 随着MYSQL版本的更新以及电脑系统的变化,我们给大家整理了各种电脑环境下安装MYSQL的图解过程,希望我们整理的内容能够帮助到大家:mys
- 近些年随着Python语言越来越流行,越来越多的人选择Python语言作为自己的职业方向。如何在心仪公司的面试中获得好成绩,并最终成功获得o
- Python字符串常用功能汇总1、字符串的定义#定义空字符串>>> name=''#定义非空字符串>
- 背景在本地开发vue项目的时候,当你习惯了proxyTable解决本地跨域的问题,切换到nuxt的时候,你会发现,添加了proxyTable
- 前言索引和切片是NumPy中最重要最常用的操作。熟练使用NumPy切片操作是数据处理和机器学习的前提,所以一定要掌握好。参考NumPy官方文
- 我就废话不多说了,大家还是直接看代码吧!# -*- coding: utf-8 -*-"""Created o
- 本文实例讲述了Python实现的视频播放器功能。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-#! pytho
- 前言在目标检测中,数据集常常使用labelimg标注,会生成xml文件。本文旨在根据xml标注文件来裁剪目标,以达到去除背景信息的目的。xm
- 一、检查系统版本[root@node ~]# cat /etc/os-release NAME="CentOS Linux&quo