[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: 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专家网友拥有管理笔名和留言的一切权利。

邮件订阅