电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

T-SQL语句实现数据库备份与还原

  • 资源ID:56117479       资源大小:24.12KB        全文页数:15页
  • 资源格式: DOCX        下载积分:0金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要0金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

T-SQL语句实现数据库备份与还原

T-SQLT-SQL 语句实现数据库备份与还原语句实现数据库备份与还原-利用 T-SQL 语句,实现数据库的备份与还原的功能-体现了 SQL Server 中的四个知识点:-1 获取 SQL Server 服务器上的默认目录-2 备份 SQL 语句的使用-3 恢复 SQL 语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理-4 作业创建 SQL 语句的使用/*1.-得到数据库的文件目录dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装 SQL 时设置的默认数据目录如果指定 NULL,则返回默认的 SQL 备份目录名*/*-调用示例select 数据库文件目录=dbo.f_getdbpath('tempdb'),默认 SQL SERVER 数据目录=dbo.f_getdbpath(''),默认 SQL SERVER 备份目录=dbo.f_getdbpath(null)-*/if exists (select * from dbo.sysobjects where id = object_id(N'dbo.f_getdbpath') and xtype in (N'FN', N'IF', N'TF')drop function dbo.f_getdbpathGOcreate function f_getdbpath(dbname sysname)returns nvarchar(260)asbegindeclare re nvarchar(260)if dbname is null or db_id(dbname) is nullselect re=rtrim(reverse(filename) from mastersysdatabases where name='master'elseselect re=rtrim(reverse(filename) from mastersysdatabases where name=dbnameif dbname is nullset re=reverse(substring(re,charindex('',re)+5,260)+'BACKUP'elseset re=reverse(substring(re,charindex('',re),260)return(re)endgo/*2.-备份数据库 移动电玩城 http:/www.44226.net*/*-调用示例-备份当前数据库exec p_backupdb bkpath='c:',bkfname='db_DATE_db.bak'-差异备份当前数据库exec p_backupdb bkpath='c:',bkfname='db_DATE_df.bak',bktype='DF'-备份当前数据库日志exec p_backupdb bkpath='c:',bkfname='db_DATE_log.bak',bktype='LOG'-*/if exists (select * from dbo.sysobjects where id = object_id(N'dbo.p_backupdb') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure dbo.p_backupdbGOcreate proc p_backupdbdbname sysname='', -要备份的数据库名称,不指定则备份当前数据库bkpath nvarchar(260)='', -备份文件的存放目录,不指定则使用 SQL 默认的备份目录bkfname nvarchar(260)='', -备份文件名,文件名中可以用DBNAME代表数据库名,DATE代表日期,TIME代表时间bktype nvarchar(10)='DB', -备份类型:'DB'备份数据库,'DF' 差异备份,'LOG' 日志备份appendfile bit=1 -追加/覆盖备份文件asdeclare sql varchar(8000)if isnull(dbname,'')='' set dbname=db_name()if isnull(bkpath,'')='' set bkpath=dbo.f_getdbpath(null)if isnull(bkfname,'')='' set bkfname='DBNAME_DATE_TIME.BAK'set bkfname=replace(replace(replace(bkfname,'DBNAME',dbname),'DATE',convert(varchar,getdate(),112),'TIME',replace(convert(varchar,getdate(),108),':','')set sql='backup '+case bktype when 'LOG' then 'log ' else 'database ' end +dbname+' to disk='''+bkpath+bkfname+''' with '+case bktype when 'DF' then 'DIFFERENTIAL,' else '' end+case appendfile when 1 then 'NOINIT' else 'INIT' endprint sqlexec(sql)go/*3.-恢复数据库*/*-调用示例-完整恢复数据库exec p_RestoreDb bkfile='c:db_20031015_db.bak',dbname='db'-差异备份恢复exec p_RestoreDb bkfile='c:db_20031015_db.bak',dbname='db',retype='DBNOR'exec p_backupdb bkfile='c:db_20031015_df.bak',dbname='db',retype='DF'-日志备份恢复exec p_RestoreDb bkfile='c:db_20031015_db.bak',dbname='db',retype='DBNOR'exec p_backupdb bkfile='c:db_20031015_log.bak',dbname='db',retype='LOG'-*/if exists (select * from dbo.sysobjects where id = object_id(N'dbo.p_RestoreDb') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure dbo.p_RestoreDbGOcreate proc p_RestoreDbbkfile nvarchar(1000), -定义要恢复的备份文件名dbname sysname='', -定义恢复后的数据库名,默认为备份的文件名dbpath nvarchar(260)='', -恢复后的数据库存放目录,不指定则为 SQL 的默认数据目录retype nvarchar(10)='DB', -恢复类型:'DB'完事恢复数据库,'DBNOR' 为差异恢复,日志恢复进行完整恢复,'DF' 差异备份的恢复,'LOG' 日志恢复filenumber int=1, -恢复的文件号overexist bit=1, -是否覆盖已经存在的数据库,仅retype 为killuser bit=1 -是否关闭用户使用进程,仅overexist=1 时有效asdeclare sql varchar(8000)-得到恢复后的数据库名if isnull(dbname,'')=''select sql=reverse(bkfile),sql=case when charindex('.',sql)=0 then sqlelse substring(sql,charindex('.',sql)+1,1000) end,sql=case when charindex('',sql)=0 then sqlelse left(sql,charindex('',sql)-1) end,dbname=reverse(sql)-得到恢复后的数据库存放目录if isnull(dbpath,'')='' set dbpath=dbo.f_getdbpath('')-生成数据库恢复语句set sql='restore '+case retype when 'LOG' then 'log ' else 'database ' end+dbname+' from disk='''+bkfile+''''+' with file='+cast(filenumber as varchar)+case when overexist=1 and retype in('DB','DBNOR') then ',replace' else '' end+case retype when 'DBNOR' then ',NORECOVERY' else ',RECOVERY' endprint sql-添加移动逻辑文件的处理if retype='DB' or retype='DBNOR'begin-从备份文件中获取逻辑文件名declare lfn nvarchar(128),tp char(1),i int-创建临时表,保存获取的信息create table #tb(ln nvarchar(128),pn nvarchar(260),tp char(1),fgn nvarchar(128),sz numeric(20,0),Msz numeric(20,0)-从备份文件中获取信息 棋牌评测网 http:/www.77884.netinsert into #tb exec('restore filelistonly from disk='''+bkfile+'''')declare #f cursor for select ln,tp from #tbopen #ffetch next from #f into lfn,tpset i=0while fetch_status=0beginselect sql=sql+',move '''+lfn+''' to '''+dbpath+dbname+cast(i as varchar)+case tp when 'D' then '.mdf''' else '.ldf''' end,i=i+1fetch next from #f into lfn,tpendclose #fdeallocate #fend-关闭用户进程处理if overexist=1 and killuser=1begindeclare spid varchar(20)declare #spid cursor forselect spid=cast(spid as varchar(20) from mastersysprocesses where dbid=db_id(dbname)open #spidfetch next from #spid into spidwhile fetch_status=0beginexec('kill '+spid)fetch next from #spid

注意事项

本文(T-SQL语句实现数据库备份与还原)为本站会员(m****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

分享当前资源【T-SQL语句实现数据库备份与还原】到朋友圈,您即可以免费下载此资源!
微信扫一扫分享到朋友圈
二维码
操作提示:任选上面一个二维码,打开微信,点击“发现”使用“扫一扫”,即可将选择的网页分享到朋友圈
您可能感兴趣的------------------------------------------------------------------------------------------------------



关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.