主要内容大纲:

  1. 数据库的脱机联机
  2. 数据库的分离附加
  3. 导入导出数据
  4. 数据库的备份还原
  5. 收缩数据库和文件
  6. SQL脚本的生成和执行
  7. 操作常见问题
  • 数据库脱机联机—脱机
  • 操作步骤:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ② 鼠标右键单击要脱机的数据库“db_2012”,在弹出的快捷菜单中选择“任务”∕“脱机”命令,进入“使数据库脱机”对话框。
  • couchbase 数据移植 数据库移植_Server

    couchbase 数据移植 数据库移植_SQL_02


  • ③联机完成后,单击“关闭”按钮即可
  • 数据库脱机联机—联机
  • 操作步骤:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击要联机的数据库“db_2012”,在弹出的快捷菜单中选择“任务” ∕“联机”命令,进入“使数据库联机”对话框。
  • couchbase 数据移植 数据库移植_couchbase 数据移植_03


  • couchbase 数据移植 数据库移植_Server_04


  • ③联机完成后,单击“关闭”按钮即可.
  • 数据库分离附加—分离
  • 分离数据库不是删除数据库,它只是将数据库从服务器中分离出去。下面介绍如何分离数据库“MRKJ”,具体操作步骤如下:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库,在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单要分离的数据库“mrkj”,在弹出的快捷菜单中选择“任务”/“分离”命令,弹出“分离数据库”窗体。
  • couchbase 数据移植 数据库移植_数据库_05


  • ③在“分离数据库”窗体中,“删除连接”表示是否断开与指定数据库的连接;“更新统计信息”表示在分离数据库之前是否更新过时的优化统计信息。这里选择“删除连接”和“更新统计信息”选项。
  • ④单击“确定”按钮,完成数据库的分离操作。
  • 数据库分离附加—附加
  • 与分离对应的就是附加操作,它可以将分离的数据库重新附加到数据库中,也可以附加其它服务器组中分离的数据库,但在附加数据库时,必须指定主数据文件(MDF 文件)的名称和物理位置。
  • 下面附加数据库“mrkj”,具体操作步骤如下:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。
  • ②鼠标右键单击数据库,在弹出的快捷菜单中选择“附加”命令,弹出“附加数据库”窗体,在“附加数据库”窗体中单击“添加”按钮,弹出“定位数据库文件”窗体,在该窗体中可以选择要附加数据库的位置。
  • couchbase 数据移植 数据库移植_couchbase 数据移植_06


  • ③单击“确定”按钮,返回到“附加数据库”窗体。
  • couchbase 数据移植 数据库移植_SQL_07


  • ④单击“确定”按钮,完成数据库的附加操作。
  • 数据表导入导出–导入
  • 导入数据是从Microsoft SQL Server的外部数据源中检索数据,然后将数据插入到SQL Server表的过程。下面主要介绍通过导入导出将SQL Server数据库“db_2012”中的部分数据表导入到SQL Server数据库“MRKJ”中。具体操作步骤如下:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击数据库“MRKJ”,在弹出的快捷菜单中选择“任务”/“导入数据”命令,此时将弹出“SQL Server导入和导出向导”窗体。
  • couchbase 数据移植 数据库移植_SQL_08


  • ③进入到“选择数据源”窗体,在该窗体中首先选择数据源,然后选择服务器名称,再选择身份验证方式,最后选择导入数据的源数据库,这里选择“db_2012”数据库.
  • couchbase 数据移植 数据库移植_Server_09

  • 数据表导入导出–导入其他数据
  • SQL Server 2012除了支持Access和SQL Server数据源外,还支持其他形式的数据源,如Microsoft Excel 电子表格、Microsoft FoxPro 数据库、dBase 或 Paradox 数据库、文本文件、大多数的OLE DB和ODBC数据源以及用户指定的OLE DB 数据源等,本节以Excel表格中的数据内容导入SQL Server数据库为例进行介绍。
  • 具体操作步骤如下:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击数据库“db_2012”,在弹出的快捷菜单中选择“任务”/“导入数据”命令,此时将弹出“选择数据源”窗体.
  • couchbase 数据移植 数据库移植_数据库_10

  • 数据表导入导出–导出
  • 导出数据是将SQL Server实例中的数据设取为某些用户指定格式的过程,如将SQL Server表的内容复制到Excel表格中。
  • 下面主要介绍通过导入导出向导将SQL Server数据库“db_2012”中的部分数据表导出到Excel表格中。具体操作步骤如下:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击数据库“db_2012”,在弹出的快捷菜单中选择“任务”/“导出数据”命令,如图12.27所示,此时将弹出“选择数据源”窗体,在该窗体中选择要从中复制数据的源。
  • couchbase 数据移植 数据库移植_SQL_11


  • couchbase 数据移植 数据库移植_数据库_12

  • 数据库的备份还原—备份类型
    用于还原和恢复数据的数据副本称为“备份”。使用备份可以在发生故障后还原数据。例如:媒体故障、用户错误(例如,误删除了某个表)、硬件故障(例如,磁盘驱动器损坏或服务器报废)和自然灾难等。
    创建 SQL Server 备份的目的是为了还原已损坏的数据。SQL Server支持完整备份和差异备份。数据库备份对于进行日常管理非常有用,如将数据库从一台服务器复制到另一台服务器,设置数据库镜像以及进行存档。在数据库大小允许时都建议使用这种方式。SQL Server 支持以下数据库备份类型。
    ①完整备份:“完整备份”包括特定数据库(或者一组特定的文件组或文件)中的所有数据,以及可以恢复这些数据的足够的日志。
    ②差异备份:“差异备份”基于数据的最新完整备份。这称为差异的“基准”或者差异基准。差异基准是读/写数据的完整备份。差异备份仅包括自建立差异基准后发生更改的数据。通常,建立基准备份之后很短时间内执行的差异备份比完整备份的基准更小,创建速度也更快。因此,使用差异备份可以加快进行频繁备份的速度,从而降低数据丢失的风险。
    ③文件备份:可以分别备份和还原数据库中的文件。使用文件备份能够只还原损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。
  • 数据库的备份还原—还原类型
    恢复模式旨在控制事务日志维护。有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式。通常,数据库使用完整恢复模式或简单恢复模式。
    ①简单恢复:允许将数据库恢复到最新的备份。
    简单恢复仅用于测试和开发数据库或包含的大部分数据为只读的数据库。简单恢复所需的管理最少,数据只能恢复到最近的完整备份或差异备份,不备份事务日志,且使用的事务日志空间最小。
    与以下两种恢复类型相比,简单恢复更容易管理,但如果数据文件损坏,出现数据丢失的风险系数会很高。
    ②完全恢复:允许将数据库恢复到故障点状态。
    完全恢复提供了最大的灵活性,使数据库可以恢复到早期时间点,在最大范围内防止出现故障时丢失数据。与简单恢复类型相比,完全恢复模式和大容量日志恢复模式会向数据提供更多的保护。
    ③大容量日志记录恢复:允许大容量日志记录操作。
    大容量日志恢复模式是对完全恢复模式的补充。对某些大规模操作(例如创建索引或大容量复制),它比完全恢复模式性能更高,占用的日志空间会更少。不过,大容量日志恢复模式会降低时点恢复的灵活性。
  • 数据库的备份还原—备份
  • “备份数据库”任务可执行不同类型的 SQL Server 数据库备份(完整备份、差异备份和文件备份)。
  • 下面以备份数据库“MRKJ”为例介绍如何备份数据库。具体操作步骤如下。
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击要备份的数据库“MRKJ”,在弹出的快捷菜单中选择“任务”/“备份”命令。
  • couchbase 数据移植 数据库移植_couchbase 数据移植_13


  • ③进入“备份数据库”窗体。在“常规”选项卡中设置备份数据库的数据源和备份地址。
  • couchbase 数据移植 数据库移植_Server_14


  • 在该对话框中设置以下几项:
  • 在“数据库”列表框中验证数据库名,如果需要也可以更改备份的数据库名称。
  • 在“备份类型”列表框中选择数据库备份的类型,这里选择“完整”备份。同时选择“备份组件”选项组中的“数据库”选项,备份整个数据库。
  • 根据需要通过“备份集过期时间”选项设置备份的过期天数。取值范围为0~9999,0表示备份集将永不过期。
  • 在“目标”区域中单击“添加”按钮,弹出“选择备份目标”对话框,如图12.39所示,这里选择“文件名”选项,单击其后的浏览按钮“ ”,设置文件名及其路径。
  • couchbase 数据移植 数据库移植_SQL_15


  • ④单击“确定”按钮,返回到“备份数据库”窗体。单击“选项”选项卡,如图12.40所示。这里在“覆盖媒体”区域中选择“备份到现有媒体集”/“追加到现有备份集”选项,把备份文件追加到指定媒体上,同时保留以前的所有备份。
  • couchbase 数据移植 数据库移植_数据库_16


  • ⑤单击“确定”按钮,系统提示备份成功的提示信息。单击“确定”按钮后即可完成数据库的完整备份
  • couchbase 数据移植 数据库移植_couchbase 数据移植_17

  • 数据库的备份还原—还原
  • 执行数据库备份的目的是便于进行数据恢复。如果发生机器错误、用户操作错误等,用户就可以对备份过的数据库进行恢复。
  • 下面以恢复数据库“MRKJ”为例介绍如何恢复数据库。具体操作步骤如下。
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击要恢复的数据库“MRKJ”,在弹出的快捷菜单中选择“任务”/“还原”/“数据库”命令。
  • couchbase 数据移植 数据库移植_SQL_18


  • ③进入“还原数据库”对话框,在该对话框的“常规”选项卡中设置还原的目标和源数据库,在该对话框中保留默认设置即可。
  • couchbase 数据移植 数据库移植_数据库_19


  • ④单击“选项”选项卡,设置还原操作时采用的形式以及恢复完成后的状态。如图12.44所示。这里在“还原选项”区域中选择“覆盖现有数据库”复选框,以便在恢复时覆盖现有数据库及其相关文件。
  • couchbase 数据移植 数据库移植_SQL_20


  • ⑤单击“确定”按钮,系统提示还原成功的提示信息。单击“确定”按钮后即可完成数据库的还原操作。
  • couchbase 数据移植 数据库移植_SQL_21

  • 收缩数据库和文件—自动收缩
  • SQL Server 2012在执行收缩操作时,数据库引擎会删除数据库的每个文件中已经分配但还没有使用的页,收缩后的数据库空间将自动减少。下面介绍如何自动收缩数据库。具体操作步骤如下:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击指定的数据库“MRKJ”,在弹出的快捷菜单中选择“属性”命令,进入“数据库属性”对话框,单击“选项”选项卡。
  • couchbase 数据移植 数据库移植_Server_22


  • ③在“其他选项”列表中单击“自动”/“自动收缩”的文本框,在弹出的浮动列表框中选择“TRUE”,然后单击“确定”按钮。数据库引擎会定期检查每个数据库空间使用情况,如果发现大量闲置的空间,就会自动收缩数据库文件的大小。
  • 收缩数据库和文件—手动收缩
  • 除了自动收缩数据库,用户也可以手动收缩数据库或数据库中的文件。下面介绍如何手动收缩数据库“MRKJ”。具体操作步骤如下:
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击要收缩的数据库“MRKJ”选项,在弹出的快捷菜单中选择“任务”/“收缩”/“数据库”命令。
  • couchbase 数据移植 数据库移植_Server_23


  • 注意:
  • 若要收缩单个数据库文件,可以右键单击要收缩的数据库,在弹出的快捷菜单中选择“任务”/“收缩”/“文件”命令即可收缩文件。
  • ③进入“收缩数据库-MRKJ”窗体。该窗体中各选项的说明如下。
  • 数据库:数据库文本框中显示了要收缩的数据库名称。
  • 数据库大小:“当前分配的空间”文本框显示了所选数据库的已经分配的空间;“可用空间”文本框显示了所选数据库的日志文件和数据文件的可用空间。
  • 收缩操作:勾选“在释放未使用的空间前重新组织文件,选中此选项可能会影响性能”选项,系统会按指定百分比收缩数据库;通过微调按钮设置“收缩后文件中的最大可用空间”的百分比(取值范围介于0~99之间)。
  • 设置完成后单击“确定”按钮进行数据库收缩操作。
  • couchbase 数据移植 数据库移植_数据库_24


  • ④设置完成后单击“确定”按钮进行数据库收缩操作。
  • SQL脚本的生成和执行—数据库脚本生成
  • 数据库在生成脚本文件后,可以在不同的计算机之间传送。下面将数据库“db_2012”生成脚本文件。具体操作步骤如下。
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②鼠标右键单击指定的数据库“db_2012”,在弹出的快捷菜单中选择“编写数据库脚本为”/“CREATE到”/“文件”命令。
  • couchbase 数据移植 数据库移植_SQL_25


  • ③进入“另存为”对话框。在该对话框中选择保存位置,在“文件名”文本框中写入相应的脚本名称。单击“保存”按钮,开始编写SQL脚本。
  • couchbase 数据移植 数据库移植_SQL_26

  • SQL脚本的生成和执行—数据表脚本生成
  • 除了将数据库生成脚本文件以外,用户还可以根据需要将指定的数据表生成脚本文件。下面将数据库“db_2012”中的数据表“Student”生成脚本文件。具体操作步骤如下。
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②展开指定的数据库“db_2012”∕“表”选项。
  • ③鼠标右键单击数据表“Student”,在弹出的快捷菜单中选择“编写表脚本为”/“CREATE到”/“文件”命令。
  • couchbase 数据移植 数据库移植_SQL_27


  • ④进入“另存为”对话框。在该对话框中选择保存位置,在“文件名”文本框中写入相应的脚本名称,单击“保存”按钮,开始编写SQL脚本。
  • couchbase 数据移植 数据库移植_SQL_28

  • SQL脚本的生成和执行—执行
  • 脚本文件生成以后,用户可以通过SQL Server Management Studio对指定的脚本文件进行修改,然后执行该脚本文件。执行SQL脚本文件的具体操作步骤如下。
  • ①启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
  • ②单击菜单“文件”∕“打开”∕“文件”命令,弹出“打开文件”对话框,从中选择保存过的脚本文件,单击“打开”按钮。脚本文件就被加载到SQL Server Management Studio中了。
  • couchbase 数据移植 数据库移植_SQL_29


  • ③在打开的脚本文件中可以对代码进行修改。修改完成后,可以按Ctrl+F5键或 按钮对脚本语言分析,然后使用F5键或 按钮执行脚本。
  • 操作常见问题—数据库恢复失败
    从一个备份文件中恢复数据库时提示:尚未备份数据库 “XX”的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。
    这是因为还原数据库时有新的事务日志文件产生,按照还原之前的日志文件备份无法正确还原数据库,此时可以先备份尾部日志再还原。如果日志不重要可以使用with replace选项,删除原数据库,从备份中重新创建指定的数据库文件。例如:
    RESTORE DATABASE XX FROM DISK = ‘D:\XX备份.bak’
    WITH REPLACE
  • 操作常见问题—分离附加常遇问题
    在分离和附加数据库时,应注意以下几点:
    ①分离数据库时,需断开用户与数据库的连接,不能使用数据库。
    ②数据库被移动到的位置需要有够大的空间存放数据库文件。
    ③做好数据备份再移动数据库,以防数据丢失。
    ④分离数据库只是断开了对数据库的控制,它依然存在于物理空间,依然可以对它进行修改。