資料庫定時備份
1. 怎麼才能建立資料庫的自動備份機制.,越詳細越好//謝謝
sql server資料庫備份方案2008-08-05 13:15SQL Server 資料庫備份方案
為了保證SQL Server 數據的安全,資料庫管理員應定期備份資料庫,在不同情況下應採用不同備份資料庫備份策略,一方面維持數據的安全性,另一方面也可保持SQL Server 能順暢運行。盡最大的努力減少由於數據的損壞對客戶造成的損失。
概念
1) 備份工作規劃
計算機軟硬體的穩定性還未達到非常穩定的狀態,計算機中的數據仍有損失或毀壞的情況發生。存在於計算機內的數據不安全,即使採用容錯設備,也無法保證資料庫 100%安全。 計算機硬體的費用可能很高,但計算機數據更珍貴,做好數據備份,可保證在各種意外發生情況時,仍能保持有資料庫的完整性。 管理員必須花時間來備份資料庫,但 SQL SERVER也提供不少自動化功能。
2)備份方式
資料庫——完全
就是備份整個資料庫的內容。若將整個資料庫的內容都備份下來,需很多的存儲空間來存放備份數據,但其好處是在還原資料庫時,也只要將整個資料庫從一份資料庫備份還原到 SQL SERVER 中就可以了。它是其他備份的基礎,在做其他備份之前,必須得做此種方式的備份。
資料庫——差異 (Differential)
只備份從上一次執行「完全」資料庫備份後有改動的數據,因此所需要的備份時間和備份空間都比「完全」 方式少,所以此方式最適合作為經常性的備份方式。
事務日誌(Transaction Log)
只備份事務記錄文件的內容,由於事務日誌文件只會記錄我們在前一次資料庫備份或事務日誌記錄備份之後,對資料庫所做的變動過程,也就是只記錄某一段時間的資料庫變動情況,因此在做事務記錄備份之前,必須做一次「完全」的資料庫備份
文件和文件組:
如果資料庫的內容分散存儲於多個文件或文件組,而且資料庫已非常大,大到進行一次完整的資料庫備份會有時間和存儲空間上的問題。這時就可以使用此方式來備份資料庫的部分文件或文件組。由於每次只備份部分的文件或文件組,因此需做數次不同的備份才能完成整個資料庫的備份。才用此方式備份也有個好處,就是當毀壞的數據只是資料庫中的某個文件或文件組時,也只要還原壞的文件或文件組備份就可以了。
3)備份方案制訂原則
規劃資料庫的備份策略,需要考慮備份的各項變數,必須同時考慮到還原作業的進行。在做備份時,可考慮以下幾點。
(1) 有多少時間以及在那些時段可進行備份
(2) 資料庫變動的頻率如何
(3) 資料庫大小
(4) 當資料庫出問題時,用戶願意等待多久讓資料庫還原完畢
(5) 應採用何種備份方式,做怎樣的搭配
(6) 要使用哪種存儲介質
4)備份方案
(1)完全資料庫備份配合事務日誌備份
對於資料庫數據比較大,但每天的變動的內容小,可考慮採用此方式。可定期做一次完整的資料庫備份,例如:每周或每月做一次「完全」資料庫備份。然後再以較段短的周期,如每天或每兩天做一此事務日誌備份。這樣平時備份工作負擔比較輕,發生以外時,可將數據還原到最近期的狀態。
(2)完全資料庫備份配合差異式備份
此方式是將前一種方式中的事務日誌備份方式改成差異式備份。其優點是在做還原時,只需在做完最近一次資料庫備份的還原後,再用前一天的差異備份來還原就可以了,不像使用事務記錄備份時,需一天一天還原。缺點是在比較後的日子裡,每次做差異備份所需的時間和空間會增加。
(3)三種備份方式的綜合使用
由於事務記錄備份和差異備份各有其優缺點,因此我們可以將兩種方法結合起來使用。對於數據信息非常重要,每1、2小時備份一次,可能的損失只是1、2個小時的數據。
(4)當資料庫過大,有不易備份的問題時,可以採用文件或文件組備份方式,可考慮將資料庫分開存於不同的文件和文件組中,然後以文件和文件組的方式將整個資料庫分數次備份。此外,如果資料庫中只有部分表經常變動,另一部分很少變動,也可考慮將這兩部分存於不同的文件和文件組中,然後用不同的備份頻率來備份其內容。 採用此方式備份數據的缺點是:必須數次操作才能備份完數據。
(5)使用備用伺服器
採用此方式是再准備一台伺服器,先在原伺服器上做完全的備份,再把此備份放到備份伺服器上做還原,使兩邊的數據同步,以後可以定期對原資料庫做事務日誌備份,把事務日誌放到備份伺服器上還原。當原伺服器出現問題既可使用備份伺服器接上網路提供服務。
注意:系統資料庫的備份與還原是很多用戶在定義資料庫備份方案中容易忽略的,系統資料庫中雖然不保存業務數據,但它保存了很多SQL Server的設置,如果不備份系統資料庫,那麼在伺服器發生故障導致系統損壞時,重新配置所有的SQL Server設置將是一個噩夢DEMO
方案一 資料庫備份(常用方案)
在SQL Server備份窗口,可以通過調度設置,將當前進行的備份處理設置為定時自動處理的作用。具體的步驟如下:
1. 展開一個伺服器組。
2. 展開一個伺服器( SQL Server實例)。
3. 展開【資料庫】,右單擊要備份的資料庫,在彈出的菜單中選擇【所有任務】—〉【備份資料庫】命令。
4. 在隨後打開的SQL Server備份窗口中,設置備份的相關選項。參見前面的備份方案
單擊【常規】選項卡,在【調度】項中,選中【調度】復選框,然後單擊【調度】復選框後的【…】按鈕。在隨後出現的【編輯調度】對話框中,設置時間調度安排。
5. 設置完成後,單擊【確定】按鈕,SQL Server將執行備份操作,同時在【SQL Server 代理】—〉【作業 】中自動建立對應的作業。
6. 在【SQL Server 代理】—〉【作業 】窗口中,可以像處理普通作業一樣修改或刪除資料庫備份窗口中定義的備份計劃。
演示
方案二 數據轉換法(DTS)
具體的方案就是:
1.主伺服器和備份伺服器裝載完全一樣的操作系統和資料庫軟體,以及相應編制的管理軟體;
2.事先選定需要定期更新的表、視圖、存儲過程等等,必要時可選擇全部資料庫更新;
3.使用SQL Server 提供的數據轉換服務導入/ 導出向導(以SQL Server2000 為例) ,利用復制 SQL Server 對象任務,將 Microsoft SQL Server 對象從SQL Server 的一個實例復制到另一個SQL Server 中;
4.編輯反復出現的作業調度,確定發生的頻率和具體時間,一般情況下,由於數據量較大,不提倡每日發生多次,盡量安排在網路空餘時間發生。
這個方案優點是:
1.成本低、可靠性高,操作簡單,較易維護;
2.系統轉換時間短,備份系統替換主伺服器只需幾分鍾。即使出現意外,備份系統很快就會恢復正常,只損失少量數據,重新輸入即可;
3.本地和異地備份都是利用晚上網路空閑時間進行的,沒有增加日常網路流量,不會增加網路負擔。
注意選擇傳輸對象,相同版本的SQL Server 可以相互,或者由低版本向高版本SQL Server 備份,如:
SQL Server 7.0 的實例備份到 SQLServer 2000 的實例。
SQL Server 2000 的實例備份到另一個 SQL Server 2000 的實例。
備份的操作步驟:
1.打開企業管理器,選擇SQLServer 伺服器的資料庫,單擊滑鼠右鍵,選擇「所有任務」,並點選「導入數據」或「導出數據」。 如果是在主伺服器上進行操作,選導出數據;在備份伺服器上進行操作,則選導入數據。
2.第一步操作後,調出「數據轉換服務導入/ 導出向導」界面,單擊「下一步」,進入「DTS 導入/ 導出向導」的選擇數據源界面,選擇「目的」,選擇「制定表復制或查詢」,選擇要復制的對象。 弱
做選擇時,首先根據具體的客戶端選擇數據源,如果是OLE DB客戶端,選擇「用於SQL Server的Microsoft提供的OLEDB 程序」。
然後選擇提供數據源的伺服器,接下來選擇進入資料庫的方式,可選擇「使用Windows 身份驗證」或「使用SQL Server 身份驗證」。 如果選「使用SQL Server 身份驗證」,須填寫SQL Server 認可並對數據有修改權的用戶,一般可選「SA」及其密碼。最後選擇要復制的資料庫。
3.在「制定表復制和查詢」中,選擇「在SQL Server資料庫之間復制對象和數據」,然後單擊下一步。選擇具體復制對象和相應的選項等等.。
4.通過保存調度和復制包,定製進行復制的時間和頻率。
5.全部設置完成後,提示會列出源、目的、採用的方式、資料庫等選項,由你確認完成。
6.如果設置結束後要進行定製時間修改,在企業管理器中,通過伺服器、資料庫、管理、SQL server 代理、作業,然後選擇具體的作業,調出界面進行修改。
至此,你就可以在自己的中小企業環境中,輕松實現多台資料庫伺服器間的定時自動數據備份了。
演示
方案三 資料庫維護計劃+X命令(推薦使用)
1. 展開一個伺服器組
2. 展開一個伺服器實例(SQL Server實例)。
3. 展開【管理】,右擊【資料庫維護計劃】,在彈出的快捷菜單中選擇【新建維護計劃】命令。
4. 在隨後出現的【資料庫維護計劃 —(Local)】對話框中,單擊【下一步】按鈕跳過歡迎頁,在接下來的【選擇資料庫】步驟中,定義要備份的資料庫。
5. 單擊【下一步】按鈕,跳過與資料庫備份無關的步驟,在【指定資料庫備份計劃】步驟中,選擇【作為維護計劃的一部分來備份資料庫】復選框;通過單擊【磁帶】或者【磁碟】單選按鈕來選擇備份設備;單擊【調度】選項右邊的【更改】按鈕,可以在隨後出現的【編輯反復出現的作業調度】對話框中設置維護計劃的時間安排。
6. 單擊【下一步】按鈕,如果在步驟(5)中,備份設備選擇的是【磁碟】設備,則會進入【指定備份磁碟目錄】步驟,根據實際情況,設置此步驟中的內容。
7. 單擊【下一步】按鈕,進入【指定事務日誌備份計劃】步驟,如果需要進行事務日誌備份,則選擇【作為維護計劃的一部分來備份事務日誌】復選框。備份事務日誌的其他設置步驟參考(5)~(6)。
8. 根據需要設置其他步驟,最後進入【正在完成資料庫維護計劃向導】步驟,設置好【計劃名】,單擊【完成】按鈕完成資料庫維護計劃的定義。
9. 完成步驟(1)~(8)後,單擊【資料庫維護計劃】,在企業管理器控制台右邊的詳細信息窗口中就可以看到定義好的資料庫維護計劃,同時,展開【SQL Server代理】—〉【作業】,可以【作業】右邊的詳細窗口中,可以看到維護計劃自動建立的備份出路作業。
10. 通過有機維護計劃,選擇【屬性】命令,可以修改已經定義的維護計劃。
11. 通過右擊維護計劃,選擇【刪除】命令,可以刪除已經定義的維護計劃,同時【SQL Server 代理】—〉【作業】中的相關作業也會自動刪除。
新建一個批文件 Copy.bat具體腳本如下:
@echo off
title 正在傳輸資料庫備份文件到遠程備份伺服器上!
echo 提示:開始驗證伺服器上是否存在備份文件!
echo 請稍候!
if exist F:\DBback\*.bak (goto Process ) else goto UnFound
:Process
echo 提示:在伺服器上找到了備份文件!
echo -------------------------------------------------------------------------------
echo 提示:開始刪除遠程備份伺服器上的原始文件!
rem 備註:下列IP地址為遠程備份伺服器的IP地址!
del \\192.168.244.24\DBback /q /s /f
del \\192.168.244.24\DBback\*.* /q /s /f
if errorlevel 0 goto success
:success
echo 提示:成功刪除原始文件!
echo -------------------------------------------------------------------------------
echo 提示:開始復制資料庫備份文件到遠程備份伺服器\\192.168.244.24\DBback!
echo 請稍候!
rem 備註:請具體更改\\192.168.244.1\DBback為伺服器備份文件存放的位置。\\192.168.244.24\DBback為備份伺服器上存放的位置!
x \\192.168.244.1\DBback \\192.168.244.24\DBback /y /f
rem 備註:當X命令結束後返回的Errorlevel為4說明磁碟控制項不足。當X命令返回0時說明成功完成操作!
if errorlevel 4 goto lowmemory
if errorlevel 0 goto showmessage
:lowmemory
echo 警告:請查看磁碟空間是否不足!
:UnFound
echo 警告:在伺服器上找不到備份文件,批任務將要結束。伺服器備份工作似乎沒有正常進行,請確認伺服器是否正常生成備份文件!
goto exit
:showmessage
echo 提示:批任務完成!
echo 提示:成功復制資料庫備份到遠程伺服器\\192.168.244.24\DBback!
echo 按任意鍵結束退出!
echo --------------------------------------------------------------------------------
:exit
pause
echo 成功復制PersonnelM資料庫備份到遠程伺服器\\192.168.244.24\1上!
Pause
利用Windows 任務計劃來調度批任務
1. 單擊「開始」—〉「程序」—〉「附件」—〉「系統工具」—〉「任務計劃」
2. 雙擊「新建任務計劃」,彈出「任務計劃向導」單擊「下一步」。在選擇任務窗體中選擇「瀏覽」。我們選擇要調度執行的Copy.bat文件。
3. 在接下來彈出的窗體中為我們的任務計劃起個名稱並且選擇執行頻率。這里我們選擇「每天」
4. 在密碼確認窗體中輸入本機的密碼。單擊「下一步」選擇「完成」。至此任務計劃設置完成。(有需要的話可以單擊選擇「在單擊完成時,打開此任務的高級屬性」復選框以便對此任務進行高級設置!)
方案四 同步備份伺服器(腳本)
/*該部分參考了鄒建的腳本*/
/*--說明:
下面的代碼演示了如何利用日誌還原功能,將主資料庫中的數據變化及時反饋到備用資料庫中
備用資料庫的數據可以隨時用於查詢,但不能被更新(備用資料庫只讀)。
--*/
--首先,創建一個演示用的資料庫(主資料庫)
CREATE DATABASE Db_test
ON
( NAME = Db_test_DATA,
FILENAME = 'c:\Db_test.mdf' )
LOG ON
( NAME = Db_test_LOG,
FILENAME = 'c:\Db_test.ldf')
GO
--對資料庫進行備份
BACKUP DATABASE Db_test TO DISK='c:\test_data.bak' WITH FORMAT
GO
--把資料庫還原成備用資料庫(演示主資料庫與這個備用資料庫之間的同步)
RESTORE DATABASE Db_test_bak FROM DISK='c:\test_data.bak'
WITH REPLACE,STANDBY='c:\db_test_bak.ldf'
,MOVE 'Db_test_DATA' TO 'c:\Db_test_data.mdf'
,MOVE 'Db_test_LOG' TO 'c:\Db_test_log.ldf'
GO
--啟動 SQL Agent 服務
EXEC master..xp_cmdshell 'net start sqlserveragent',no_output
GO
--創建主伺服器數據訓與備用伺服器資料庫之間同步的作業
DECLARE @jogid uniqueidentifier
EXEC msdb..sp_add_job
@job_id = @jogid OUTPUT,
@job_name = N'數據同步處理'
--創建同步處理步驟
EXEC msdb..sp_add_jobstep
@job_id = @jogid,
@step_name = N'數據同步',
@subsystem = 'TSQL',
@command = N''
--主資料庫中進行日誌備份
BACKUP LOG Db_test TO DISK="c:\test_log.bak" WITH FORMAT
--備用資料庫中還原主資料庫的日誌備份(應用主資料庫中的最新變化
--實際應該時主資料庫備份與備用資料庫的還原作業應該分別在主伺服器和備用伺服器上建立,並且備份文件應該放在主伺服器和備用都能訪問的共享目錄中
RESTORE LOG Db_test_bak FROM DISK='c:\test_log.bak' WITH STANDBY='c:\test_log.ldf',
@retry_attempts = 5,
@retry_interval = 5
--創建調度(每分鍾執行一次)
EXEC msdb..sp_add_jobschele
@job_id = @jogid,
@name = N'時間安排',
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x4,
@freq_subday_interval=1,
@freq_recurrence_factor=1
-- 添加目標伺服器
EXEC msdb.dbo.sp_add_jobserver
@job_id = @jogid,
@server_name = N'(local)'
GO
--通過上述處理,主資料庫與備用資料庫之間的同步關系已經設置完成
--下面開始測試是否能實現同步
--在主資料庫中創建一個測試用的表
CREATE TABLE Db_test.dbo.TB_test(ID int)
GO
--等待1分鍾30秒(由於同步的時間間隔設置為1分鍾,所以要延時才能看到效果)
WAITFOR DELAY '00:01:30'
GO
--查詢一下備用資料庫,看看同步是否成功
SELECT * FROM Db_test_bak.dbo.TB_test
/*--結果:
ID
-----------
(所影響的行數為 0 行)
--*/
--測試成功
GO
--最後刪除所有的測試
DROP DATABASE Db_test,Db_test_bak
EXEC msdb..sp_delete_job @job_name=N'數據同步處理'
GO
/*===========================================================*/
/*--伺服器宕機處理說明
使用這種方式建立的資料庫同步,當主資料庫不可用時(例如,主資料庫損壞或者停機檢修)
可以使用以下兩種方法使備用資料庫可用。
--*/
--1. 如果主資料庫損壞,無法備份出最新的日誌,可以直接使用下面的語句使備用資料庫可讀寫(丟失最近一次日誌還原後的所有數據)。
RESTORE LOG Db_test_bak WITH RECOVERY
--2. 如果主資料庫可以備份出最新日誌,則可以使用下面的語句。
--先備份主資料庫的最新的事務日誌
BACKUP LOG Db_test TO DISK=''c:\test_log.bak'' WITH FORMAT
--再在備用資料庫中恢復最新的事務日誌,並且使備用資料庫可讀寫(升級為主資料庫)
RESTORE LOG Db_test_bak FROM DISK='c:\test_log.bak'
方案五 復制訂閱
開始學習之前我們先搞清楚以下幾個概念:
復制(Replication)就是將數據由某處復制到一個或多個目的地,由於對資料庫分散式應用的需求日漸增加,SQL Sever也提供了復制的功能。
SQL Server 的復制功能基本上是使用「發布伺服器(Publisher) 」和「訂閱伺服器」(Subscriber)的結構,這整個結構中包含了數個不同的組件。
(1) 發布伺服器(Publisher):在復制中,發布伺服器就是負責發布資料庫內容給其他伺服器的SQL Server (一般的我們把主伺服器當作發布伺服器,形象一點比喻發布伺服器就好像是一本書的作者)
(2) 訂閱伺服器(Subscriber):訂閱伺服器就是指受發布伺服器所發布數據的SQL SERVER,通常發布伺服器只有一個,但訂閱伺服器可以有多個。(形象比喻訂閱服務就像是讀者,購買相同圖書的讀者可以有很多。)
(3) 分發伺服器(Distributor):除了發布伺服器和訂閱伺服器這兩個基本外,另一個可以由 SQL SERVER 在整個復制結構中扮演的角色就是分發伺服器。分發伺服器是負責將發布伺服器所發布的資料庫發布、傳輸到各訂閱伺服器的伺服器。在簡單的復制結構中,發布伺服器和分發伺服器通常是使用同一個 SQL SERVER。設置為分發伺服器的 SQL SERVER,會有個名為 distribution 的系統資料庫存放復制信息。
(4) 發布項(Article):發布伺服器所發布的數據稱為發布項,發布項是進行復制時的復制單位,發布項可以是表或存儲過程等資料庫對象,也可以知識表中的某幾列或某幾項數據。
(5) 發布(Publish):一組特定的發布項組合就稱為發布,也就是 SQL SERVER進行復制時所復制的數據合。當訂閱伺服器向發布伺服器訂閱數據時,是以發布為單位,而不是以發布項為單位的。即,訂閱伺服器只能接收整個發布中的所有 article。而不能只選擇其中幾個發布項類訂閱,每個發布只有來自單一資料庫的內容,但我們可以為資料庫設置多個發布。
(6) 為適應不同的復制需求,SQL SERVER提供了發送(Push)和請求(Pull)兩種不同的訂閱方式。區別如下:
(a) 發送訂閱(Push Subscription也稱為強制訂閱):所謂的發送訂閱就是由發布伺服器主動傳送發布給訂閱伺服器,也就是由發布伺服器控制復制的操作,只要指定進行復制的時間一到,不管訂閱伺服器有沒有提出要求,發布伺服器都會將數據傳送給訂閱伺服器。
(b) 請求訂閱(Pull Subscription):請求訂閱和發送訂閱相反,是由訂閱伺服器自行根據排定的日程向發布伺服器要求訂閱發布,通常在訂閱伺服器數量較多,或是不需要即時取的最新的數據內容時,可採用此種訂閱方式。
步驟:
下介紹實現復制的步驟。(以快照復制為例)
准備工作:
1.發布伺服器,訂閱伺服器都創建一個同名的windows用戶,並設置相同的密碼,做為發布快照文件夾的有效訪問用戶
--我的電腦
--控制面板
--管理工具
--計算機管理
--用戶和組
--右鍵用戶
--新建用戶
--建立一個隸屬於administrator組的登陸windows的用戶
2.在發布伺服器上,新建一個共享目錄,做為發布的快照文件的存放目錄,操作:
我的電腦--D:\ 新建一個目錄,名為: BakPUB
--右鍵這個新建的目錄
--屬性--共享
--選擇"共享該文件夾"
--通過"許可權"按紐來設置具體的用戶許可權,保證第一步中創建的用戶具有對該文件夾的所有許可權
--確定
3.設置SQL代理(SQLSERVERAGENT)服務的啟動用戶(發布/訂閱伺服器均做此設置)
開始--程序--管理工具--服務
--右鍵SQLSERVERAGENT
--屬性--登陸--選擇"此賬戶"
--輸入或者選擇第一步中創建的windows登錄用戶名
--"密碼"中輸入該用戶的密碼
4.設置SQL Server身份驗證模式,解決連接時的許可權問題(發布/訂閱伺服器均做此設置)
企業管理器
--右鍵SQL實例--屬性
--安全性--身份驗證
--選擇"SQL Server 和 Windows"
--確定
5.在發布伺服器和訂閱伺服器上互相注冊
企業管理器
--右鍵SQL Server組
--新建SQL Server注冊...
--下一步--可用的伺服器中,輸入你要注冊的遠程伺服器名--添加
--下一步--連接使用,選擇第二個"SQL Server身份驗證"
--下一步--輸入用戶名和密碼
--下一步--選擇SQL Server組,也可以創建一個新組
--下一步--完成
6.對於只能用IP,不能用計算機名的,為其注冊伺服器別名
(在連接端配置,比如,在訂閱伺服器上配置的話,伺服器名稱中輸入的是發布伺服器的IP)
開始--程序--Microsoft SQL Server--客戶端網路實用工具
--別名--添加
--網路庫選擇"tcp/ip"--伺服器別名輸入SQL伺服器名
--連接參數--伺服器名稱中輸入SQL伺服器ip地址
--如果你修改了SQL的埠,取消選擇"動態決定埠",並輸入對應的埠號
==============================================================================
正式開始:
1.配置發布伺服器
a. 選中指定 [伺服器] 節點
b. 從 [工具] 下拉菜單的 [復制] 子菜單中選擇 [發布、訂閱伺服器和分發] 命令
c. 系統彈出一個對話框點 [下一步] 然後看著提示操作
--直到"指定快照文件夾"
--在"快照文件夾"中輸入准備工作中創建的目錄: \\<伺服器名>\ BakPUB
一[下一步] 直操作到完成。
d. 當完成了出版伺服器的設置以後系統會為該伺服器的樹形結構中添加一個復制監視器
同時也生成一個分發資料庫(distribution)
---------------------------------------------------------------------------
2.創建發布
a. 選中指定的伺服器
b. 從 [工具] 菜單的 [復制] 子菜單中選擇 [創建和管理發布] 命令。此時系統會彈出
一個對話框
c. 選擇要創建發布的資料庫,然後單擊 [創建發布]
d. 在 [創建發布向導] 的提示對話框中單擊 [下一步] 系統就會彈出一個對話框。對話
框上的內容是復制的三個類型。我們現在選第一個也就是默認的快照發布(其他兩個
大家可以去看看幫助)
e. 單擊 [下一步] 系統要求指定可以訂閱該發布的資料庫伺服器類型,SQLSERVER允許在
不同的資料庫如 ORACLE或ACCESS之間進行數據復制。但是在這里我們選擇運行
"SQL SERVER 2000"的資料庫伺服器
f. 單擊 [下一步] ,選擇要發布的對象(如表,視圖,存儲過程,一般是表)
g. 然後 [下一步] 直到操作完成。當完成出版物的創建後創建出版物的資料庫也就變成了
一個共享資料庫。
---------------------------------------------------------------------------
3.設計訂閱
a. 選中指定的訂閱伺服器
b. 從 [工具] 下拉菜單中選擇 [復制] 子菜單的 [請求訂閱]
c. 按照提示單擊 [下一步] 操作直到系統會提示檢查SQL SERVER代理服務的運行狀態,執行
復制操作的前提條件是SQL SERVER代理服務必須已經啟動。
d. 單擊 [完成] 完成訂閱操作。
----------------------------------------------------------------------------
完成上面的步驟其實復制也就是成功了。但是如何來知道復制是否成功了呢?
這里可以通過這種方法來快速看是否成功。
展開出版伺服器下面的復制——發布內容——右鍵發布內容——屬性——擊活——狀態然後點立即運行代理程序接著點代理程序屬性擊活調度
把調度設置為每一天發生,每一分鍾,在0:00:00和23:59:59之間。
接下來就是判斷復制是否成功了打
開C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\下面
看是不是有一些以時間做為文件名的文件夾差不多一分中就產生一個。
2. 如何讓資料庫自動備份
在要備份的數據上建立以下存儲過程:
CREATE PROCEDURE [dbo].[過程名] AS
declare
@filename nvarchar(100),--文件名
@NowDay int --設置時間
set @filename='D:\data'+cast(Day(GetDate()) as varchar(2))+'.dat' --文件路徑及文件名
Set @NowDay=Day(GetDate())
if (@NowDay>=20) or (@NowDay<=10) --這個月的20到下個月的10要備份
begin
print
@filename BACKUP DATABASE [資料庫名()你也可以設參數] TO DISK = @filename WITH INIT
, NOUNLOAD , NAME = N'XX數據備份', NOSKIP , STATS = 10, NOFORMAT
end
◆1、進入企業管理器中->管理->sql server代理->作業;
◆2、新建作業,作業名稱隨便取,例如:data備份,
所有者選擇sa,當然你也可以選擇其他用戶,前提是該用戶有執行作業的許可權;
◆3、點擊步驟標簽,進入步驟面板。新建步驟,步驟名可以隨便填寫,如步驟1,類型和資料庫默認,不需要修改。命令中寫入以下語句:
BACKUP DATABASE [資料庫名] TO DISK = N'F:\data\資料庫備份' WITH NOINIT , NOUNLOAD , NAME = N'資料庫 備份', NOSKIP , STATS = 10, NOFORMAT
注意:需要修改的地方,資料庫名,DISK=(這里需要填寫路徑和你的資料庫備份的名稱)後面的Name=可以隨便填寫。
◆4、點擊調度標簽,進入調度面板,新建調度,名稱隨便填寫,選擇反復出現,點更改可以選擇你想要執行任務的隨意調度。如每天,每2天,每星期,每月等。根據需要自己設置;
◆5、確定後,不要忘記一件事情,在你剛才建立的工作上點右鍵,啟動工作,如果你的工作沒有問題,將會提示執行成功,並有相對應的備
份文件在你的磁碟上出現;
◆6、還有一個重要的問題就是你的sql server agent伺服器已經啟動。
如果我們需要根據每天的日期來生成一個新的備份,以便我們區別備份文件。這時,我們需要修改一下剛才的sql語句。參考實例:
declare @filename nvarchar(100)
set @filename='E:\data_Backup\BIS_data_backup_'+convert(char(10),getdate(),112)+'.bak'
print @filename
BACKUP DATABASE [BIS] TO DISK = @filename WITH NOINIT, NOUNLOAD, NAME = N'BIS_data_backup', NOSKIP , STATS = 10, NOFORMAT
或者按如下寫法:
DECLARE @BACKFILENAME VARCHAR(200)
DECLARE @DATE CHAR(10)
DECLARE @FILENAME VARCHAR(200)
DECLARE @NAME VARCHAR(200)
SET @DATE=CONVERT(CHAR(10),GETDATE(),120)
SET @FILENAME='E:\data_Backup\'
SET @BACKFILENAME=@FILENAME+@DATE
SET @NAME='BIS_data_backup'
BACKUP DATABASE [BIS]
TO DISK = @BACKFILENAME WITH INIT , NOUNLOAD , NAME = @NAME, NOSKIP , STATS = 10, NOFORMAT
或者:
EXECUTE master.dbo.xp_sqlmaint N'-PlanID 1FAEE7FD-F0CC-4E9C-8100-FC1F9AF39063 -WriteHistory -VrfyBackup -BkUpMedia DISK
-BkUpDB "E:\data_backup" -BkExt "BAK"'
舉例:
declare @filename nvarchar(100)
set @filename='E:\data_Backup\BIS_data_backup_'+replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),'
',''),':','')+'.bak'
print @filename
BACKUP DATABASE [BIS] TO DISK = @filename WITH NOINIT, NOUNLOAD, NAME = N'BIS_data_backup', NOSKIP , STATS = 10, NOFORMAT
時間戳不帶秒:
substring(replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':',''),1,12 )
3. 如何定時對mysql資料庫備份
這個方法是用bat批處理來完成的。
假想環境:MySQL 安裝位置:D:\Program Files\MySQL\MySQL Server 5.0\data
資料庫名稱為:952game資料庫備份目的地:d:\db_bak\ (你想把資料庫備份到哪個盤的路徑)我想備到D盤的db-bak目錄下面============================新建db_bak.bat,寫入以下代碼
net stop mysql
x c:\mysql\data\bbs\*.* d:\db_bak\bbs\%date:~0,3%\ /y
net start mysql
如圖詳解:
最好一步就是實現如何定時備份了,跟我學!GO go go
這里我們採用最簡單的方法
使用Windows的「計劃任務」定時執行該批處理腳本即可。(例如:每天凌晨3點執行back_db.bat)
不會的話請看圖文:
1、運行,計劃任務
2、添加計劃任務。
3、最後一步就是指定備份時間了。
到這里就完成自動定時備份了,很簡單吧。
最後pc6.com小編清晨再給大家多講一句就是這個批處理命令 \%date:~0,3% 的意思提取星期幾信息
當然如果你想創建年月日的話就用%date:~0,10% ,系統就會每天給你建日期目錄了。很方便吧。
%date:~0,10% //提取年月日信息
%date:~-3% //提取星期幾信息
%time:~0,5% //提取時間中的時和分
%time:~0,-3% //提取時和分和秒信息
4. 如何定時備份Mysql資料庫
資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。
5. 如何設置資料庫的定時自動備份
1、對象資源管理——展開管理——右鍵點維護計劃——打開維護計劃向導。
2、維護計劃向導的開始界面直接下一步即可,我之前設置不再提示,所以我沒有第一個界面了,直接跳到第二個。
4、選擇維護項目。
下一個界面是確認下,直接下一步就可以了,不上圖了。
5、設置備份資料庫,這里選擇你要備份的資料庫,點確定即可。
設置自動備份文件的保存地址和後綴名,設置完下一步就行
6、然後就是設置清除計劃
後面都是下一步就可以的東西,不需要上圖了,設置完成後運行他做個驗證保證設置的正確性。
6. 怎麼讓SQL資料庫自動定時備份
企業管理器-》進入你使用的資料庫界面-》管理-》資料庫維護計劃-》新建維護計劃-》選中你的資料庫-》下一步-》進行到指定資料庫備份頁面時,選擇執行的時間-》下一步,選對保存的位置和方式。繼續下一步直到完成。
注意 SQL server agent 服務必須運行,才會自動執行維護計劃。你可以把 啟動os時自動啟動服務勾上。
7. 如何讓資料庫每天自動備份
你什麼資料庫啊,資料庫控制台都有調度,或者作業,也有的是計劃,裡面都能設置備份計劃的。多看看幫助吧。多學學資料庫管理。
8. 如何實現Mysql資料庫每天自動備份定時備份
利用UCache災備雲平台,可作為一個工具,在window伺服器現有架構不變的情況下,針對Mysql資料庫每天自動備份定時備份。
(1)新建備份任務
UCACHE災備雲控制台登錄賬號後:點擊【伺服器定時數據保護】--【數據備份】點擊【新建】按鈕,然後選要保護的對象(您的生產伺服器節點),選中對應的客戶端,選擇【文件系統】然後點擊【 下一步 】
(2)設置備份策略
選擇要進行備份的文件
(3)永久增量備份與數據保留設置
選擇完要過濾的數據之後點擊下一步,可進行下一步備份的高級功能選擇,各個選項說明如下:
【永久增量備份】開啟了永久增量備份每一次增量備份都會進行一次時間點合成形成新的一個永久增量時間點等效於完備時間點。
【數據保留策略】開啟數據保留策略一共有三種保留策略分別為數據保留期限、保留副本數、按備份策略的備份周期設置副本保留策略默認選中數據保留期限一年。可以設置保留完全副本的個數最大可設置1024個副本按備份策略的備份周期設置副本保留策略最大可設置99999個副本。
【傳輸和存儲加密】開啟傳輸加密與存儲加密選項開啟此功能的任務的數據在傳輸和存儲上都經過加密處理。一共有兩種加密方式AES256加密演算法、SM4加密演算法。
【數據壓縮】默認不開啟開啟該選項後默認啟用快速壓縮可選擇啟用強力壓縮
【重復數據刪除】勾選該選項可以啟動源端重復數據刪除的功能該選項在建立任務後不能通過修改任務的方式更改此屬性。指紋庫需要提前創建才能成功開啟重刪功能
最後新建完成
目錄和文件內容,可以全選和分選,還可以利用UCACHE災備雲控制台的「文件過濾」「目錄過濾」「時間過濾」功能進行不必要的數據不進行備份策略添加。為了備份效率不建議兩個任務包含同一文件。
(4)設置郵件告警
備份執行完畢,會得到系統的執行反饋,也可以設定告警監控策略,進行郵件監控
9. 資料庫如何自動備份
大型的資料庫都可以完成,通過計劃,作業,執行自動備份。
10. SQL資料庫自動備份
我給你截幾張圖你看看哈,希望對你有所幫助。
1、
2、
3
4、
5、
7、
6、
8、
9、
10、