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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...