sqlserver数据库迁移(数据库的迁移)

http://www.itjxue.com  2023-01-29 18:07  来源:未知  点击次数: 

怎么把sql数据库从旧电脑移动到新电脑安装?

新电脑上直接安装同样或者高版本的数据库软件,然后把旧电脑的数据库分离一下,找到数据库文件的存放路径,将分离的数据库再复制到新电脑上(网络共享或使用U盘、移动硬盘拷贝均可),然后打开数据库软件,先将数据库文件复制进你指定的一个文件夹,然后再打开数据库软件点附加数据库

如何把sqlserver的数据迁移到mysql中

以下有几款迁移工具的对比,可以参考,比较推荐DB2DB.

软件易用性主要是指软件在导入前的配置是否容易。由于很多软件设计是面向程序员而非一般的数据库管理人员、甚至是普通的应用程序实施人员,而这一类人员很多时候并没有数据源配置经验。因为一些使用 ODBC 或者 ADO 进行配置的程序往往会让这类用户造成困扰(主要是不知道应该选择什么类型的数据库驱动程序)。下面让我们看看四个工具的设计界面:

1、SQLyog

SQLyog?使用的是古老的 ODBC 连接,但对于新一代的程序来说,这种方式的非常的不熟悉并且不容易使用,并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好)。

2、Navicat?Premium

NavicatPremium是四个应用工具中设计最不人性化的一个:从上图怎么也想像不到要点按那个小按钮来添加一个新的连接,并且这个连接设置不会保存,每次导入时都必须重新设置。NavicatPremium使用的是比 ODBC 稍先进的 ADO 设置方式(199X年代的产物),但使用上依然是针对老一代的程序员。

3、Mss2sql

Mss2sql?是最容易在百度上搜索出来的工具,原因之一是它出现的时间较早。

Mss2sql由于是很有针对性的从 SQLServer 迁移到 MySQL,因为界面使用了操作向导设计,使用非常容易。同时在设置的过程中,有非常多的选项进行细节调整,可以感觉到软件经过了相当长一段时间的使用渐渐完善出来的。

4、DB2DB

DB2DB?由于是由国人开发,因此无论是界面还是提示信息,都是全程汉字。另外,由于 DB2DB 在功能上很有针对性,因为界面设计一目了然和易使用。和 mss2sql 一样, DB2DB 提供了非常多的选项供用户进行选择和设置。

三、处理速度和内存占用评测

在本评测前,本人的一位资深同事曾经从网上下载了某款迁移软件,把一个大约2500万记录数的数据表转送到阿里云 MySQL,结果经过了三天三夜(好在其中两天是星期六和星期日两个休息日)都未能迁移过来。因此这一次需要对这四个工具的处理速度作一个详细的测试。

考虑到从 SQL Server 迁移到 MySQL 会出现两种不同的场景:

从 SQL Server 迁移到本地 MySQL 进行代码测试和修改;

从 SQL Server 迁移到云端 MySQL 数据库正式上线使用;

以下为测试过程中的截图:

1、SQLyog

请点击输入图片描述

2、Navicat Premium

请点击输入图片描述

请点击输入图片描述

注意:我们在测试 Navicat Premium 迁移到 ?MySQL 时发现,对于 SQL Server 的 Money 类型支持不好(不排除还有其它的数据类型支持不好)。Money 类型字段默认的小数位长度为 255,使得无法创建数据表导致整个测试无法成功,需要我们逐张表进行表结构修改才能完成测试过程。

Navicat Premium?的处理速度属于中等,不算快也不算慢,但 CPU 占用还有内存占用都处于高位水平。不过以现在的电脑硬件水平来说,还是可以接受。但 CPU 占用率太高,将使得数据在导入的过程中,服务器不能用于其它用途。

3、Mss2sql

Mss2sql?并没有提供计时器,因此我们使用人工计时的方法,整个过程处理完毕大于是 726 秒。Mss2sql 的 CPU 占用率相对其它工具来说较高,但仍属于可以接受的范围之内。

4、DB2DB

请点击输入图片描述

DB2DB?同样迁移 300万数据时,仅仅使用了 2 分 44 秒,这个速度相当惊人。不过最后的结果出现一个 BUG,就是提示了转换成功,但后面的进度条却没有走完(在后面的数据完整性评测中,我们验证了数据其实是已经全部处理完毕了)。

sqlserver历史记录迁移

sqlserver数据库迁移的几种方式

方法一:将\Microsoft SQL Server\MSSQL\DATA文件夹中的syntt_data.mdf和syntt_log.ldf文件复制到安装有数据库服务器的机器的文件夹中(可以是本机的\Microsoft SQL Server\MSSQL\DATA\文件夹),然后进入企业管理器。

右键点击“数据库”,在浮动菜单中选择“所有任务”中的“附加数据库”。在随后的提示页面中选择刚才复制过来的.MDF文件,如果想指定数据库的所有者,在“指定数据库所有者”选择框中选择你认为合适的用户。

如果想修改数据库的名字,可在“附加为”框中输入新的数据库名字(对本数据库,不建议这么做,因为这样的话,整个程序中所有涉及数据库连接的代码都要随之修改,那将是不必要的劳动)。在进行完上述的工作之后,直接点击“确定”就可进行数据的SQL Server 数据转移转移。

方法二:(方法一)是针对数据库中没有本数据库的服务器,如果数据库中已经建有与该数据库名称相同的数据库,则直接按照备份数据库的恢复操作就可完成数据的SQL Server 数据转移转移。方法如下所述:这种方法首先要在本机上建立一个备份文件,具体操作介绍如下:1、 在企业管理器中打开服务器组以及指定的服务器。

然后右键点击需要备份的数据库在这里是syntt,在浮动菜单中选择“所有任务”菜单下的“备份数据库”,打开数据备份对话框。2、 选择“常规”选项卡,在名称对话框中输入本分 *** 名称,在“描述”文本框中输入备份集描述文本信息。

在“备份”组下选择备份操作类型,共有以下几种:数据库—完全:完整备份数据库。数据库—差异:增量备份数据库。

事务日志:事务日志备份。文件和文件组:数据库文件和文件组备份。

在“目的”组中指定备份设备或者备份文件名称,选择“添加”按钮添加备份设备或者文件;“删除”按钮用来删除备份设备和备份文件;选择“内容”按钮,则可查看已经存储在备份设备或文件中的备份信息。在“重写”组中有两种选项:追加到媒体:选择该选项,表示需要保存备份设备或文件中以前的备份数据。

重写现有媒体:要求本次被分数据覆盖以前的备份数据,从而节省存储空间。在“调度”组中,安排数据备份的时间。

用来指定数据库备份在将来的某个时间执行3、 “选项”选项卡,设置数据库备份操作选项。其中的内容主要有以下几项:完成后验证备份:要求在备份结束时对备份数据进行校验。

备份后弹出磁带:只对磁带备份设备有效,他要求在备份结束时自动卸带。删除事务日志中不活动的条目:要求在事务日志备份结束时删除事务日志中的已经完成的事务日志条目。

检查媒体集名称和备份集到期时间:要求在备份前检查介质集名称和原备份集中备份SQL Server 数据转移的有效期,以防止意外重写破坏原来的备份数据。备份集到期时间:设置备份集的有效期。

初始化并标识媒体:只对磁带设备有效。选择该选项后,SQL Server在备份时将Microsoft定义的磁带格式信息写入介质的开始部分。

此时,可以在“媒体集名称”和“媒体集描述”文本框中定义介质集名称和介质描述信息。4、 在进行完上述的操作之后,剩下的任务就是点击“确定”,使系统开始进行数据库的备份操作。

到目前为止,我们已经有了一个数据库的备份文件,剩下的任务就是怎么将这个文件还原至另外的数据库服务器中了。1、因为使用企业管理器进行数据库的恢复只能是在本机进行,所以在进行数据还原之前,必须将刚才所作的备份文件复制到本机,然后在本机选择“syntt”数据库,右键点击它,在显示出来的浮动菜单中选择“所有任务”下的“还原数据库”。

2、在还原数据库对话框中,在“常规”选项卡中的选择“从设备”的数据恢复方法,通过“选择设备”按钮选择刚才复制过来的文件。“常规”选项卡与“选项”选项卡中的具体内容如下所示:“常规”选项卡:数据库恢复方法:包括“数据库”、“文件组或文件”、“从设备”三种恢复方式。

“数据库”方式:选择该项时,从“显示数据库备份”列表中选择需要显示的指定数据库备份 *** ,从“要还原的第一个备份”列表框中选择首先使用哪一个备份集恢复数据库;“文件组或文件”:选择它时,数据库恢复部件列出指定数据库备份 *** 中备份的数据库文件或文件组,管理员可从这些备份文件中选择恢复那个数据库文件或文件组;“从设备”:选择它时,管理员选择恢复数据库或其日志所使用的备份设备,之后再从该备份设备中选择使用哪一次备份中的数据恢复数据库或其日志。3、点击“确定”,完成恢复操作。

非原创。

sql server中有行迁移现象吗

有的,和oracle一样,SQL中也有行迁移行迁移记包含forwarding_stub 和forwarded 两种类型。

这两类记录是因为数据页不能容纳更新后的记录而产生的,不是因为记录长度超过8060B引起的,所以这两类记录依然是行内记录,与行溢出记录是不同的。这两种记录总是成对出现的,当出现forwarding_stub时,在别的页面中一定有与之对应的一条forwarded记录。

forwarding记录也叫forwarding_stub记录,记录头标志为0x04,它是一条完整的数据记录。虽然结构看起来特殊,但还是符合一般记录的结构,记录中主要内容就是在行中用8字节保存了指向移出后的记录的位置指针。

forwarded 记录,有时直接叫做迁移记录。记录头部标志为0x32. 它也是一条完整记录,格式跟一般记录略有差异,大体结构还是相同的。

这里是存储了溢出前的那条记录的真实数据。 这两种记录的具体存储结构比较简单和直观,其逻辑结构会在下面的实例列举中结合具体数据记录来分析说明。

测试这种的方法太长了,不在这里具体列出,你可以到51CTO里面找一下,搜索SQL行迁移有具体的测试方法。

sql server中有行迁移现象吗

有的,和oracle一样,SQL中也有行迁移

行迁移记包含forwarding_stub 和forwarded 两种类型。这两类记录是因为数据页不能容纳更新后的记录而产生的,不是因为记录长度超过8060B引起的,所以这两类记录依然是行内记录,与行溢出记录是不同的。

这两种记录总是成对出现的,当出现forwarding_stub时,在别的页面中一定有与之对应的一条forwarded记录。

forwarding记录也叫forwarding_stub记录,记录头标志为0x04,它是一条完整的数据记录。虽然结构看起来特殊,但还是符合一般记录的结构,记录中主要内容就是在行中用8字节保存了指向移出后的记录的位置指针。

forwarded 记录,有时直接叫做迁移记录。记录头部标志为0x32. 它也是一条完整记录,格式跟一般记录略有差异,大体结构还是相同的。这里是存储了溢出前的那条记录的真实数据。

这两种记录的具体存储结构比较简单和直观,其逻辑结构会在下面的实例列举中结合具体数据记录来分析说明。

测试这种的方法太长了,不在这里具体列出,你可以到51CTO里面找一下,搜索SQL行迁移有具体的测试方法

SQL数据库如何自动备份和恢复

一、备份数据库

1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server

2、SQL Server组--;双击打开你的服务器--;双击打开数据库目录

3、选择你的数据库名称(如论坛数据库Forum)--;然后点上面菜单中的工具--;选择备份数据库

4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份

二、还原数据库

1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server

2、SQL Server组--;双击打开你的服务器--;点图标栏的新建数据库图标,新建数据库的名字自行取

3、点击新建好的数据库名称--;然后点上面菜单中的工具--;选择恢复数据库

4、在弹出来的窗口中的还原选项中选择从设备--;点选择设备--;点添加--;然后选择你的备份文件名--;添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)--;然后点击上方常规旁边的选项按钮

5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001.mdf,现在的数据库是zw0002,就改成zw0002.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是.ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:\sqldata\zw0002.mdf或者d:\sqldata\zw0002.ldf),否则恢复将报错

6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复

如何设置才能使sql每半小时备份一次

SQL Server数据库备份工具 2.2

数据库使用过程中历史表记录的增多数据库的增大导致以下问题的出现

1 数据库性能大幅下降

2 报表生成等要求数据库大数据量操作时导致数据库响应短暂停止甚至完全停止响应

3 数据库备份或同步等数据库维护时间加长

本程序为绿色软件无需安装, 正确配置参数后即可运行,通过使用备份计划(可配置)定时将数据库中历史表的历史记录转移到备份机器上,减小生产机运行数据库,转移报表生成等大幅占用数据库操作到备机以减小生产机压力

实现说明:

1 增加一台备份机器

2 备机上建立一个还原库用以还原当前数据库的备份和一个历史库用以保存历史数据

3 根据调度计划定时将当前生产机数据库备份到备机

4 还原备机还原库并将还原库中新增或更新数据导入备机历史库,目的为尽量少的占用当前数据库而使用备机资源

5 删除生产机数据库中已成功转移的历史数据

6 删除使用过的文件和清理数据库日志,减少磁盘占用

特点:

1 所有参数可配置

2 占用生产机数据库资源少, 仅备份操作(历史表数据转移后备份时间大大减短且大多数情况下仅进行差异备份)

3 操作速度快,且费时操作部分都基本在备机,不占用生产机资源

4 自动备份当前数据库日志和截断备份机器上数据库日志

5 自动删除使用过的文件,减少磁盘空间占用

6 整个操作过程提供详细错误日志以方便维护

7 与SQL SERVER自带的发布订阅功能不同,历史数据只在备机上保留一份(如需备份备机历史数据请自行解决或定制此需求),生产机数据库只保留有生产必须的数据量即可,可尽可能的减少当前生产机数据库的数据量减少资源占用,将历史数据转移到备机上

8 无需更改现有系统

9 和其他备份程序的区别:主要针对历史数据转移需求,数据库备份只是一个前提,转移历史数据减小生产机数据库压力才是此程序的实质

升级说明:

1 去除所有标识部分,供公共使用

2 延长一次运行时间限制到30天

附:

1 如果有意请联系public_release@sina

2 可提供源代码(vc)和实现其他定制需求

3 此共享发布程序每次运行限制为30天(可放开),请不要相信其他的所谓破解版,实为其他非善意软件的安装程序包,如果不想有一次运行30天的限制,使用额外的程序在29天时关闭程序后重新启动即可

如何查询SQL Server备份还原历史记录

SQL Server在msdb数据中维护了一系列表,用来存储执行所有备份和还原的细节信息。即使你正在使用第三方的备份应用程序,只要这个应用程序使用SQL Server的虚拟设备接口(Virtual Device Interface---VDI)来执行备份和还原执行,那么执行细节依然被存储在这一系列表中。

存储细节的表包括:

backupset

backupfile

backupfilegroup (SQL Server 2005 upwards)

backupmediaset

backupmediafamily

restorehistory

restorefile

restorefilegroup

logmarkhistory

suspect_pages (SQL Server 2005 upwards)

你可以在Books Online里面找到上面这些表的具体说明。

下面这个脚本可以帮你找出每个数据库近期的备份信息:

SELECT b.name, a.type, MAX(a.backup_finish_date) lastbackup

FROM msdb..backupset a

INNER JOIN master..sysdatabases b ON a.database_name COLLATE DATABASE_DEFAULT = b.name COLLATE DATABASE_DEFAULT

GROUP BY b.name, a.type

ORDER BY b.name, a.type

指定数据库最后20条事务日志备份信息:

SELECT TOP 20 b.physical_device_name, a.backup_start_date, a.first_lsn, a.user_name FROM msdb..backupset a

INNER JOIN msdb..backupmediafamily b ON a.media_set_id = b.media_set_id

WHERE a.type = 'L'

ORDER BY a.backup_finish_date DESC

指定时间段的事务日志备份信息:

SELECT b.physical_device_name, a.backup_set_id, b.family_sequence_number, a.position, a.backup_start_date, a.backup_finish_date

FROM msdb..backupset a

INNER JOIN msdb..backupmediafamily b ON a.media_set_id = b.media_set_id

WHERE a.database_name = 'AdventureWorks'

AND a.type = 'L'

AND a.backup_start_date '10-Jan-2007'

AND a.backup_finish_date

如何把sqlserver数据迁移到mysql数据库及需要注意事项

在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据迁移到MySQL。下面是小编日常整理的一种sqlserver数据库迁移的方法。

一、SQL Server中常用数据类型与MySQL不同的地方

二、将SQL Server数据迁移到MySQL需要注意的一些问题

1、唯一索引的不同,sql server的唯一索引的字段只能允许存在一个null值,而mysql,一直oracle中唯一索引对应的字段都允许存在多个null值。

2、存储过程的语法存在很大的不同,存储过程的迁移是最麻烦的,需要仔细修改。

3、程序中部分写的SQL语句由于语法的不同也要相应的修改。

三、将SQL Server数据迁移到MySQL的常见方法

1、使用 SQLyog 迁移

优点

该迁移方法很简单,灵活,迁移时,可以进行字段的修改,比如在sql server中原来是datetime,然后迁移到mysql时你可以配置成timestamp;成功率很高;

缺点

迁移很慢!这是该方法最大的缺点,如果表的数据量达到几十万行,甚至几百万行,你会发现迁移起来真的很慢。明显比其他迁移方法慢很多。

2、使用 powerdesigner 和 sql server 的脚本导出功能 来迁移

(1)、该方法首先使用 powerdesigner,对sql

server数据库,进行逆向工程,得到E-R图,然后生成MySQL的建表语句。完成数据库结构的迁移;当然表结构的迁移,不使用

powerdesigner一样也是可以的。比如我将表结构导出成语句,然后手动进行修改,然后在MySQL中运行,也是一样的;

(2)、然后使用 sql server的工具 SSMS,将sql server数据库中的表的数据,导出成insert语句,每个表对应导出一个文件,然后对文件进行一些处理,然后导入到MySQL数据库中。

3、使用Oracle MySQL Server 官方的 workbeach 工具进行迁移

(1)、在workbench 连接sql server时,用户需要有 view any database 的权限。不然workbench无法访问sql server的表结构的元数据,从而无法进行迁移。

(2)、还有使用 Navicat 来进行迁移的方法,方法和 SQLyog 是类似的。

(责任编辑:IT教学网)

更多