男人插曲女人身体视频,中文字幕日韩一区二区三区不卡,中国gay男男gaygay视频,一本色道婷婷久久欧美,中文字幕永久视频在线看

為什么要使用批處理腳本來備份SQL Server數(shù)據(jù)庫?

在 Windows 中,批處理腳本是存儲在文本文件中的命令序列,可用于自動執(zhí)行重復性任務。 在SQL Server備份方面,批處理腳本可能不是相對簡單的學習方法,但當您需要批量或定期備份數(shù)據(jù)庫時,它無疑是一種高效的方法。

在接下來的文章中,我將分享批處理腳本備份 SQL Server 數(shù)據(jù)庫方法。

sql服務器

在開始之前,請確保您的計算機上安裝了 SQLCMD 實用程序,因為它是輸入 Transact-SQL 語句、系統(tǒng)過程和腳本文件的先決條件。

如果您運行的是SQL Server2014 或更早版本,則該實用程序隨 SSMS 一起提供。但從SQL Server2016 開始,您需要單獨安裝它。下載 SQLCMD 實用程序并在這一頁.

使用此實用程序,您可以編寫批處理腳本備份 SQL Server 數(shù)據(jù)庫?;久钍牵?/p>

SqlCmd -E -S servername -Q "BACKUP DATABASE databasename TO DISK ='filepath\filename.bak'"

如果您只想備份一個或幾個數(shù)據(jù)庫而沒有其他要求,只需在文本編輯器中輸入此命令并填寫您自己的信息即可。但是如果你想保留不同版本的備份,并且每個文件都包含了具體的備份時間,那么你可以使用下面的備份sql數(shù)據(jù)庫的批處理文件:

ECHO OFF
:: 設置保存?zhèn)浞菸募穆窂?例如 D:\backup
set BACKUPPATH=

:: 設置服務器和實例的名稱
set SERVERNAME=

:: 設置數(shù)據(jù)庫名稱
set DATABASENAME=

:: 文件名格式 Name-Date
For /f "tokens =2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)

set DATESTAMP=%mydate%_%mytime%
set BACKUPFILENAME=%BACKUPPATH%\%DATABASENAME%-%DATESTAMP%.bak

SqlCmd -E -S %SERVERNAME% -d master -Q "備份數(shù)據(jù)庫 [%DATABASENAME%] 到磁盤 = N'%BACKUPFILENAME%' WITH INIT, NOUNLOAD, NAME = N'%DATABASENAME% backup', NOSKIP, STATS = 10, NOFORMAT”
ECHO.

填寫您的備份路徑、服務器名稱和數(shù)據(jù)庫名稱,然后使用 .bat 擴展名保存此備份腳本。因此,您可以隨時雙擊批處理文件備份 SQL數(shù)據(jù)庫。

在某些情況下,您可能不僅要備份一兩個數(shù)據(jù)庫,還要備份SQL Server實例中的所有數(shù)據(jù)庫。如何備份sql server數(shù)據(jù)庫,采用批處理文件的方式呢?

實際上,您只需要構建一個數(shù)據(jù)庫列表并指定要從中排除的那些。例如,我想將我所有的 SQL數(shù)據(jù)庫(系統(tǒng)數(shù)據(jù)庫除外)備份到 D:\Backup,那么下面的批處理腳本將起作用:

@ECHO OFF
SETLOCAL
REM 以 YYYY-MM-DD 格式獲取日期(假設語言環(huán)境是美國)
FOR /F "tokens=1,2,3,4 delims=/ " %%A IN ('Date /T' ) DO SET NowDate=%%D-%%B-%%C

REM 建立要備份的數(shù)據(jù)庫列表
SET DBList=D:\SQLDBList.txt
SqlCmd -E -S DESKTOP-AC51C0M -h-1 -W -Q " SET NoCount ON; SELECT Name FROM master.dbo.sysDatabases WHERE [Name] NOT IN ('master','model','msdb','tempdb')" > "%DBList%"

REM 備份每個數(shù)據(jù)庫,添加日期到文件名
FOR /F "tokens=*" %%I IN (%DBList%) DO (
ECHO 備份數(shù)據(jù)庫:%%I
SqlCmd -E -S DESKTOP-AC51C0M -Q "BACKUP DATABASE [%%I] TO Disk ='D:\Backup\%%I-%NowDate%.bak'"
ECHO.)

REM 清理臨時文件
IF EXIST "%DBList%" DEL /F /Q "%DBList%"

ENDLOCAL

您可以修改構建 DBlist 的路徑(之后會自動刪除)和保存?zhèn)浞莸奈募A。此外,此腳本不會備份系統(tǒng)數(shù)據(jù)庫('master'、'model'、'msdb'、'tempdb'),您可以添加要排除的其他數(shù)據(jù)庫。

為了便于管理,一些用戶可能希望創(chuàng)建一個帶有時間標簽的文件夾,以單獨保存每個備份創(chuàng)建的所有 bak 文件。 因此,我還將提供一個替代腳本供您參考。

@ECHO OFF
SETLOCAL
REM 以 YYYY-MM-DD 格式獲取日期(假設語言環(huán)境是美國)
FOR /F "tokens=1,2,3,4 delims=/ " %%A IN ('Date /T' ) DO SET NowDate=%%D-%%B-%%C

REM 建立要備份的數(shù)據(jù)庫列表
SET DBList=D:\SQLDBList.txt
SqlCmd -E -S DESKTOP-AC51C0M -h-1 -W -Q " SET NoCount ON; SELECT Name FROM master.dbo.sysDatabases WHERE [Name] NOT IN ('master','model','msdb','tempdb')" > "%DBList%"

mkdir D:\Backup
mkdir D: \Backup\%NowDate%
REM 備份每個數(shù)據(jù)庫,在文件名前添加日期
FOR /F "tokens=*" %%I IN (%DBList%) DO (
ECHO 備份數(shù)據(jù)庫:%%I
SqlCmd -E -S DESKTOP -AC51C0M -Q"將數(shù)據(jù)庫 [%%I] 備份到磁盤 ='D:\Backup\%NowDate%\%%I.bak'"
ECHO。)

REM 清理臨時文件
IF EXIST "%DBList%" DEL /F /Q "%DBList%"

ENDLOCAL

它與前一個腳本的不同之處僅在于創(chuàng)建和命名備份文件。 您可以根據(jù)需要進行選擇。

通過以上步驟,您就有了一個備份 SQL數(shù)據(jù)庫的批處理文件。要自動執(zhí)行它,您可以使用 Windows 任務計劃程序。

1. 直接搜索“任務計劃程序”,或導航到“控制面板”>“管理工具”>“任務計劃程序”。

創(chuàng)建基本任務

2. 單擊 “創(chuàng)建基本任務” 并按照向導選擇 “觸發(fā)器”。選項包括每日、每周、每月等。

選擇觸發(fā)器

3. 將 Action設置 為“Start a program”,然后瀏覽您的本地驅動器以選擇批處理腳本。

選擇動作

完成設置后,任務計劃程序將根據(jù)您設置的計劃執(zhí)行選定的批處理腳本。

備選方案:自動備份多個SQL Server數(shù)據(jù)庫或實例

使用批處理腳本備份 SQL Server 數(shù)據(jù)庫的主要好處是能夠一次備份大量數(shù)據(jù)庫、執(zhí)行和自動備份的簡單性。只要可以滿足這些點,使用 GUI 的有效替代方案就不是一個壞主意。

例如,集中備份軟件傲梅企業(yè)備份網絡版包含支持 SQL 2005-2019 的SQL Server備份功能。有了它,您可以保護 LAN 內作為客戶端簽名的任何 Windows PC 或服務器。您可以自由選擇數(shù)據(jù)庫或整個實例進行備份和恢復。

至于自動化,您可以設置計劃以每天/每周/每月運行備份。支持完全備份和差異備份。除了SQL數(shù)據(jù)庫,它還支持“文件、分區(qū)、磁盤和操作系統(tǒng)備份”。

在中央計算機上安裝傲梅企業(yè)備份網絡版后,您可以在所有客戶端上安裝代理程序包,并“請求控制”您要管理的計算機。之后,您可以嘗試以下步驟來創(chuàng)建SQL Server備份任務。

請求控制

1. 導航到“主頁”選項卡并選擇SQL Server 備份 開始。

sql服務器備份

2. 在步驟 1中,單擊+ 添加計算機以檢測所有具有SQL Server數(shù)據(jù)庫的受控計算機,然后選擇要備份的計算機。

將計算機添加到備份

3. 點擊“第二步”,然后點擊+ Add在彈出窗口中指定源數(shù)據(jù)。您可以選擇多個數(shù)據(jù)庫甚至多個實例進行備份。

將數(shù)據(jù)庫添加到備份

4. 單擊 步驟 3選擇目的地。在彈出的窗口中點擊 添加存儲,在這里您可以輸入路徑和身份驗證來指定網絡共享 NAS。添加的路徑將被保存以供您以后使用。

選擇目標路徑

5. 現(xiàn)在您可以單擊“計劃”自動備份,并在“高級”選項卡中選擇備份類型(完整/差異)。之后,單擊“開始備份”。

日程

一旦任務執(zhí)行完畢,您無需擔心后續(xù)問題。所有選定的數(shù)據(jù)庫將根據(jù)您設置的計劃自動備份。

總結

在所有方法中,使用批處理腳本備份 SQL Server 數(shù)據(jù)庫可能不是相對簡單的方法,但在自動備份和批量備份方面確實有一些優(yōu)勢。例如,您可以一次備份一個實例中的所有數(shù)據(jù)庫,并使用 Windows 任務調度程序靈活地自動執(zhí)行任務。

但是,如果你覺得定制一個批處理腳本真的很麻煩,那么像傲梅企業(yè)備份網絡版版這樣的SQL備份軟件也是一個好主意。它將直觀地引導您完成備份過程,并允許您在一臺機器上選擇任意數(shù)量的數(shù)據(jù)庫。如果你想自動備份 SQL數(shù)據(jù)庫,那么時間表選項也可以滿足您的需求。