当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法。

    下面详细描述具体步骤:

    1. 打开SQL server management studio

    2. 连接到服务器。在“服务器名称”上填写本机名称,可以在计算机-右键-属性中查看“计算机名”,然后点击“连接”

      

sql server 创建复制机制 sqlserver2012复制数据库_备份文件

    3. 选中你要复制的数据库,右键-任务-备份

      

sql server 创建复制机制 sqlserver2012复制数据库_SQL Server_02

    4. 选择你要复制的目标位置。一般情况下会有一个默认位置,请只备份到一个位置上,最好不要再添加一个位置,不然还原的时候容易出错(血的教训!),可以在备份完之后去默认位置拷贝出备份文件。

     

sql server 创建复制机制 sqlserver2012复制数据库_备份文件_03

    5. 点击“确定”就会开始备份了。等备份完成,会得到一个xxx.bak文件,该文件就是备份文件,去目标位置拷出该文件,拷到目标机器上即可。

    6. 在目标机器上按第1步连接数据库,然后右键点击“数据库”,点击“还原文件和文件组“,而不是点击“还原数据库”,不然容易出错。

     

sql server 创建复制机制 sqlserver2012复制数据库_右键_04

    7. 在“还原的目标”下的“目标数据库”右侧的栏中填写你想在目标机器上复制的数据库的名字,可以和原数据库名不同。

        在“还原的源”下点击“源设备”右侧的“...”,在点击“添加”选择拷到本机的数据库备份文件xxx.bak,然后点击确定就可以了

     

sql server 创建复制机制 sqlserver2012复制数据库_数据库_05

    8. 这时下方的“选择用于还原的备份集”中会出现一栏信息,就是自动从备份文件中识别出的备份集,勾选之后点击确定即可开始还原。

     

sql server 创建复制机制 sqlserver2012复制数据库_sql server 创建复制机制_06

以上步骤完成之后,即可在“数据库”下看到复制来的数据库。

注:在复制过程中,出现不少小问题,以至于出现了很多弯路,比如在备份数据库时为了方便就想把文件直接也备份一份到硬盘里,就在原默认位置下又添加了硬盘的位置,结果在硬盘中得到一个没有文件后缀的文件(不是.bak文件),直接拿这个文件还原的话会出现“缺少介质”的错误提示而不能还原。之后搜索了一下,说是因为文件不完全,可以把备份的两个文件都拷过来还原,但是试了之后还是报错,最后试了只备份一个文件到默认路径下,又重新备份了文件,在默认路径下得到一个.bak文件,把该文件拷出来还原就成功了。