哈喽,大家好呀!这里是码农后端。在日常的数据库开发和使用过程中,数据库的迁移还是比较常见的,比如工作环境发生变化,或者是数据库所在的服务器需要更换等等,可能都需要进行数据库的迁移。本篇将介绍几种常见的SQL Server数据库的迁移方式。

1、数据库的分离、附加

注:分离和删除的区别在于硬盘上是否还留存有数据库文件

1.1 查找数据库文件路径

这一步可以看作是迁移前的准备工作,即找到我们要迁移的数据库文件的位置。

右键要迁移的数据库 ->属性 ->文件,复制文件的路径。

在本地查看

数据文件:保存数据库中的数据
日志文件:保存对数据库操作的一些日志

1.2 分离

右键要分离的数据库 ->任务 ->分离;

如下两个都勾选上,然后点击确定即可;

分离后,右键刷新数据库,会发现之前的那个数据库已经不在我们的对象资源管理器中,说明已经成功分离了。

1.3 分离之后保存到本地

分离后,就能对数据库文件进行拷贝黏贴了。准确的说是从原来的磁盘路径迁移到本地新的目录路径中。

注:一定要先分离,再拷贝黏贴到本地的其他目录;否则会提示:操作无法完成,因为文件已在SQL Server(MSSQLSERVER)中打开。

1.4 还原

分离之后,如果想要还原数据库,就需要利用附加功能。

点击数据库,右键附加 ->添加,找到要添加的数据库文件的位置,点击两次确定,就可以在对象资源管理器中看到我们之前的数据库又回来了,并且里面的表和数据都还在。

1.5 分离附加方式的问题

在该操作的过程中,我们的数据库是一种不可用的状态,即只要把数据库分离了,就无法访问这个数据库了。

2、数据库的备份、还原

备份数据库的主要目的是为了防止数据的丢失或损坏。

相比于分离附加,备份过程中数据库是可用的状态。

2.1 备份

右键要分离的数据库 ->任务 ->备份;

备份类型选择最简单的完整备份即可,删除原路径,自行添加备份到的位置,命名为DB.bak,然后一路点确定,备份成功后会提示对数据库"DB"的备份已成功完成。然后就可以去对应路径查看备份的文件了。

2.2 还原

备份好后,如果某一天我们数据库中的数据被丢失或损坏时,就可以进行还原操作了。

右键数据库 ->还原数据库,勾选设备,然后添加,选中备份的文件进行还原;一路点击确定,即可成功还原。

2.3 删除和分离数据库的区别

1)分离数据库后,在SQL Server里面就没有该数据库了,但是其文件还在。

即分离之后数据库中的数据文件是没有丢失的,还可以通过附加的方式将数据添加进来。

2)而删除会删除数据文件和日志文件,是比较危险的操作。

3、数据库脚本的保存

3.1 生成脚本

使用数据库脚本的方式保存,右键某个数据库 ->任务 ->生成脚本

下一步,选择为整个数据库及所有数据库对象编写脚本(E),下一步,点击高级,下拉,找到要编写脚本的数据的类型,选择架构和数据;

注:之所以要选择架构与数据,是为了把表结构和表中数据都保存下来;简单理解,架构即表结构,数据即表中数据。


勾选另存为脚本文件,然后自行选择路径并添加文件名,如下。

然后就一直点下一步,如下即说明脚本生成成功,点击完成即可

3.2 还原

同样,当数据库中数据出现丢失或损坏时,就可以进行还原操作。

找到我们的SQL脚本文件,右键,打开方式选择SQL Server默认的SSMS 管理工具,点击执行,完成后刷新数据库,就能看到还原的数据库了。