程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> T-SQL語句實現數據庫備份與還原功能

T-SQL語句實現數據庫備份與還原功能

編輯:關於SqlServer

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved