CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

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

作者: 流浪浪,  出处:blog, 责任编辑: 王晓晨, 
2008-07-24 00:00
  本文介绍了利用T-SQL语句,实现数据库的备份与还原的功能,体现了SQL Server中的四个知识点。

  我是使用T-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_getdbpath]
  GO
  create function f_getdbpath(@dbname sysname)
  returns nvarchar(260)
  as
  begin
  declare @re nvarchar(260)
  if @dbname is null or db_id(@dbname) is null
  select @re=rtrim(reverse(filename)) from master..sysdatabases where name='master'
  else
  select @re=rtrim(reverse(filename)) from master..sysdatabases where name=@dbname
  if @dbname is null
  set @re=reverse(substring(@re,charindex('\',@re)+5,260))+'BACKUP'
  else
  set @re=reverse(substring(@re,charindex('\',@re),260))
  return(@re)
  end
  go

  

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i