(2.15)備份與還原--使用作業備份、清理過期備份、清理歷史記錄、事務日志是否備份過...

一、建立作業備份數據庫

  打開SQL SERVER MANAGEMENT STUDIO,啟動SQL SERVER代理服務(注意在“控制面板-管理工具-服務”中設置SQL SERVER AGENT的啟動類型為自動)。啟動后點擊“作業-新建作業”,彈出一個作業屬性的窗口,在“常規”欄目里可以先給作業命名,假設為“備份數據”。?一、備份數據的第一個步驟--“備份當日數據”?
  在“步驟”欄目里新建一個步驟名為“備份當日數據”,類型為“T-SQL”,數據庫選擇你要操作的數據庫(假設為“TESTDB”),命令窗口里填入備份的SQL語句。假設備份數據放在“D:\BACKUP”里,備份文件命名格式為“SQL-2009-3-26.BAK”,那么語句如下:

DECLARE @filename VARCHAR(255)
DECLARE @date DATETIME
SELECT @date=GETDATE()
SELECT @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+CAST(DATEPART(dd,@date) as varchar)+'.bak'
BACKUP DATABASE [TESTDB] TO  DISK = @filename WITH INIT
GO

在步驟屬性的高級的“成功時要執行的操作”選擇“轉到下一步”即可,這樣“備份當日數據”的步驟已經建立好。
二、備份數據的第二個步驟--“刪除舊有備份”
  我們可以設置只保留5天內的備份數據,那么必須刪除5天前的數據備份文件。在“備份數據”作業屬性窗口的步驟欄目里,建立第二個步驟命名為“刪除舊有備份”。同樣類型為“T-SQL”,命令窗口里填入一下SQL語句:

DECLARE @OLDDATE DATETIME
SELECT @OLDDATE=GETDATE()-5
EXECUTE master.dbo.xp_delete_file 0,N'D:\BACKUP',N'bak',@olddate,1

此命令會刪除“D:\BACKUP”里5天前的.BAK或.TRN格式的文件,不用指定文件名是什么。因為SQL SERVER的備份文件里包含了時間屬性在里面。在步驟屬性的高級的“成功時要執行的操作”選擇“退出報告成功的作業”即可,這樣第二個步驟已經建立好。

三、備份數據作業屬性的計劃欄目里,設置作業的執行時間
新建一個作業計劃,命名為“每日自動備份和刪除”,再選擇執行的周期,例如每天凌晨1點開始執行。
最后保存整個“備份數據”的作業,每日就會自動備份數據庫和刪除舊有數據了。

?

四、清理歷史記錄

1. 刪除舊的歷史記錄
  每次執行備份或還原操作后會向備份和還原歷史記錄表添加額外的行。因此,如果實例中的數據庫備份非常頻繁,建議定期執行 sp_delete_backuphistory,通過刪除早于指定日期的備份集條目,減小備份和還原歷史記錄表的大小。

USE msdb;
GO
EXEC sp_delete_backuphistory @oldest_date = '2013-06-30';

2. 刪除特定數據庫的所有歷史記錄

sp_delete_database_backuphistory 將從備份和還原歷史記錄表中刪除有關指定數據庫的所有歷史記錄。
USE msdb;
GO
EXEC sp_delete_database_backuphistory @database_name = 'db01';

?五、查看事務日志文件是否做過備份

如果發現數據庫db01的事務日志文件(LDF文件)變得非常大,那么首先運行以下語句,檢查db01數據庫是否做過事務日志備份。
select * from msdb.dbo.backupset where database_name='db01' and type='L'

?

.?數據庫備份還原歷史記錄

備份還原的記錄都在msdb里。

1.?備份記錄

復制代碼
SELECT bs.backup_set_id,bs.database_name,bs.backup_start_date,bs.backup_finish_date,CAST(CAST(bs.backup_size/1000000 AS INT) AS VARCHAR(14)) + ' ' + 'MB' AS [Size],CAST(DATEDIFF(second, bs.backup_start_date,bs.backup_finish_date) AS VARCHAR(4)) + ' ' + 'Seconds' [TimeTaken],CASE bs.[type]WHEN 'D' THEN 'Full Backup'WHEN 'I' THEN 'Differential Backup'WHEN 'L' THEN 'TLog Backup'WHEN 'F' THEN 'File or filegroup'WHEN 'G' THEN 'Differential file'WHEN 'P' THEN 'Partial'WHEN 'Q' THEN 'Differential Partial'END AS BackupType,bmf.physical_device_name,CAST(bs.first_lsn AS VARCHAR(50)) AS first_lsn,CAST(bs.last_lsn AS VARCHAR(50)) AS last_lsn,bs.server_name,bs.recovery_modelFROM msdb.dbo.backupset bsINNER JOIN msdb.dbo.backupmediafamily bmf ON bs.media_set_id = bmf.media_set_idORDER BY bs.server_name,bs.database_name,bs.backup_start_date;
GO
復制代碼

如果server_name是本機,那么備份是在本機生成的;

如果server_name是別的主機名,那么備份是被拿到本機做過數據庫還原;

?

2.?還原紀錄

復制代碼
SELECT rs.[restore_history_id],rs.[restore_date],rs.[destination_database_name],bmf.physical_device_name,rs.[user_name],rs.[backup_set_id],CASE rs.[restore_type]WHEN 'D' THEN 'Database'WHEN 'I' THEN 'Differential'WHEN 'L' THEN 'Log'WHEN 'F' THEN 'File'WHEN 'G' THEN 'Filegroup'WHEN 'V' THEN 'Verifyonly'END AS RestoreType,rs.[replace],rs.[recovery],rs.[restart],rs.[stop_at],rs.[device_count],rs.[stop_at_mark_name],rs.[stop_before]
FROM [msdb].[dbo].[restorehistory] rs
INNER JOIN [msdb].[dbo].[backupset] bs
--on rs.backup_set_id = bs.media_set_id
ON rs.backup_set_id = bs.backup_set_id
INNER JOIN msdb.dbo.backupmediafamily bmf 
ON bs.media_set_id = bmf.media_set_id
GO
復制代碼

還原數據庫的時候是會寫backupset和backupmediafamily系統表的,用來記錄還原所用到的備份文件信息。

轉載于:https://www.cnblogs.com/gered/p/9203950.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251523.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251523.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251523.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

javascript+HTML+CSS面試題

今天參加面試,考了我三個小時,考暈了,趕緊補習補習javascript的知識!(另:人事部明明說招HTML5CSS3jQuery,考1個半小時左右,怎么變成了考傳統DIVCSSjavascript啦,嗚嗚嗚~~…

android 對話框

android 8種對話框(Dialog)使用方法匯總 作者:gzdaijie本文為作者原創,轉載請注明出處:https://www.cnblogs.com/gzdaijie/p/5222191.html 目錄 1.寫在前面2.代碼示例2.1 普通Dialog(圖1與圖2)2…

Java 多線程 之 suspend掛起 線程實例

http://www.verejava.com/?id16992945731073 package com.suspend.resume; /*題目: 人們在火車站的售票窗口排隊買火車票1. 北京西站開門2. 打開售票窗口3. 北京西站有10張去長沙的票4. 打開2個售票窗口, 5 假設每個售票窗口每隔1秒鐘買完一張票1. 根據 名詞 找類人們(Person…

算法 --- 插入排序的JS實現

let A [5, 2, 4, 6, 1 ,3];// 插入排序 insertionSort (A) > {console.log("原數組>>>", A);for (let j1; j<A.length; j) {let key A[j];i j -1;while ( i > -1 && A[i] > key) {A[i1] A[i];i i-1;}A[i 1] key;}console.log(&q…

SAFESHE錯誤

今天寫驅動編譯的時候遇到一個問題&#xff0c;link一個比較老的lib時&#xff0c;報錯&#xff1a; error LNK2026: module unsafe for SAFESEH image 解決辦法&#xff1a; 在Source文件中加入一行 NO_SAFESEHTRUE 編譯時候執行 build -cZg轉載于:https://www.cnblogs.com/fa…

python之正則(一)

1.常用正則表達式: \d:數字[0-9] &#xff0c;實例:a\dc -> a1c\D:非數字[^\d],實例:a\Dc -> abc\s:空白字符[<空格>\t\r\n\f\v] 實例:a\sc ->a c\S:非空白字符[^\s] 實例:a\Sc ->abc\w:單詞字符[A-Za-z0-9_] 實例:a\wc ->abc\W:非單詞字符[^\W] *:匹配前…

邏輯讀、物理讀

邏輯讀、物理讀、預讀的基本概念轉載于:https://www.cnblogs.com/mySerilBlog/p/9208215.html

算法 --- 歸并排序的js實現

let mergeSort (A, p, q, r) > {console.log("原數組>>>", A);let n1 q - p 1;let n2 r - q;let L new Array();let R new Array();for (let i 1; i < n1 1; i) {L[i -1] A[p i - 1];}for (let j 1; j < n2 1; j) {R[j-1] A[q j];}L[…

c#中的代理和事件

事件&#xff08;event&#xff09;是一個非常重要的概念&#xff0c;我們的程序時刻都在觸發和接收著各種事件&#xff1a;鼠標點擊事件&#xff0c;鍵盤事件&#xff0c;以及處理操作系統的各種事件。所謂事件就是由某個對象發出的消息。比如用戶按下了某個按鈕&#xff0c;某…

個人技術博客

一. Volley框架 在進行和服務器交互的時候需要發送請求&#xff0c;發現了volley這個好用易上手的框架。volley是一個異步網絡通信框架&#xff0c;它的優點在于輕量級、適用于量小但傳送頻繁的請求操作 搭建請求的第一步就是新建一個請求隊列RequestQueue queue Volley.newRe…

軟件構造 第一章第二節 軟件開發的質量屬性

?軟件構造 第一章第二節 軟件開發的質量屬性 1.軟件系統質量指標 External quality factors affect users 外部質量因素影響用戶 Internal quality factors affect the software itself and its developers 內部質量因素影響軟件本身和它的開發者 External quality results fr…

css --- 讓不同的瀏覽器加載不同的CSS

// 通過條件注釋讓不同的瀏覽器加載不同的CSS <!--[if !IE]><!--> 除IE外都可識別 <!--<![endif]--> <!--[if IE]><!--> 所有的IE可識別 <![endif]--> <!--[if IE 6]> 僅IE6可識別 <![endif]--> <!--[if lt IE 6]> I…

??? ?? ??.??

abcdefg a?? abca abcbca abcabcdeda Cc ?? ??? [a] [ac] [a-c] [Cc] ??? 1>* ( 0~???) 2> (1~???) 3.? () 4 {1,2} {Min,Max} [??]*{} ???.??…

css自媒體查詢

準備工作1&#xff1a;設置Meta標簽 首先我們在使用Media的時候需要先設置下面這段代碼&#xff0c;來兼容移動設備的展示效果&#xff1a; <meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno">…

css --- 清除浮動

有時我們需要用到浮動,但又不想由于浮動的某些特性影響布局,這時就需要清除浮動 清除浮動主要應用的是CSS中的clear屬性,clear屬性定義了元素的哪一側不允許出現浮動元素. 下面是兩種應用比較廣泛的清除浮動的方法: // 在需要的地方添加定義了clear:both的空標簽 <style>…

數據可視化實現技術(canvas/svg/webGL)

數據可視化的實現技術和工具比較轉載于:https://www.cnblogs.com/knuzy/p/9215632.html

Python 字符串操作(string替換、刪除、截取、復制、連接、比較、查找、包含、大小寫轉換、分割等)...

http://www.cnblogs.com/huangcong/archis.strip() .lstrip() .rstrip(,) 去空格及特殊符號復制字符串Python1 #strcpy(sStr1,sStr2)2 sStr1 strcpy3 sStr2 sStr14 sStr1 strcpy25 print sStr2連接字符串Python1 #strcat(sStr1,sStr2)2 sStr1 strcat3 sStr2 append4 sStr1…

java 將一個非空文件夾拷貝到另一個地方

沒有處理異常&#xff0c;只是簡單的拋出了。需要捕獲的需修改一下。 public class Test001 { //把一個文件夾或文件移到另一個地方去。 public static void main(String[] args) throws Exception { File filenew File("D:\\testFolder"); new Test001().copyFileTo…

Python環境 及安裝

windows 1、下載安裝包 https://www.python.org/downloads/2、安裝默認安裝路徑&#xff1a;C:\python273、配置環境變量【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名為Path 的一行&#xff0c;雙擊】 -->…

MUI主界面菜單同時移動主體部分不出滾動條解決

mOffcanvas(側滑導航-主界面、菜單同時移動) 生成代碼 增加列表滾動OK 增加幻燈片就掛了 百度了半天 沒發現問題 后來想起官網的一句話 除頂部導航、底部選項卡兩個控件之外&#xff0c;其它控件都建議放在.mui-content控件內&#xff0c;在Hbuilder中輸入mbody&#xff0c;可快…