如何转移数据库MDF和LDF文件
我们可以很轻易地使用SQL Server来创建一个数据库,创建的数据库实例将存储在指定的默认位置(不一定是C盘,可以手动变更默认存储位置)。假设此时数据库实例创建在了C盘中的默认位置,亦即是与数据库安装位置保持一致性,对于64位的操作系统来说,存储在C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA中。由于各种原因,我们的代码持续性在写数据库,数据库中LDF文件变得越来越大,而C盘的空间越来越小,此时,我们首先想到的就是为数据库瘦身,瘦身很简单,右击数据库名称选择Tasks --> Shrink,如下图所示:

瘦身之后,我们会看到C盘空间的确有被释放一部分,至于释放的大小就要看情况了。有时候,我们也会考虑将数据库文件转移到其他盘来解决C盘空间问题,但是要怎么做呢?其实很简单!
现在假设,我们需要将数据库文件从C盘的数据库实例(pubs)默认路径转移到D盘指定文件夹loc1中, 第一步,打开SQL Server,创建一个新的query文件,输入以下代码:
USE MASTER;
GO
-- Take database in single user mode -- if you are facing errors
-- This may terminate your active transactions for database
ALTER DATABASE pubs
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
-- Detach DB
EXEC MASTER.dbo.sp_detach_db @dbname = N'pubs'
GO
执行以上代码,会看到如下提示信息:

此时会发现原有路径下的MDF 和 LDF文件前面多了一把小锁:

第二步,将数据库MDF和LDF两个文件复制到想转移的目标文件夹中,这里是D:\loc1:

第三步,回到SQL Server,输入以下代码:
CREATE DATABASE pubs ON
( FILENAME = N'D:\loc1\pubs.mdf' ),
( FILENAME = N'D:\loc1\pubs_log.ldf' )
FOR ATTACH
GO
执行代码,将看到提示信息:Command(s) completed successfully.
到这里,数据库转移就完成了,此时,可以放心删除C盘中相关的数据文件了。
这里还有一个小小的提醒:你可以使用ROLLBACK IMMEDIATE即时终止你的活动事务,但不要让它随机执行,除非你明确知道它们不再需要或者经过审查发现因任何原因出现数据库的连接我们无法手动终止,那就做吧~
如何转移数据库MDF和LDF文件的更多相关文章
- [SQLSERVER] 转移数据库MDF或LDF文件位置的方法,以及重新启动出现无权限的问题
0. 查看数据库文件名和物理文件名 SELECT name, physical_name AS current_file_location FROM sys.master_files 1. 运行命令 ...
- sql server 2008怎样导入mdf,ldf文件,怎样解决导入mdf,ldf文件时出现附加数据库错误的问题
废话不多说,直入主题吧. 1:打开sql server 2008,右键数据库-->附加 2:这时出现这个界面点击添加 3:打开数据库实例的安装目录,打开DATA文件夹;(如我的实例目录地址为:D ...
- sql server 2008如何导入mdf,ldf文件
sql server 2008怎样导入mdf,ldf文件 网上找了非常多解决sql server导入其它电脑拷过来的mdf文件,多数是不全.遇到的解决方法不一样等问题,下边是找到的解决这个问题的最 ...
- 【SQLServer2008】之如何导入mdf,ldf文件、导入.mdf文件报错解决问题以及如何获得Authenticated Users 权限
一.如何导入mdf,ldf文件: 链接:http://jingyan.baidu.com/article/09ea3ede21258cc0afde3943.html 二.导入.mdf文件报错解决问题 ...
- Sql Server 2005 mdf、ldf文件无法复制问题
[问题原因]Sql Server服务只要启动就一直占用,故无法进行编辑操作. [解决办法 - 1]: 1)在开始-运行对话框中输入"services.msc”,显示如下界面: 2)关闭如上选 ...
- mdf与ldf文件如何还原到SQLserver数据库
现在又如下两个文件 需要用这两个文件还原数据库 那么该怎么去还原呢? 首先在D盘目录下建立一个文件夹test,然后将上图中的文件粘贴到该文件夹中. 接着在数据库中执行如下代码: EXEC sp_att ...
- mdf与ldf文件如何还原到SQL Server数据库
1,首先新建两个数据库(Db1,Db2) 在Db1数据库中添加一个表: 然后点击数据库右键-属性-文件-找到文件路径 然后复制这个路径中的Db1的数据,把这两个文件放到其他文件之下 复制之前需要关闭S ...
- Navicat Premium如何打开SQL文件.MDF和.LDF文件
相信大家再装SQL Server时都会遇到一件很头疼的事情--装完SQL server之后发现没有启动程序.没有经验的会以为SQL SERVER安装失败了于是选择重装.可是呵呵,重装了4,5次还是一样 ...
- SQL Server中如何用mdf,ldf文件还原数据库
不论是手动还原还是写个脚本还原,首先都要修改文件的属性为可读写,另外这个用户能够修改 1.手动Attach 2.写个脚本还原 我个人比较喜欢写个脚本去还原 Exec sp_attach_db @dbn ...
随机推荐
- Lotus开发之Lotus Notes中域的验证
一:介绍 Lotus中的域主要有以下的类型:文本,日期/时间,对话框列表,复选框,单选按钮,RTF等等.Lotus中域的验证方式有很多种公式,lotusscript,javascript等 ...
- .NET错误The 'targetFramework' attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework
错误描述: The 'targetFramework' attribute in the <compilation> element of the Web.config file is u ...
- android:layout_weight
layout_weight 用于给一个线性布局中的诸多视图的重要度赋值. 所有的视图都有一个layout_weight值,默认为零,意思是需要显示多大的视图就占据多大的屏幕空 间.若赋一个高于零的值, ...
- DRY原则和Shy原则
保障可维护性的主要诀窍是遵循DRY原则和Shy原则. 在一个系统的整个生命周期里,理解和改动这类维护工作的比例一般非常之高.为了维护的方便,要尽量将系统划分为可以独立理解与改动的模块.这就要在设计的时 ...
- Swift:如何判断一个对象是否是某个类(或其子类)的实例
在OC中我们直接可以用如下方法即可 [obj isKindOfClass:[obj class]]; 在Swift中,并没有 .class 属性或者方法, 便可以用如下方法 class Person ...
- sruts2:单个文件上传,多个文件上传(属性驱动)
文件上传功能在Struts2中得到了很好的封装,主要使用fileUpload上传组件. 1. 单个文件上传 1.1 创建上传单个文件的JSP页面.显示提交结果的JSP页面 uploadTest1.js ...
- distri.lua重写开源手游服务器框架Survive
Survive之前采用的是C+lua的设计方式,其中网关服务器全部由C编写,其余服务全部是C框架运行lua回调函数的方式编写游戏逻辑. 鉴于一般的手游对服务器端的压力不会太大,便将Survive用di ...
- 解决Visual Studio 2010新建工程时出现『1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt』错误
VS2010在经历一些更新后,建立Win32 Console Project时会出"error LNK1123" 错误. 解决方案为: 第一步:将:项目|项目属性|配置属性|清 ...
- Swift 程序流程控制
Swift采用类同c语言的流程控制语句,if, for, for-in, while, do-while , switch, break, continue .Swift语言的Switch语句自动 ...
- Inventory of the materials to teach you how to query a date certain combination of dimensions
Please correct me if any omission or error From the Inventory Management-> journals-> Item Cou ...