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

1.分离与附加数据库的方式

(1)在试图下分离与附加数据库

分离数据库:

  右击想要分离的数据库--->任务--->分离

  

选中红框位置,然后点击确定,刷新数据库,可以看到在数据库的对象资源管理器下已经看不到分离的数据库了。

附加数据库:

选中对象资源管理器下的数据库--->右击--->附加

进入到如下页面:

将要附加数据库的主数据库文件(也就是以“.mdf”结尾的文件)添加进去,添加进去之后我们可以看到它会自动补全数据库的其他所有文件。

点击确定即可。

(2)使用存储过程分离与附加数据库:

分离数据库:

  EXEC sp_detach_db @dbname=E_Market
  GO

附加数据库: 

  EXEC sp_attach_db @dbname=E_Market,
  @filename1='D:\program files\sqlserver2017\sqlserver workspace\E_Market_data.mdf',
  @filename2='D:\program files\sqlserver2017\sqlserver workspace\E_Market_log.ldf',
  @filename3='D:\program files\sqlserver2017\sqlserver workspace\E_Market_log1.ldf',
  @filename4='D:\program files\sqlserver2017\sqlserver workspace\FG_E_Market_data.ndf'
  GO

  有几个文件就写几个@filename

2.脱机与分离数据库的异同点

不同点:

  脱机:与数据库服务断开连接,但在数据库节点上还存在数据库名称

  分离:将数据库从服务器上分离出去,数据库不存在,只存在相应的数据文件和日志文件。

相同点:都可以对数据库文件进行复制等操作。

  

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

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

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

  2. 温故而知新之数据库的分离和附加…高手请跳过….

    sql server2005分离数据库后,把路径下的两个文件拷到自己想要存放的目录下,然后再附加

  3. SqlServer 数据库读写分离【转】

    1. 实现原理:读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力.主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操 ...

  4. SQL 数据库的备份,还原,分离和附加以及聚合函数

    数据库备份 数据库备份可以手动备份和语句备份 一.手动备份数据库 1.鼠标右键选择你要进行备份的数据库-任务-备份 可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份 2.点击 ...

  5. 数据库开发基础 SQL Server 数据库的备份、还原与分离、附加

    认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是 一.在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点 二. ...

  6. sqlserver数据库附加分离备份还原命令

    --获取所有数据库的名称 select [name] from master.dbo.sysdatabases where [name]='master' --判断数据库是否存在 if exists( ...

  7. SqlServer数据库分离与附加

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

  8. sqlserver数据库附加报错5120

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

  9. SqlServer 数据库附加问题:不是主数据库文件

    一.前言 今天公司要切换数据库服务器,数据库文件大于2G,结果再附加到另一服务器的数据库里面,就产生了一个问题.如下: 标题:Microsoft SQL Server Management Studi ...

随机推荐

  1. walle自动部署增量上线

    walle的部署大家都会,全量上线也会,今天突然想用下增量上线,试了好多次都不行,咨询了开发的同事终于明白了,特写个笔记省的忘了 如上图我们网站根目录为/data/ifengsite/htdocs/x ...

  2. wx小程序自定义组件与页面之间参数传递

    在开发中,很多页面中会使用相同的组件,这时可以将具有相同信息的部分封装成一个组件,方便开发中调用.在调用中可能会涉及到数据的传递问题,例如页面与组件,组件与组件直接的数据传递. 首先看看页面与组件直接 ...

  3. LeetCode OJ 22. Generate Parentheses

    题目 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  4. 火狐的3d视图插件Tilt 3D

    15年的时候,使用过此功能.后来没注意就发现没了.firefox在47之后就停止自带了. 换成插件了. https://addons.mozilla.org/en-US/firefox/addon/t ...

  5. 为tomcat配置项目必须的引擎文件

    1.如下图所示,红框圈出来的四个语音引擎文件是直接放在项目根目录下的,这样的话我们发布web应用的时候,项目并不能自动把这几个文件打包到tomcat中, 除非放到WebRoot文件夹下,但是这样的话项 ...

  6. mysql 去除字符串中前后空格

     update  table  set  field = replace(replace(replace(field,char(9),''),char(10),''),char(13),''); 

  7. sse实例

    一.前台 <script>//D:\wamp\www\node\xiangmuer\views\main // var source = new EventSource('http://1 ...

  8. iptables做端口转发

    一.用iptables做本机端口转发 比如80端口转8080端口 代码如下:   iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT ...

  9. jms学习笔记

    https://www.cnblogs.com/zhuxiaojie/p/5564187.html //创建一个session //第一个参数:是否支持事务,如果为true,则会忽略第二个参数,被jm ...

  10. python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换

    python 一. is 和 == 的区别; == 比较的是两边的值. a = 'alex' b = 'alex' print(a = b) #True a = 10 b = 10 print(a = ...