一、相同SQL Server版本(2008为例)之间数据库备份与还原数据库
(1)数据库备份服务器
相同SQL Server服务器版本之间数据库的备份还原操做相对来讲比较简单。ide
首先找到须要备份的数据库实例,【右键】->【任务】->【备份...】,界面下边选择备份路径,点击肯定,备份成功后便可在选择的备份路径下找到后缀名为.bak的备份文件。日志
(2)数据库还原对象
对于须要还原的.bak数据库文件,通常会先拷贝到索引
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\ 路径下边。it
而后打开本地数据库链接,选择“数据库”,【右键】->【还原数据库】,“还原目标”选择(或建立)目标数据库,“还原的源”选择源设备,添加须要还原的.bak数据库文件,勾选“选择用于还原的备份集”记录。在界面左侧“选择页”目录树中共有两个节点:常规、选项。在选项操做界面,“将数据库文件还原为”中用来指定将须要还原的数据库以及日志文件还原到指定路径,通常为C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\data,这个路径若是输入的不合法的话,在还原指定数据库文件时将会报错。class
二、低SQL Server服务器版本(2005 / 2000)的备份数据库文件,还原到高版本(2008为例)服务器软件
因为软件的向上兼容原则,对于低版本的数据库文件,还原到高版本服务器时,操做与相同版本相似,在此不在赘述。date
三、高SQL Server服务器版本(2008为例)的备份数据库文件,还原到低版本(2005为例)服务器
这种状况相对来讲是比较麻烦的,不能再使用常规的备份与还原方法,备份高版本数据库时须要将其实例导出为SQL脚本,而后在低版本新建一个数据库,而后新建查询,执行以前导出的SQL脚本。
(1)如何将指定数据库导出为SQL脚本?
选择须要导出的数据库实例,【右键】->【任务】->【生成脚本...】,使用生成SQL Server脚本向导,【下一步】->【下一步】选择数据库实例,界面下方勾选“为所选数据库中的全部对象编写脚本”->【下一步】选择脚本选项,该界面有一些细节须要注意,这里主要包括两个选项:表/视图选项和常规选项,在表/视图选项,须要将“编写数据脚本”和“编写索引脚本”更改成true,其余默认便可,若是不放心,能够将该选项中全部项都勾选为true;在常规选项,“为服务器版本编写脚本”中更改须要还原数据库服务器的版本(例如SQL Server 2005)->【下一步】输出选项,脚本模式中选择“将脚本保存到文件”,指定保存路径与SQL脚本文件名便可。
(2)将高版本导出的SQL脚本还原到低版本数据库实例中
在低版本(SQL Server 2005)服务器中新建数据库,而后在查询界面执行以前导出的SQL脚本。
注意:有时候在将SQL Server 2008中的数据库导出为SQL Server 2005 SQL脚本时,会出现一些数据类型不支持错误,例如在SQL Server 2008数据库中若是存在Date类型字段,而这个数据类型在2005中是不支持的,那么导出脚本时将会出现错误,这时常规方法是将Date类型字段修改成2005所支持的datetime字段。
四、将指定的表(带数据)导出为SQL脚本文件
选择须要导出的数据库实例,【右键】->【任务】->【生成脚本...】,使用生成SQL Server脚本向导,【下一步】->【下一步】选择数据库实例->【下一步】选择脚本选项,在“表/视图选项”中将“编写数据的脚本”更改成true,“常规”中“为服务器版本编写的脚本”选择对应的服务器版本->【下一步】选择对象类型,勾选“表”->【下一步】选择表,勾选须要导出的表>【下一步】输出选项,脚本模式中选择“将脚本保存到文件”,指定保存路径与SQL脚本文件名便可。