T-SQL语句实现数据库备份与还原功能2010-11-13我是使用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