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

使用SQL Server備份腳本 T-SQL的優(yōu)勢

使用 SSMS GUI 備份一個或兩個數(shù)據(jù)庫可能不是一個壞主意。但是,如果您在SQL Server中有大量數(shù)據(jù)庫,或者對備份結(jié)果有特定要求(例如,在文件名中包含日期/時間),那么 T-SQL 可以成為處理重復性任務的救命稻草。

在下面的文章中,我將分享我用來執(zhí)行基本數(shù)據(jù)庫備份和一些更高級任務的SQL Server備份腳本。

SQL Server 中的基本數(shù)據(jù)庫備份腳本

在繼續(xù)使用更復雜的腳本之前,讓我們先看一下基本的 DATABASE BACKUP 命令,這是使用腳本備份SQL Server的基礎。

連接到您的服務器,單擊“新建查詢”以打開 SQLQuery 窗口,然后輸入命令以“執(zhí)行”它。

數(shù)據(jù)庫備份命令

對數(shù)據(jù)庫進行完整備份:

BACKUP DATABASE databasename
TO DISK = 'path\name.bak'
GO

對數(shù)據(jù)庫進行差異備份:

BACKUP DATABASE databasename
TO DISK = 'path\name.bak'
WITH DIFFERENTIAL
GO

*創(chuàng)建差異備份需要先前的完整備份。

制作數(shù)據(jù)庫的事務日志備份:

BACKUP LOG databasename
TO DISK = 'path\filename.trn'
GO

對于數(shù)據(jù)庫恢復,您可以參考從 bak 文件恢復 SQL 數(shù)據(jù)庫.

使用日期備份 SQL Server數(shù)據(jù)庫的腳本

有時你可能希望經(jīng)常備份一個數(shù)據(jù)庫,并保留不同的版本以備恢復需要,如果bak文件名可以由數(shù)據(jù)庫名和備份日期組成,就很方便了。

下面是帶有日期的SQL Server備份腳本示例:

DECLARE@FileName varchar(1000)
SELECT @FileName = (SELECT 'filepath\databasename' + convert(varchar(500), GetDate(),112) + '.bak')
BACKUP DATABASE databasename TO DISK = @FileName

填寫你自己的備份路徑和數(shù)據(jù)庫名稱,你會得到一個帶日期的bak文件。

帶日期的備份腳本

備份實例所有數(shù)據(jù)庫的腳本

當您需要備份SQL Server的所有數(shù)據(jù)庫時,一個合適的 T-SQL 腳本可以大大減輕您的負擔。有了它,你不需要指定你要備份的數(shù)據(jù)庫,只需要排除那些你不想備份的(比如系統(tǒng)數(shù)據(jù)庫)。并且創(chuàng)建的備份文件將自動命名為數(shù)據(jù)庫名稱加日期。

這是一個例子:

DECLARE @name VARCHAR(50) -- 數(shù)據(jù)庫名
DECLARE @path VARCHAR(256) -- 備份文件路徑
DECLARE @fileName VARCHAR(256) -- 備份文件名
DECLARE @fileDate VARCHAR(20) -- 用于文件名

- - 指定數(shù)據(jù)庫備份目錄 eg 'D:\backup\'
SET @path = 'backuppath'

-- 指定文件名格式
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) + '_' + REPLACE(CONVERT (VARCHAR(20),GETDATE(),108),':','')

DECLARE db_cursor CURSOR READ_ONLY FOR
SELECT name
FROM master.sys.databases
WHERE name NOT IN ('master','model','msdb', '臨時數(shù)據(jù)庫') -- 排除這些數(shù)據(jù)庫
AND state = 0 -- 數(shù)據(jù)庫在線
AND is_in_standby = 0 -- 數(shù)據(jù)庫不是只讀日志傳送

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor
DEALLOCATE db_cursor

腳本備份所有數(shù)據(jù)庫

如何自動化 SQL Server備份腳本?

現(xiàn)在您已經(jīng)有了SQL Server備份數(shù)據(jù)庫腳本,您可以隨時執(zhí)行它。但是,如果您需要經(jīng)常執(zhí)行它,最好使用 SQL Server 代理 自動執(zhí)行 MSSQL 備份腳本。

“注意:”此功能僅在非 Express 版本中可用。如果您是 SQL Express 用戶,請嘗試使用自動地用于備份 SQL 數(shù)據(jù)庫的批處理文件

1. 右擊“SQL Server 代理”,選擇“新建” > “作業(yè)”

確保SQL Server 代理 已啟用,否則,請右鍵單擊它并選擇“開始”

新工作

2. 在“新建作業(yè)”窗口的“常規(guī)”選項卡中,輸入作業(yè)的名稱和描述。

3. 單擊“步驟”選項卡,單擊“新建...”并為其“命名“步驟”,然后將備份腳本復制到“命令”部分并單擊“確定”。

輸入命令

4. 移動到計劃選項卡,您可以單擊“新建”設置自動執(zhí)行腳本的計劃。

創(chuàng)建時間表

5. 然后,單擊“確定”創(chuàng)建作業(yè)。如果沒有問題,您可以在“SQL Server 代理” > “作業(yè)”下找到新作業(yè)。它會在您設置的時間自動執(zhí)行操作,但您也可以右鍵單擊它并選擇“作業(yè)開始步驟”立即執(zhí)行。

“注意”:如果要在不更改腳本的情況下更改存儲備份的目標路徑,可以在備份之前指定一個邏輯sql server 中的備份設備,然后在要更改它時重新定義它。

輕松備份 SQL 數(shù)據(jù)庫的強大替代方案

一旦你有了一個有效的腳本,SQL Server數(shù)據(jù)庫的備份工作就會變得容易得多。但是,此方法也有一些限制:

  • 自動化備份任務不是很方便。
  • 腳本中的任何小錯誤都會導致操作失敗。
  • 您仍然需要一個還原腳本來還原SQL Server的數(shù)據(jù)庫……

為了彌補這些不足,可以使用SQL數(shù)據(jù)庫備份軟件,如傲梅企業(yè)備份網(wǎng)絡版. 操作非常簡單,具有同時備份多個數(shù)據(jù)庫、定時自動備份、恢復多個數(shù)據(jù)庫等功能。

下載180天免費試用版試用:

1. 企業(yè)備份網(wǎng)絡版設置完成后,您可以使用它在客戶端安裝“代理程序包,并”“請求控制”您要管理的計算機。

請求控制

然后,切換到“主頁”選項卡并選擇SQL Server備份開始。

sql服務器備份

2、在“步驟1”中點擊“+添加計算機”,檢測到被SQL Server控制的客戶端計算機,選擇需要備份的計算機。

添加計算機

3. 在“步驟2”中,點擊+ 添加以檢測所選機器上的實例。在彈出的窗口中,您可以選擇多個數(shù)據(jù)庫甚至多個實例進行備份。

選擇要備份的數(shù)據(jù)庫

4. 在步驟 3中,單擊“添加存儲”指定目標路徑。添加的網(wǎng)絡共享或 NAS 將被保存以備后用。

選擇網(wǎng)絡共享

5. 或者,您可以設置一個“計劃”來自動備份,并選擇執(zhí)行完整或差異備份。然后單擊“開始備份”以執(zhí)行任務。備份完成后,您可以直接選擇要恢復的任務。

備份時間表

結(jié)論

與 SSMS GUI 相比,SQL Server備份腳本允許進行一些更復雜和自定義的備份操作。但如果您不熟悉T-SQL命令,或者想更直觀地進行備份和恢復,您也可以使用傲梅企業(yè)備份網(wǎng)絡版,集中數(shù)據(jù)管理解決方案。

它不僅適用于本地計算機,還適用于局域網(wǎng)內(nèi)的所有臺式機、筆記本電腦、工作站和服務器。所以你可以集中安排備份,并且將SQL 數(shù)據(jù)庫恢復到另一臺服務器隨你便。