Sqlserver 備份

来源:http://www.cnblogs.com/oren/archive/2017/09/13/7513008.html
-Advertisement-
Play Games

Transact-SQL 語法規則 Transact-SQL 引用中的語法關係圖使用下列規則。 大寫 : Transact-SQL 關鍵字。 斜體 : Transact-SQL 語法中用戶提供的參數。 | : 分隔括弧或大括弧內的語法項目。只能選擇一個項目。 [ ] : 可選語法項目。不必鍵入方括弧 ...


Transact-SQL   語法規則 
Transact-SQL   引用中的語法關係圖使用下列規則。 
大寫    : Transact-SQL   關鍵字。   
斜體    : Transact-SQL   語法中用戶提供的參數。   
|          : 分隔括弧或大括弧內的語法項目。只能選擇一個項目。   

[   ]      : 可選語法項目。不必鍵入方括弧。   

{  }       : 必選語法項。不要鍵入大括弧。   

[,...n ]  : 表示前面的項可重覆   n   次。每一項由逗號分隔。  

[ ...n ]   表示前面的項可重覆   n   次。每一項由空格分隔。   

加粗     資料庫名、表名、列名、索引名、存儲過程、實用工具、數據類型名以及必須按所顯示的原樣鍵入的文本。

 

BACKUP DATABASE [demoData] TO DISK=N'D:\Backup\demoData.bak' WITH NOFORMAT, NOINIT,  NAME = N'demoData-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

 

< backup_device > ::=  --備份設備定義
    { 
        { logical_backup_device_name | @logical_backup_device_name_var }
        | 
        { DISK|TAPE } ={ 'physical_backup_device_name' | @physical_backup_device_name_var } -- 磁碟或者磁帶上備份  DISK 或者 TAPE需要指定完整路徑名

    }  < file_or_filegroup > ::=  --備份文件或文件組定義
    { 
        FILE = { logical_file_name | @logical_file_name_var } --指定包含在資料庫備份中的文件或文件組的邏輯名。可以指定多個文件或文件組。
        | 
        FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }  --給一個或多個包含在資料庫備份中的文件命名。

  --必須通過使用 BACKUP LOG 提供事務日誌的單獨備份,才能使用文件和文件組備份來恢複數據庫。如果恢復模型為 SIMPLE,則不允許文件和文件組備份。
    }    

備份完整資料庫

 

BACKUP DATABASE { database_name | @database_name_var }     --database_name 資料庫名或@database_name_var 變數

TO < backup_device > [ ,...n ]     --備份設備定義

[ WITH                 --WITH 選項

    [ BLOCKSIZE = { blocksize | @blocksize_variable } ]  --物理塊大小,BACKUP會自動選擇適合該設備的塊大小

    [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]      --描述備份集的自由格式文本

    [ [ , ] DIFFERENTIAL ]    --差異備份

    [ [ , ] EXPIREDATE = { date | @date_var }  --備份集到期,該日期必須複合已配置的系統的datetime格式

        | RETAINDAYS = { days | @days_var } ] --允許被重寫日期。變數必須為整型

    [ [ , ] PASSWORD = { password | @password_variable } ]  --備份集密碼,需提供密碼才能對改備份執行任何還原操作

    [ [ , ] FORMAT      --指定應將媒體頭寫入用於此備份操作的所有捲。任何現有的媒體頭都被重寫;

        | NOFORMAT ]    --預設,媒體頭不應寫入所有用於該備份操作的捲中,並且不要重寫該備份設備除非指定了 INIT。                                                    

    [ [ , ] { INIT --重寫所有備份集,保留媒體頭,當備份設置沒有全部過期、備份集名和備份媒體上的名稱不匹配、用SKIP選項時不重寫備份媒體,如有密碼則不寫入媒體

        | NOINIT } ]  --預設設置,備份集追加到指定磁碟或磁帶,以保留現有的備份集.                          

    [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ] --媒體集的自由格式文本

    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]  --媒體集的媒體名

    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ] --媒體集密碼

    [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]  --備份集的名稱,不指定NAME則為空。

    [ [ , ] { NOSKIP  --預設行為,指示BACKUP語句檢查媒體上所有備份集的到期日期,然後再允許它們被覆蓋。

        | SKIP } ]        --禁止通過BACKUP語句執行的備份集過期和名稱的檢查,以防止備份集的覆蓋。
    [ [ , ] { NOREWIND   --指定SQL Server將在備份操作後保持磁帶打開狀態。NOREWIND意味著NOUNLOAD,這些選項在單個BACKUP語句中是不相容的

        | REWIND } ]   --預設值,指定SQL Server釋放和倒帶磁帶。
    [ [ , ] { NOUNLOAD --指定在BACKUP操作後,磁帶保持載入到磁帶機上。

        | UNLOAD } ] --預設值,指定備份完成後磁帶將自動倒帶和卸載。
    [ [ , ] RESTART ] --從SQL Server 2008開始,沒有任何效果。此選項被版本接受,與以前版本的SQL Server相容。
    [ [ , ] STATS [ = percentage ] ] --每次其他百分比完成時顯示一條消息,用於衡量進度。如果省略百分比,SQL Server會在每10%完成後顯示一條消息

 備份特定文件或文件組

BACKUP DATABASE { database_name | @database_name_var }

    < file_or_filegroup > [ ,...n ] 

TO < backup_device > [ ,...n ] 

[ WITH

    [ BLOCKSIZE = { blocksize | @blocksize_variable } ]

    [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]

    [ [ , ] DIFFERENTIAL ]

    [ [ , ] EXPIREDATE = { date | @date_var }

        | RETAINDAYS = { days | @days_var } ]

    [ [ , ] PASSWORD = { password | @password_variable } ]

    [ [ , ] FORMAT | NOFORMAT ]

    [ [ , ] { INIT | NOINIT } ]

    [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]

    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]

    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]

    [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]

    [ [ , ] { NOSKIP | SKIP } ]

    [ [ , ] { NOREWIND | REWIND } ]

    [ [ , ] { NOUNLOAD | UNLOAD } ]

    [ [ , ] RESTART ]

    [ [ , ] STATS [ = percentage ] ] 

]

 

 備份事務日誌

 

BACKUP LOG [demoData_Log] TO  DISK = N'D:\Backup\demoData_Log.bak' WITH NOFORMAT,NOINIT,  NAME = N'demoData_Log-Transaction Log  Backup',SKIP, NOREWIND,NOUNLOAD,STATS = 10
GO

 

 

 

BACKUP LOG { database_name | @database_name_var } 

{     TO < backup_device > [ ,...n ]

    [ WITH

        [ BLOCKSIZE = { blocksize | @blocksize_variable } ]

        [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]

        [ [ ,] EXPIREDATE = { date | @date_var }

            | RETAINDAYS = { days | @days_var } ]

        [ [ , ] PASSWORD = { password | @password_variable } ]

        [ [ , ] FORMAT | NOFORMAT ]

        [ [ , ] { INIT | NOINIT } ]

        [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]

        [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]

        [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]

        [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]

        [ [ , ] NO_TRUNCATE ]  --指定日誌未被截斷,並導致資料庫引擎嘗試備份,而不管資料庫的狀態如何。此選項允許在資料庫損壞的情況下備份日誌。

                                                --沒有NO_TRUNCATE選項,資料庫必須處於ONLINE狀態。如果資料庫處於SUSPENDED狀態,則可以通過指定NO_TRUNCATE來創建備份。

                                                --但是,如果資料庫處於OFFLINE或EMERGENCY狀態,即使使用NO_TRUNCATE也不允許BACKUP。

        [ [ , ] { NORECOVERY --備份日誌的尾部,並將資料庫保留在RESTORING狀態。故障切換到輔助資料庫或在RESTORE操作之前保存日誌的尾部時,非常有用。

             | STANDBY = undo_file_name } ] --備份日誌的尾部,使資料庫處於只讀狀態和待機狀態。STANDBY子句寫入備用數據(執行回滾,但可以進一步還原)。

        [ [ , ] { NOREWIND | REWIND } ]

        [ [ , ] { NOSKIP | SKIP } ]

        [ [ , ] { NOUNLOAD | UNLOAD } ]

        [ [ , ] RESTART ]

        [ [ , ] STATS [ = percentage ] ] 

    ]  } 

截斷事務日誌

 

BACKUP LOG { database_name | @database_name_var }
{     [ WITH
        { NO_LOG  | TRUNCATE_ONLY } ]  } 

    --無須備份複製日誌即刪除不活動的日誌部分,並且截斷日誌。該選項會釋放空間。因為並不保存日誌備份,所以沒有必要指定備份設備。NO_LOG 和 TRUNCATE_ONLY 是同義的。

    --使用 NO_LOG 或 TRUNCATE_ONLY 備份日誌後,記錄在日誌中的更改不可恢復。為了恢復,請立即執行 BACKUP DATABASE。

    --NO_TRUNCATE 允許在資料庫損壞時備份日誌。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Android精選源碼 Android優質博客 從零開始搭建一個項目(rxJava+Retrofit+Dagger2) 下http://www.apkbus.com/blog-873057-72599.htmltip:本文所使用到的技術有 RxJava,Retrofit,Glide,Dagger2, ...
  • FFmpeg是很好用的一個音視頻庫,功能強大,但是用起來並不是很方便。之前一直不想用FFmpeg,因為感覺編譯太麻煩,但是到了不得不用的時候了,沒辦法,參考了網上大神的方法,在這裡自己也記錄一下方便以後再次查看。 一、環境 Ubuntu14.04 二、NDK環境配置 NDK下載鏈接:https:// ...
  • 當我們使用Xcode進行開發的時候,並不是所有的時候都需要將代碼運行在iPhone,有時候模擬器就可以解決這些問題, 但是當你使用模擬器的時候會發現,在TextFiled中輸入信息時,如果你是用模擬器上的鍵盤進行操作,OK沒問題, 但是當你是用鍵盤輸入信息的話,那麼你會發現模擬器上的鍵盤就不會再顯示 ...
  • 那麼 Appium 到底是怎麼工作的呢? Appium 官方教程好難啊, 我自己總結了一份超簡單 Appium 教程。 ...
  • TTS語音合成方案分為離線合成方案和線上合成方案,離線合成方案省去網路請求,合成速度更快,節省網路流量,但是合成音的聽起來比較機械,語速和停頓的處理較差一些。如果對合成音的效果要求不是特別高,可以考慮採用iOS自帶的AVSpeechSynthesis框架,免去語音庫的合入,減少安裝包大小。 ...
  • 1、查找表中多餘的重覆記錄,重覆記錄是根據單個欄位(peopleId)來判斷 select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count (peopleId) > ...
  • 本文首先介紹mysql的安裝和基本使用、進階操作、講解mysql的導入導出和自動備份,然後介紹安全模式修改密碼和mysql的全文本搜索功能,最後記錄了個人使用mysql中遇到的問題集。 開始安裝: 簡單使用 建庫 建表 增 刪 改 查 顯示所有的view 進一步操作 創建用戶: 重命名: 刪除用戶: ...
  • 資料庫狀態 (database states) 查詢資料庫的當前狀態 : 1、查詢所有資料庫的狀態 ,通過sys.databases目錄視圖的state_desc列 2、查詢指定資料庫的狀態,通過DATABASEPROPERTYEX函數的Status屬性 狀態: ONLINE:可以對資料庫進行訪問。 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...