SqlServer 数据库 分离复制备份然后附加回数据库 sql代码


工作中,我们经常需要把数据库进行分离,复制数据库到另一个地方,再将原数据库文件附加回数据库 。

当然通过鼠标操作的步骤比较麻烦:

1、 右键数据库 --------任务------分离

2、打开数据库文件所在目录,复制数据库

3、打开要复制到的目录进行粘贴

4、再回到数据库 右键 ----附加 ----选择路径 ……


懒人们实在受不了这样的操作^_^  因此写下下面代码 偷懒用




DECLARE @DATABaseName VARCHAR(500)
DECLARE @DATABaseFile VARCHAR(500)
DECLARE @DATALogFile VARCHAR(500)
DECLARE @DATACopyPath VARCHAR(500)
DECLARE @CMD VARCHAR(500) 






USE [XXHX030C]  --要复制备份的数据库名称。多个数据库复制备份的话,每备份完一个数据库后,只用改此名称即可。


SET @DATACopyPath = 'D:\dataDB\'   --要复制备份到的目录


SELECT @DATABaseName = DB_NAME()


SELECT @DATABaseFile = physical_name
FROM   sys.database_files
WHERE  physical_name LIKE'%.mdf%'


SELECT @DATALogFile = physical_name
FROM   sys.database_files
WHERE  physical_name LIKE'%.ldf%'
 
PRINT @DATABaseFile + '   ' + @DATALogFile


 
USE [master] 
IF DB_ID('' + @DATABaseName + '') IS NOT NULL
    SET @Cmd = (
            'ALTER DATABASE ' + @DATABaseName + 
            ' SET  SINGLE_USER WITH ROLLBACK IMMEDIATE '
        )
  
EXEC (@CMD) 
EXEC sp_detach_db @DATABaseName


 
 
SET @CMD = (
        'master.dbo.xp_cmdshell ''copy ' + @DATABaseFile + ' ' + @DATACopyPath + 
        '' + @DATABaseName + '.mdf'' '
    )
  
PRINT @CMD
EXEC (@CMD) 
SET @Cmd = (
        'master.dbo.xp_cmdshell ''copy ' + @DATALogFile + '  ' + @DATACopyPath + 
        '' + @DATABaseName + '.ldf'' '
    )
  
EXEC (@CMD) 


IF DB_ID('' + @DATABaseName + '') IS NULL
    SET @CMD = (
            'CREATE DATABASE ' + @DATABaseName + ' ON (FILENAME = ''' + @DATABaseFile
            + ''') FOR ATTACH_REBUILD_LOG'
        )
   
EXEC (@CMD) 





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

01:操作系统(centos,redhat):性能监控和网络命令

性能监控和优化命令 top命令功能:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等常用参数:-d 屏幕刷新间隔时间屏幕信息解释字段说明:第一行:top 当前系统时间up 系统运行时间…

大话领域驱动设计——领域层

概述在DDD中,业务逻辑主要分布在领域层和应用层两层,他们包含不同的业务逻辑。这一篇,我们先对领域层做详细的讲解分析。领域层实现了领域或系统的,与用户界面上的用户交互(用例)无关的核心业务逻辑。总览领…

【北斗】北斗卫星导航系统(BDS)介绍

一、概述 北斗卫星导航系统(以下简称北斗系统)是中国着眼于国家安全和经济社会发展需要,自主建设运行的全球卫星导航系统,是为全球用户提供全天候、全天时、高精度的定位、导航和授时服务的国家重要时空基础设施。 北斗系统提供服务以来,已在交通运输、农林渔业、水文监…

Android之解决VideoView控件的进度条位置摆放问题和打开播放黑屏问题

1 问题 VideoView控件如何配合MediaController使用,就会显示进度条,但是位置摆放在最底部,不是我们想要的结果 2、基本使用 private var mMediaController:MediaController? = nullfun playVedio() {mMediaController = MediaController(this as Activity)trashVideoView…

Snmp linux

http://blog.csdn.net/youngqj/article/details/7311849 http://blog.csdn.net/howema/article/details/4182408 http://my.oschina.net/yisenn/blog/14626转载于:https://www.cnblogs.com/diyunpeng/p/5720952.html

正则验证金额大于等于0,并且只到小数点后2位

2019独角兽企业重金招聘Python工程师标准>>> ^(([0-9]|([1-9][0-9]{0,9}))((\.[0-9]{1,2})?))$ 转载于:https://my.oschina.net/u/934148/blog/528688

我结婚了,我要用什么做个邀请函呢?【iVX无代码YYDS 06】

作者简介 作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,InfoQ签约作者、CSDN新星导师,华为云享专家。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息&#…

【专升本计算机】计算机文化基础练习题(选择题300道附答案)

专升本计算机文化基础练习题 1、 世界上第一台电子计算机诞生于 ______A_ 。 A . 20 世纪 40 年代 B . 19 世纪 C . 20 世纪 80 年代 D . 1950 年 2、 世界上第一台电子计算机是 1946 年在美国研制成功的,该机的英文缩写名是 ___A__ 。 A . ENIAC B . EDVAC C…

《微软云计算Microsoft Azure部署与管理指南》即将上市!!!

大家好,本人新作《微软云计算Microsoft Azure部署与管理指南》即将与广大读者见面,由电子工业出版社出版。希望大家能关注此书,并推荐给身边的好友和技术人员。 众所周知,Microsoft Azure是专业的国际化公有云平台, 是微软研发的公…

如何用SQL来检测文件是否存在

工作中,我们经常需要检查上传的文件是否存在,用户上传的头像是否存在,等等。 有没有办法直接用SQL来查询呢? 请直接看代码: /************************************************************ * Create By Jacky * T…

如何解决分布式日志exceptionless的写入瓶颈

我们都知道在分布式日志当中,exceptionless客户端是把日志写到Elasticsearch数据库,就像我们把数据写入到关系数据库一样;既然是写入,那么在短时间大数据量的情况下,写入就会涉及到效率的问题;首先我们看下…

iVX 基础

1.1 iVX 线上集成环境进入 点击 连接 或通过浏览器输入网址 https://editor.ivx.cn/ 进入线上集成开发环境。 进入 在线集成开发环境 后,可点击右上角 登录/注册 进行帐号登录或者注册。登录账户 后在进行项目开发时会自动保存项目开发进度。 [外链图片转存失败…

关于有序二维矩阵查找和字符串替换的两道算法题

最近看一本书上写到的两个面试题 于是实现了一下 感觉思路很好,大牛略过 : 1、对于一个二维矩阵,从左到右 从上到下 都是递增的,如何判断一个值是否在矩阵内部?(C实现 实现复杂度 O(n)) bool FindInTwoDimensionalMatrix(int*pMatrix,int iRows,int i…

Maven实战:pom.xml与settings.xml

pom.xml与settings.xml pom.xml与setting.xml,可以说是Maven中最重要的两个配置文件,决定了Maven的核心功能,虽然之前的文章零零碎碎有提到过pom.xml和settings.xml里面的内容,但都是大略带过,学习与研究地并不细致&am…

Android之靠谱的把图片和视频插入手机系统相册

1 需求 把图片和视频插入手机系统相册,网上查了下基本上很乱,没几个靠谱的。 2 结果爆照 3 思路 图片插入系统相册(可以直接插入系统相册,但是我这里多做了一步就是先把图片拷贝到了一个目录再插入系统相册) 视频插入系统相册(先把视频拷贝到MIUI目录,然后再…

【专升本计算机】计算机操作系统练习题(选择判断名词解释简答)

一、填空 1. 操作系统为用户提供三种类型的使用接口,它们是 命令方式 和 系统调用 和 图形用户界面 。 2. 主存储器与外围设备之间的数据传送控制方式 ( I/O 控制方式) 有 程序直接控制、中断驱动方式、 DMA 方式 和 通道控制方式。 3. 在响应比最高者优先的作业调…

C# WPF 实现Tab页动态增减

概述Tab页面是一个很常用的控件&#xff0c;针对页面固定的场景&#xff0c;直接给Item进行数据绑定就行&#xff0c;如下所示&#xff1a;<dx:DXTabControl cal:Message.Attach"[Event Loaded][TabControl_Loaded($source,$eventArgs)]"><dx:DXTabItem Hea…

2014 网选 上海赛区 hdu 5047 Sawtooth

题意&#xff1a;求n个M型的折线将一个平面分成的最多的面数&#xff01; 思路&#xff1a;我们都知道n条直线将一个平面分成的最多平面数是 An An-1 n1 也就是f(n) (n*n n 2)/2 对于一个M型的折线呢&#xff1f;它有四条线&#xff0c;但是由于三个顶点的关系导致划分的平…

二、基础(IVX快速开发手册)

二、基础 通过本节你将了解 iVX 所支持应用的创建方法。 文章目录二、基础2.1 iVX 线上集成环境进入2.2 创建项目2.3 选择项目类型2.3.1 WebApp/小程序/原生应用2.3.2 微信小游戏2.3.3 微信小程序&#xff08;原生组件&#xff09;2.1 iVX 线上集成环境进入 点击 连接 或通过…

【专升本计算机】经典Office 2003专升本复习题(Word、Excel、PowerPoint)

经典Office 2003专升本复习题(Word、Excel、PowerPoint) 一、Word 2003 1. 启动 Word 是指: 将 Word 从硬盘中调入主存执行 2. 菜单栏: 文件( F )、编辑( E )、视图( V )、插入( I )、格式( O )、工具( T )、表格( A )、窗口( W )、帮主( H ) 3. …