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

我是使用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 

posted @ 2008-07-24 17:10  浪子の无悔  阅读(240)  评论(0编辑  收藏  举报