通过SQL语句来备份,还原数据库

2016-02-19 09:10 6 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的通过SQL语句来备份,还原数据库教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

eg:
代码如下:

/*
通过SQL 语句备份数据库
*/
BACKUP DATABASE mydb
TO DISK ='C:DBBACKmydb.BAK'
--这里指定需要备份数据库的路径和文件名,注意:路径的文件夹是必须已经创建的.文件名可以使用日期来标示
/*
通过SQL语句还原数据库
*/
USE master
RESTORE DATABASE mydb
FROM DISK='C:DBBACKmydb.BAK'
WITH REPLACE

注意:很多时候不能直接还原,因为数据不是独占打开.可能用到下面的过程
代码如下:

--Kill掉访问某个数据库的连接
CREATE PROC KillSpid(@DBName varchar)
AS
BEGIN
DECLARE @SQL varchar
DECLARE @SPID int
SET @SQL='DECLARE CurrentID CURSOR FOR
SELECT spid FROM sysprocesses WHERE dbid=db_id('''+@DBName+''') '
FETCH NEXT FROM CurrentID INTO @SPID
WHILE @@FETCH_STATUS -1
BEGIN
exec('KILL '+@SPID)
FETCH NEXT FROM CurrentID INTO @SPID
END
CLOSE CurrentID
DEALLOCATE CurrentID
END

当kill掉用户后最好使用单用户操作数据库
代码如下:

SP_DBOPTION @DBName,'single user','true'

来源:http://www.tulaoshi.com/n/20160219/1589827.html

延伸阅读
在诊断数据库系统性能的过程中,总会涉及到跟踪效率低下的sql语句,Oracle数据库10g包含一种新的实用程序trcsess,它可以让您基于会话ID或模块名称之类的条件,有选择地从大量跟踪文件中抽取出跟踪数据,并将它们保存到一个文件中。该实用程序在共享服务器配置中特别有用,因为调度程序可能把每一个用户请求传递给不同的共享服务器进程,从...
标签: SQLServer
新建表: create table [表名] (  [自动编号字段] int IDENTITY (1,1)  PRIMARY KEY ,  [字段1] nVarChar(50) default '默认值' null ,  [字段2] ntext null ,  [字段3] datetime,  [字段4] money null , ...
问题说明: 有时需要在两个或三个数据库的表中,通过相关关键字,查询获取所需记录集,用一般的SQL查询语句是实现不了的,可通过ACCESS的跨库查询功能实现。   解决方法: 例如“装材类型”和“装材”两张表是在不同的数据库中的,具体查询方法,如下: @"Select * from 装材类型 as a INNER JOIN [;database=" + AppDomain.Curre...
标签: SQLServer
  直接拷贝数据文件把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复: EXEC sp_attach_db @dbname = 'test', @filename1 = 'd:\mssql7\data\test_data.mdf', @filename2 = 'd:\mssql7\data\test_log.ldf' 这样就把test数据库附加到SQL Server中,可以照常使用。如果不想...
第一步:安装SQL200,并启动SQL2000。     到网上下载SQL2000,并安装完毕。(我操作系统是XP,装的是SQL个人版),按照下面所示的图片打开SQL服务管理器     点开始/继续左边的小图标启动SQL,刷新服务后就可以看到SQL启动了。     第二步:创建新的数据库,并还原数据库   ...

经验教程

52

收藏

71
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部