經常會有定時備份SQL
Server資料庫的需要。定時備份到本機的話,還是挺容易的,計劃任務就可以完成,但如果是整機掛了,那備份到本機是沒意義的,那麼就需要來考慮備份到區域網中,其它電腦里。
下面就分享一份在網上找了之後,自己再簡單整理過的代碼,配合
SQL
Server
代理中的作業功能,已經穩定運行一個星期了,每小時就備份一次。
復制代碼
代碼如下:
--
創建網路映射(Y是盤符;IP地址後面要帶共享文件夾的名稱;password是密碼,雙引號引起;account是遠程電腦的登錄名)
exec
master..xp_cmdshell
'net
use
Y:
\\192.168.0.69\sqlbackup
"password"
/user:192.168.0.69\account'
--
按日期時間做文件名(注意路徑中的文件夾,需要先建立好)
declare
@filename
varchar(200)
select
@filename
=
'Y:\DB\'
+
replace(replace(replace(CONVERT(varchar,
getdate(),
120
),'-',''),'
','-'),':','')
+
'.bak'
--
執行備份(DB是要備份的資料庫名稱)
backup
database
[DB]
to
disk
=
@filename
--
刪除網路映射(Y是盤符,同上)
exec
master..xp_cmdshell
'net
use
Y:
/delete'
2. 怎麼讓SQL資料庫自動定時備份
企業管理器-》進入你使用的資料庫界面-》管理-》資料庫維護計劃-》新建維護計劃-》選中你的資料庫-》下一步-》進行到指定資料庫備份頁面時,選擇執行的時間-》下一步,選對保存的位置和方式。繼續下一步直到完成。
注意
SQL
server
agent
服務必須運行,才會自動執行維護計劃。你可以把
啟動os時自動啟動服務勾上。
3. 如何實現Mysql資料庫每天自動備份定時備份
利用UCache災備雲平台,可作為一個工具,在window伺服器現有架構不變的情況下,針對Mysql資料庫每天自動備份定時備份。
(1)新建備份任務
UCACHE災備雲控制台登錄賬號後:點擊【伺服器定時數據保護】--【數據備份】點擊【新建】按鈕,然後選要保護的對象(您的生產伺服器節點),選中對應的客戶端,選擇【文件系統】然後點擊【 下一步 】
(2)設置備份策略
選擇要進行備份的文件
(3)永久增量備份與數據保留設置
選擇完要過濾的數據之後點擊下一步,可進行下一步備份的高級功能選擇,各個選項說明如下:
【永久增量備份】開啟了永久增量備份每一次增量備份都會進行一次時間點合成形成新的一個永久增量時間點等效於完備時間點。
【數據保留策略】開啟數據保留策略一共有三種保留策略分別為數據保留期限、保留副本數、按備份策略的備份周期設置副本保留策略默認選中數據保留期限一年。可以設置保留完全副本的個數最大可設置1024個副本按備份策略的備份周期設置副本保留策略最大可設置99999個副本。
【傳輸和存儲加密】開啟傳輸加密與存儲加密選項開啟此功能的任務的數據在傳輸和存儲上都經過加密處理。一共有兩種加密方式AES256加密演算法、SM4加密演算法。
【數據壓縮】默認不開啟開啟該選項後默認啟用快速壓縮可選擇啟用強力壓縮
【重復數據刪除】勾選該選項可以啟動源端重復數據刪除的功能該選項在建立任務後不能通過修改任務的方式更改此屬性。指紋庫需要提前創建才能成功開啟重刪功能
最後新建完成
目錄和文件內容,可以全選和分選,還可以利用UCACHE災備雲控制台的「文件過濾」「目錄過濾」「時間過濾」功能進行不必要的數據不進行備份策略添加。為了備份效率不建議兩個任務包含同一文件。
(4)設置郵件告警
備份執行完畢,會得到系統的執行反饋,也可以設定告警監控策略,進行郵件監控
4. SQL 資料庫自動備份
企業管理器里
->在所要進行備份的資料庫上
右鍵
->所有任務
->維護計劃
->點四次下一步
->
就是備份了
。
說明:這個頁面上你可以點更改來
詳細的配置如"每周-~周五00:00自動備份",及路徑設置等。
--------------------------------------------
問題補充:強調一下,備份的文件名是「資料庫名+備份日期」,每次更新的,否則會覆蓋原來的備份,就沒有意義了!
提問者:漢之尊
-
經理
五級
--------------------------------------------
針對你的這種做法那你嘗試用存儲過程吧,靈活、可以根據具體需要定製:
在要備份的數據上建立以下存儲過程:
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
自己推敲一下,相信你會實現的!
5. 如何將sql資料庫自動定時的備份或更新到另一台電腦
兩個思路:
1、在備份機共享一個目錄出來,在生產機建立到備份機共享目錄的網路映射驅動器,之後在生產機執行資料庫備份時,直接將備份卷質指定為網路驅動器。
2、備份資料庫到生產機的某個磁碟,然後用定時任務傳送到備份機。備份機可以安裝一個ftp server軟體,直接用ftp的方式傳送,這樣也比較安全、可靠。
6. sql資料庫怎麼設置定時備份
可以利用SQL作業
7. sql server 怎樣定期自動備份
在SQL
Server中出於數據安全的考慮,所以需要定期的備份資料庫。而備份資料庫一般又是在凌晨時間基本沒有資料庫操作的時候進行,所以我們不可能要求管理員
每天守到晚上1點去備份資料庫。要實現資料庫的定時自動備份,最常用的方式就是使用SQL Server代理中的作業。啟動SQL Server
Agent服務,然後在其中新建作業,作業中添加1個備份步驟,類型是T-SQL腳本,然後在命令中輸入如下SQL語句,該語句實現了對資料庫
TestDB1的完整備份,備份文件在C盤Backup文件夾中,文件名就是TestDB1+當時備份的日期字元串.bak。
declare@namevarchar(250)
set@name='C:\Backup\TestDB1_'+
convert(varchar(50),getdate(),112)+'.bak'
BACKUPDATABASE[TestDB1]TO
DISK=@name
WITH NOFORMAT, NOINIT,
NAME = N'TestDB1-完整 資料庫 備份',
SKIP, NOREWIND, NOUNLOAD
創建好步驟以後,接下來就是創建計劃,創建計劃的操作十分簡單,界面上說明的很詳細了,我就不多說了。另外還可以配置警報和通知,不過一般很少用這個。
使用SQL作業中執行SQL腳本進行備份的方法雖然已經很簡單了,但是至少還是要去寫BACKUP腳本,這點有些人覺得不爽,那有沒有更簡單,更懶的方法來實現資料庫的自動定時備份呢?有,那就是「維護計劃」。
「維護計劃」是在SSMS的對象資源管理中「管理」節點下面。使用維護計劃可以通過可視化的操作,只點點滑鼠就可以創建資料庫維護的SSIS包,然
後仍然是通過SQL Server作業的方式來運行。維護計劃與前面說到的備份方法本質的不同就是:維護計劃是SSIS包,上面的是T-SQL腳本。
假設我們現在有一個生產系統的資料庫需要進行備份,由於資料庫中的數據很多,數據文件很大,如果每次都進行完整備份那麼硬碟佔用了很大空間,而且備
份時間很長,維護起來也很麻煩。對此我們可以採用完整備份+差異備份的方式,每周日進行一次完整備份,每天晚上進行一次差異備份。使用差異備份可以減小備
份文件的大小,同時還可以提高備份的速度,不過缺點就是必須使用上一次完整備份的文件和差異備份的文件才能還原差異備份時刻的資料庫,單獨只有差異備份文
件是沒有意義。
下面我來講一下如何通過維護計劃來實現完整備份+差異備份:
(1)在SSMS的對象資源管理器中右擊「維護計劃」,選擇「維護計劃向導」,系統將彈出向導窗口,如圖:
這里向導已經告訴我們維護計劃到底能夠干什麼了,其中最後一項「執行資料庫備份」正是我們所需要的。
(2)點擊「下一步」按鈕,進入選擇計劃屬性窗口,輸入計劃的名稱,由於我們的計劃包括2部分:完整備份和差異備份,這2部分的執行計劃是不一樣的,一個是一周執行一次,另一個是一天執行一次,所以要選擇「每項任務單獨計劃」,如圖:
(3)單擊「下一步」按鈕,選擇維護任務,這里就是可以在維護計劃中執行的任務,如果你想執行的任務在這里沒有,那就還是不用維護計劃來做,自己寫SSIS包或者SQL語句吧。我們要執行的任務都在這里,選中這2個任務,如圖:
(4)單擊「下一步」進入選擇維護任務順序的界面,這里我們可以看到選中的任務出現在列表中,但是我們並不能調整其順序,那是因為在步驟2中我們選
擇的是每項任務單獨計劃,所以這2個任務是獨立的,沒有先後順序可言。如果當時選擇的是另一個選項,那麼這里就可以調整順序了。
(5)選中「備份資料庫(完整)」然後單擊「下一步」按鈕,系統將轉到定義完整備份任務的界面,如圖:
這個界面實在太長了,我把任務欄隱藏了都顯示不完,出現了滾動條,這里我們選擇要進行備份的資料庫,選擇為每個資料庫創建備份文件,文件保存在C盤
Backup目錄下,擴展名是bak,出於安全起見,我們可以選中「驗證備份完整性」,當然也可以不選。在SQL2008中提供了壓縮備份的新特性,使得
備份文件更小,備份速度更快,這里我們就是由壓縮備份。最後是選擇執行計劃,我這里選的是每周日晚上0點的時候執行。
(6)單擊「下一步」按鈕,進入差異備份任務的設置界面,和上一步的界面是一樣的,操作也是一樣的,計劃這里我們可以選擇除了周日以外的每天進行差異備份,如圖:
(7)單擊「下一步」按鈕,進入選擇報告選項,這里我們可以將這個維護計劃的執行報告寫入文本文件中,也可以講報告通過電子郵件發送給管理員。如果
要發送郵件的話,那麼需要配置SQL Server的資料庫郵件,另外還要設置SQL
Server代理中的操作員,關於郵件通知操作員的配置網上也講的比較多,我這里就不詳述了。
(8)單擊「下一步」按鈕,進入「完成該向導」的界面,系統列出了向導要完成的工作,如圖:
(9)單擊「完成」按鈕,向導將創建對應的SSIS包和SQL作業:
(10)完成後,我們再刷新下對象資源管理器,我們可以看到對應的維護計劃和該計劃對應的作業:
現在維護計劃是創建好了,急著想看看執行後的效果如何,不需要等到晚上12點去了,在「作業」下面,右擊
DbBackupPlan.Subplan_1,選擇「作業開始步驟」系統便立即執行該作業,系統運行完成後,我們便可在C:\Backup文件夾下面有
我們做的完整備份的備份文件。
以上的操作可以是純粹的無鍵盤操作,不用寫任何腳本,只需要點點滑鼠即可。
這里需要注意的是,我們如果不是周日制定的該維護計劃,那麼制定該維護計劃前一定要做個完整備份,而且該備份至少要保留到下周,不然到時候出了問題,發現只有這幾個工作日的差異備份,而上一次的完整備份又被刪了,那就郁悶了。
除了使用維護計劃向導以外,我們還可以直接新建維護計劃,也可以修改意見創建的維護計劃。我們就以修改維護計劃為例。對於前面創建好的完整備份+
差異備份維護計劃,現在我們需要每周對資料庫備份進行一次清理,在完整備份完成後,要將1個月前的備份刪除掉。那麼我們只需要修改一下維護計劃即可,具體
操作如下:
(1)右擊我們的維護計劃,在彈出式菜單中選擇「修改」選項,系統將新建一個選項卡來顯示當前的維護計劃。如圖:
左下角是可用的維護計劃組件,右下面板是維護計劃的流程設置面板,其上面就是該計劃的子計劃列表。
(2)選中Subplan_1子計劃,也就是每周完整備份的子計劃,將「清除歷史記錄」任務從工具箱中拖拽到計劃面板中,然後在面板中單擊「備份資料庫(完整)」組件,系統將顯示一個綠色的箭頭,將綠色箭頭拖拽到「清除歷史記錄」組件上,如圖:
也就是說在成功完整備份了資料庫後,接下來才執行清除歷史記錄任務。
(3)右擊「清除歷史記錄」任務,在彈出式菜單中選擇「編輯」選項,系統將彈出清除歷史記錄任務設置窗口,如圖:
這里既可以清除歷史記錄日誌,也可以刪除硬碟上的歷史數據。這里我們要刪除4周前的歷史備份數據,單擊「確定」回到計劃面板,我們可以看到原本「清
除歷史記錄」任務上的小紅叉不見了。單擊「保存」按鈕,該計劃便保存起來。(說明:我在SQL2008中文版虛擬機裡面做的時候一旦修改維護計劃,保存的
時候就報錯災難性故障,不過我本機的英文版是正常的,不知道是我虛擬機的問題還是中文版的Bug,反正在英文版裡面是對的。)
這樣修改後,以後我們都不用手動去刪除那些很久以前的資料庫備份了,系統在執行完備份後就會刪除那些滿足條件的備份數據。
8. sql如何實現每日定時遠程備份
你的意思應該是一台主伺服器,一台備份伺服器,想把主伺服器上的數據每天定時備份到備份伺服器吧。這個要使用數據復制功能了。
准備工作:
1.發布伺服器,訂閱伺服器都創建一個同名的windows用戶,並設置相同的密碼,做為發布快照文件夾的有效訪問用戶
--我的電腦
--控制面板
--管理工具
--計算機管理
--用戶和組
--右鍵用戶
--新建用戶
--建立一個隸屬於administrator組的登陸windows的用戶
2.在發布伺服器上,新建一個共享目錄,做為發布的快照文件的存放目錄,操作:
我的電腦--D:\ 新建一個目錄,名為: PUB
--右鍵這個新建的目錄
--屬性--共享
--選擇"共享該文件夾"
--通過"許可權"按紐來設置具體的用戶許可權,保證第一步中創建的用戶具有對該文件夾的所有許可權
--確定
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. 系統彈出一個對話框點 [下一步] 然後看著提示操作
--直到"指定快照文件夾"
--在"快照文件夾"中輸入准備工作中創建的目錄: \\<伺服器名>\pub
一[下一步] 直操作到完成。
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\unc\XIAOWANGZI_database_database下面
看是不是有一些以時間做為文件名的文件夾差不多一分中就產生一個。
9. SQL Server 2008怎麼自動備份資料庫
我們知道,利用SQL
Server
2008資料庫可以實現資料庫的定期自動備份。方法是用SQL
SERVER
2008自帶的維護計劃創建一個計劃對資料庫進行備份,下面我們將SQL
SERVER
2008定期自動備份的方法分享給大家。
首先需要啟動SQL
Server
Agent服務,這個服務如果不啟動是無法運行新建作業的,點擊「開始」–「所有程序」–「Microsoft
SQL
Server
2008」–「啟動SQL
Server
Management
Studio」登錄資料庫,點擊管理–維護計劃–
右擊
維護計劃向導如圖所示:
點擊「維護計劃向導」後跳出對話框,如圖所示:
點擊「下一步」如圖所示:
填寫好名稱及相關說明作個記號,點擊「更改」
來設定維護計劃,如圖所示:
可以為選擇執的時間段,每天、每周、每月可以根據你相應的需求來制定備份的時間,這里作演示就選擇在每天的0:00進行,點擊「確定」再點「下一步」如圖所示:
選擇你需要備份的任務,我這里就先擇「備份資料庫(完整、差異、
事務日誌
)」,很明了
點擊「下一步」如圖所示:
出現剛剛所選擇的三項你可以選擇他們所執行的順序,選好後點擊「下一步」如圖所示:
在資料庫那一列選擇相關資料庫點擊(確定)如圖所示(由於這張圖片較大您可以點擊圖片查看原圖):
選擇備份的資料庫存放的目錄,設置備份壓縮:有默認伺服器設置,壓縮備份等選項,因為我的資料庫較大所以就選擇壓縮,根據您的實際情況進行操作:點
擊」下一步」,下面的操作是對於這前我們所選擇的「維護任務」操作和「上一步」一樣這里就不截圖說明,最後點擊「下一步」如圖所示:
選擇SQL
SERVER
2008自動備份維護計劃的報告文件所存放位置點擊「下一步」如圖所示:
點擊「完成」這樣就完成了SQL
SERVER
2008自動備份。
注意:在利用SQL
SQLSERVER
2008
的維護計劃對資料庫進行定期的備份時要啟動「SQL
SERVER
代理」服務。
10. sql資料庫,有可以設置自動備份嗎哪裡設置
打開企業管理器,
打開SQLserver,
打開資料庫列表,在你想要備份的資料庫上點右鍵--所有任務--備份資料庫。
在彈出的設置窗口中選擇「資料庫--完全」,鍵備份到列表右邊的「添加」,填出備份文件的路徑及名稱。
在重寫選項中選擇「重寫現有媒體」,
選中「調度」選項,點擊調度框後面的「..."圖標進行調度編輯,
選中"反復出現",點"更改",選擇」每周「,」每1周「,」星期一「,
在每日頻率中選擇你想做備份的時間,然後依次按」確定「即可完成自動備份設置。