在实际的数据库Sqlserver的运维的过程当中,不少时候咱们须要作到数据的备份操做,能够作到定时备份,也能够进行手动数据库备份。在实际的过程当中,有时候因业务须要备份出完整数据库,而有时候又由于实际业务只须要影响到一张表或者几张表,备份整个数据库未必是最优的方案,此时可采用生成脚本或者Select Into的方式对单表进行备份。DBA在运维过程当中备份数据差很少用的就是以上几种操做方式,下面就详细说下这几种备份方式。sql
(1)数据库整库备份数据库
此方式备份数据库是最完整的,能够将数据库中全部的对象都备份下来生成个.Bak文件,后续若是出现问题,能够直接经过.bak文件还原数据库,但备份的耗时会比较长,而且占用磁盘空间会比较大。此方法备份的操做是直接在Sqlserver数据库管理软件中选中数据库,右键选择任务,而后选择备份,以下图架构
而后进入备份界面后选择备份存放的路径以及设置好备份文件名称,点击肯定便可进行备份,以下图运维
(2)经过生成脚本的方式单表备份server
有时候咱们业务系统的更新可能只涉及到一张表或者几张表,此时能够经过对每一个数据表进行单表备份的方式来操做,只备份这几张涉及到变动操做的数据表。操做的方法为在Sqlserver数据库管理软件中选中数据库,右键选择任务,而后选择生成脚本,参考方法一中的第一个图。而后进入生成脚本界面,选择下一步进入设置界面:对象
进入设置界面后,选择特定的数据库对象,而后再从中选择你须要备份的数据表,以下图:blog
而后点击下一步,进入存储路径以及导出设置界面,保存到文件能够选择保存为单个文件或者每一个对象一个文件。此处关键一点记得选择高级按钮,在里面设置要编写脚本的数据类型,不然默认规则导出来的文件中只含有表的架构语句(即建立table的SQL语句),不含有任何表数据。以下图table
选择高级按钮后,进入高级设置项,将下拉菜单下拉到最后能够看到一个设置项叫作要编写脚本的数据的类型。将之设置为架构和数据或者仅限数据。只有这两种方式导出来的文件中才包含表格中的数据,仅限架构导出来的只是建立table的语句。软件
设置好上述信息后点击完成,自动建立备份文件到指定的存储路径下,生成的文件是.sql后缀的数据库SQL文件。数据类型
(3)经过Select Into语句将一个表快速备份到一个临时新表中。
此备份方法是将查找出来的数据快速写入到指定的备份新表中,自动建立table。
如将A数据库中的Product表全部数据快速备份到ABackUp数据库中的Product_0228表中,可以使用如下语句操做,直接在新建查询窗口执行便可。
Select * Into ABackUp.dbo.Product_0228 FROM A.dbo.Product;
执行此语句要求into后面的表在执行以前不存在,存在的话上述语句没法执行。这个Product_0228表格也无需手动处理,上述语句在执行的时候自动建立跟Product表一致的结构。