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