SQL Server提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。但由于数据库管理系统的特殊性,需要利用SQL Server提供的工具才能完成以上工作,而直接的文件拷贝是行不通的。

这个方法涉及到SQL Server分离数据库和附加数据库这两个互逆操作工具。

1、分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。

2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server数据库服务器中,由该服务器来管理和使用这个数据库。

二、分离数据库

1. 在启动SSMS并连接到数据库服务器后,在对象资源管理器中展开服务器节点。在数据库对象下找到需要分离的数据库名称,这里以student_Mis数据库为例。右键单击student_Mis数据库,在弹出的快捷菜单中选择属性。

2. 在“数据库属性”窗口左边“选择页”下面区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”文本框,在其下拉列表中选择“SINGLE_USER”。

3. 在上图中单击“确定”按钮后将出现一个消息框,通知我们此操作将关闭所有与这个数据库的连接,是否继续这个操作(如下图)。注意:在大型数据库系统中,随意断开数据库的其它连接是一个危险的动作,因为我们无法知道连接到数据库上的应用程序正在做什么,也许被断开的是一个正在对数据复杂更新操作、且已经运行较长时间的事务。

4. 单击“是”按钮后,数据库名称后面增加显示“单个用户”(如下图)。右键单击该数据库名称,在快捷菜单中选择“任务”的二级菜单项“分离”。出现下图所示的“分离数据库”窗口。

5. 在下图的分离数据库窗口中列出了我们要分离的数据库名称。请选中“更新统计信息”复选框。若“消息”列中没有显示存在活动连接,则“状态”列显示为“就绪”;否则显示“未就绪”,此时必须勾选“删除连接”列的复选框。

6. 分离数据库参数设置完成后,单击底部的”确定”按钮,就完成了所选数据库的分离操作。这时在对象资源管理器的数据库对象列表中就见不到刚才被分离的数据库名称student_Mis了(如下图)。

三、附加数据库

1. 将需要附加的数据库文件和日志文件拷贝到某个已经创建好的文件夹中。出于教学目的,我们将该文件拷贝到安装SQL Server时所生成的目录DATA文件夹中。

2. 在下图窗口中,右击数据库对象,并在快捷菜单中选择“附加”命令,打开“附加数据库”窗口。

3. 在“附加数据库”窗口中,单击页面中间的“添加”按钮,打开定位数据库文件的窗口,在此窗口中定位刚才拷贝到SQL Server的DATA文件夹中的数据库文件目录(数据文件不一定要放在“DATA”目录中),选择要附加的数据库文件(后缀.MDF,如下图)。

4. 单击“确定”按钮就完成了附加数据库文件的设置工作。这时,在附加数据库窗口中列出了需要附加数据库的信息(如下图)。如果需要修改附加后的数据库名称,则修改“附加为”文本框中的数据库名称。我们这里均采用默认值,因此,单击确定按钮,完成数据库的附加任务。

完成以上操作,我们在SSMS的对象资源管理器中就可以看到刚刚附加的数据库student_Mis (如下图)。

以上操作可以看出,如果要将某个数据库迁移到同一台计算机的不同SQL Server实例中或其它计算机的SQL Server系统中,分离和附加数据库的方法是很有用的。

SqlServer数据库分离与附加的更多相关文章

  1. 如何把已有SQLSERVER数据库更名而且附加到数据库中?

    如何把已有SQLSERVER数据库更名而且附加到数据库中? 例如:已有数据库:zrmaa,希望更名为jjsh 特别提醒:数据库名中不能加入下划线,因为数据库日志文件有下划线. 把数据库文件mdf和数据 ...

  2. SQL Server 数据库分离与附加

    一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即 ...

  3. SQL Server 数据库分离与附加(图文教程)

    from:http://www.jb51.net/article/36624.htm 一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复 ...

  4. [转] mysql数据库分离和附加

    1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导 ...

  5. sqlserver 学习之分离与附加数据库

    在学习sqlserver数据库的过程中,我们会学习到有关一些听起来比较陌生的专用名词,比如说分离与附加这两个专有名词,对于我来说就是比较陌生的.好的,下面我们一起来学习一下吧.为了讲的通俗一点,下面以 ...

  6. sqlserver 分离和附加

    1.何为数据库分离和附加 数据库分离: 分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MD ...

  7. 用分离、附加的方式实现sql server数据库的备份和还原

    一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...

  8. sqlserver数据库的分离与附加

    当我们一台电脑上创建了数据库想要转移到另外一台电脑上时,由于数据库处于联机状态,不能够对数据库文件进行复制和迁移,所以我们可以将数据库从服务器上分离出去,这样我们就可以复制数据库文件了.然后将数据库文 ...

  9. sqlserver数据库附加报错5120

    sqlserver数据库的数据文件分离.附加是很方便的功能. 有时候在附加文件时报错,是因为数据库文件权限不够,给Authenticated Users用户增加完全控制权限即可.  

随机推荐

  1. gridview DataFormatString 属性设置须知

    设置 DataFormatString 进行格式化数据时默认情况下是不会起作用的还有设置HtmlEncode = "false" 具体为什么?以下几点1. 在GridView中的a ...

  2. flash从数据流判断图片格式防止xss攻击

    前段时间测试人员报了一个flash的xss bug,经分析用了Loader.loadBytes且没做数据流格式校验的程序都会中招,自测方法只需一行代码: ExternalInterface.call( ...

  3. php远程获取图片或文件信息(get_headers,fsocketopen,curl)

    <?php if(!function_exists("remote_filesize")){ /** * 获取远程或本地文件信息 * @param string $strUr ...

  4. VS2010下配置Winpcap 开发环境

    http://blog.csdn.net/taotaoyouarebaby/article/details/27326829

  5. How to install WP 8.0 SDK if WP 8.1 SDK is installed?

    I have the Windows Phone 8.1 SDK on my dev pc installed together with VS 2013. I need to open some W ...

  6. C#和C++中char类型的区别

    对于char,这个字符类型.我们一般都认为就是一个字节.今天在仔细比较发现,C#的char和C++的char是有区别的. 1.首先来看C#中char占多大空间 using System;using S ...

  7. linux下如何挂接(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享

    首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的.      命令格式:      mount [-t vfstype] [-o options ...

  8. Android实例剖析笔记(四)

    摘要:分析NoteEditor这个类和以及Content Provider机制 NoteEditor深入分析 首先来弄清楚“日志编辑“的状态转换,通过上篇文章的方法来做下面这样一个实验,首先进入“日志 ...

  9. 【spring cloud】【IDEA】【maven】spring cloud多模块在idea上使用maven插件打包报错:程序包XXX不存在

    >>>>spring cloud 多模块 >>>>在idea上使用maven插件打包,欲打包成jar包后 进行部署 >>>> 报 ...

  10. [翻译] FTCoreText

    FTCoreText An open source Objective-C interface component that makes use of the CoreText framework t ...