當前位置:首頁 » 數據倉庫 » 資料庫自動備份上傳
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫自動備份上傳

發布時間: 2022-10-03 03:50:28

❶ 如何將sqlSERVER資料庫備份到網路上

最近在看聯機從書,在看到sp_admpdevice時無意間看到如下內容:
"
[@physicalname =] 'physical_name'
備份設備的物理名稱。物理名稱必須遵照操作系統文件名稱的規則或者網路設備的通用命名規則,並且必須包括完整的路徑。physical_name 的數據類型為 nvarchar(260),沒有默認值,並且不能為 NULL。
當創建遠程網路位置上的備份設備時,請確保在其下啟動 SQL Server 的名稱對遠程的計算機有適當的寫入能力。
B. 添加網路磁碟備份設備
下面的示例顯示一個遠程磁碟備份設備。在其下啟動 SQL Server 的名稱必須對該遠程文件擁有許可權。
USE master
EXEC sp_admpdevice 'disk', 'networkdevice', '\\servername\sharename\path\filename.ext'
以前曾看到過有人問,怎麼樣才能將數據備份到網路上,一直沒有答案,然後我就試驗了一把.
在伺服器上建了一個目錄,然後確保共享並有許可權,如果需要建在共享目錄下的目錄下,那還得保證用戶有許可權
當然,SQLSERVER系統啟動早於登錄,一般用戶會在登錄中使用本地系統賬戶,我想在登錄到系統之前一直是
administrator用戶模擬,因此,我將登錄的賬戶改為了網路用戶,因為我公司有域,因此我將域用戶設置為本機
的系統管理員,以確保該服務能啟動.
接下來更簡單了:
sp_admpdevice 'DISK','NetWork','\\server\d$\databak\xuzh.bak'
go
backup database xuzh to network
得到的結果如下:
已處理 96 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhP01'(位於文件 2 上)。
已處理 16 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhP02'(位於文件 2 上)。
已處理 16 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhS01'(位於文件 2 上)。
已處理 8 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhS02'(位於文件 2 上)。
已處理 1 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzh_Log'(位於文件 2 上)。
BACKUP DATABASE 操作成功地處理了 137 頁,花費了 0.516 秒(2.161 MB/秒)。
成功完成網路備份

另外,----------------------
實例說明:
環境:win2k+sqlserver 2K+查詢分析器
SQLSERVER服務實例名稱:mainserver
需要備份的資料庫名稱: msdb
本地機器名稱(Client端):david
本地用戶:zf 密碼:123
本地域名:domain
本地提供備份需求的文件夾:e:\test

第一步: 建立共享文件夾
在程序代碼中調用(或者CMD窗口) net share test=e:\test
或者用NetShareAdd這個API
簡要說明:
net share : 是WINDOWS內部的網路命令。
作用:建立本地的共享資源,顯示當前計算機的共享資源信息。
語法:參見 net share /?
第二步: 建立共享信用關系
master..xp_cmdshell 'net use \\david\test 123 /user:domain\zf'
簡要說明:
1:xp_cmdshell :是SQLSERVER的擴展存儲過程。
作用,以操作系統命令行解釋器的方式執行給定的命令字元串,
並以文本行方式返回任何輸出。
語法:參見SQLSERVER聯機幫助
2:net use : 是WINDOWS內部的網路命令。
作用,將計算機與共享資源連接或斷開,或者顯示關於計算機
連接的信息。該命令還控制持久網路連接。
語法:參見 net use /?

第三步:備份資料庫
backup database msdb to disk='\\david\test\msdb.bak'
這個不需要說明吧,語法參見SQLSERVER聯機幫助

第四步: 刪除共享文件夾
在程序代碼中調用(或者CMD窗口) net share test /delete
或者用NetShareDel這個API
結果:
已處理 1376 頁,這些頁屬於資料庫 'msdb' 的文件 'MSDBData'(位於文件 1 上)。
已處理 1 頁,這些頁屬於資料庫 'msdb' 的文件 'MSDBLog'(位於文件 1 上)。
BACKUP DATABASE 操作成功地處理了 1377 頁,花費了 3.653 秒(3.086 MB/秒)。

這樣mainserver伺服器上的msdb就備份到了david機器的E:\test\msdb.bak文件了,使用起來很簡單吧?恢復資料庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='\\david\test\msdb.bak'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD窗口)

備註:xp_cmdshell 這個擴展存儲過程只能SA級別的用戶調用,而且是SQLSERVER的安全隱患之一,許多DBA都喜歡將其刪除或者禁用,所以開發人員使用時要倍加小心哦。
文章中的例子只是簡要的說明了應如何利用擴展存儲過程實現遠程備份與恢復,沒有涉及安全以及其他方面的考慮,希望讀者在代碼中自行完善。

❷ 如何將資料庫備份文件自動同步到雲備份

關鍵看你是什麼樣的資料庫,這些都得說清楚啊,而且我相信現在的專業資料庫軟體,肯定都已經完善到了可以手動支持上傳到雲盤中的功能。
如果是一般的EXCEL製作的表格資料庫的話,通過雲盤軟體就可以單獨上傳了

❸ 如何將sql資料庫自動定時的備份或更新到另一台電腦

兩個思路:
1、在備份機共享一個目錄出來,在生產機建立到備份機共享目錄的網路映射驅動器,之後在生產機執行資料庫備份時,直接將備份卷質指定為網路驅動器。
2、備份資料庫到生產機的某個磁碟,然後用定時任務傳送到備份機。備份機可以安裝一個ftp server軟體,直接用ftp的方式傳送,這樣也比較安全、可靠。

❹ phpmyadmin 怎麼自動備份資料庫

訪問phpMyAdmin,輸入資料庫帳號密碼,點擊
登入
選擇你的資料庫,點擊進入
點擊
導出
,點擊
執行
,備份將自動下載
接下來介紹如果導入備份。點擊
導入
,選擇資料庫備份文件,點擊
執行
等待上傳,完成後即可還原備份

❺ 如何實現sql2005 express 版資料庫自動備份

1.
首先建立一個windows
任務計劃
,打開任務計劃向導,選擇指定的的
exe文件
,該文件名為SQLCMD.EXE,位於x:\Program
Files\Microsoft
SQL
Server\90\Tools\Binn
目錄下。
2.然後選擇執行周期,假設選擇每天上午9點,接著輸入Windows用戶名和密碼。
3.在任務計劃向導完成前勾選
「在單擊完成時,打開此任務的高級屬性」這個CheckBox。
4.修改
運行命令
為:sqlcmd
-S
.\SQLEXPRESS
-E
-i
e:\Backup\Backup.sql
註:.\SQLEXPRESS
是你的資料庫實例,
e:\Backup\Backup.sql
磁碟位置可任意更改。Backup.sql
文件內容為:
exec[sp_BackupDatabase]'
urtracker
','F'go6.在你Master資料庫內執行該段
存儲過程
,該存儲過程被Windows計劃調用。
--=============================================--Author:
RyanDing--Create
date:
2010-10-10--
Description
:
備份資料庫--Parameter1:
資料庫名--Parameter2:
備份類型
F=全部,
D=差異,
L=日誌--=============================================
CREATEPROCEDURE
[dbo].[sp_BackupDatabase]@databaseNamesysname,@backupTypeCHAR(1)ASBEGINSETNOCOUNTON;DECLARE@
sqlCommand
NVARCHAR(1000)DECLARE@dateTimeNVARCHAR(20)SELECT@dateTime=REPLACE(CONVERT(VARCHAR,GETDATE(),111),'/','')+REPLACE(CONVERT(VARCHAR,GETDATE(),108),':','')IF@backupType='F'SET@sqlCommand='BACKUP
DATABASE'+@databaseName+'TO
DISK
=''C:\Backup\'+@databaseName+'_Full_'+@dateTime+'.BAK'''IF@backupType='D'SET@sqlCommand='BACKUP
DATABASE'+@databaseName+'TO
DISK
=''C:\Backup\'+@databaseName+'_Diff_'+@dateTime+'.BAK''WITH
DIFFERENTIAL'IF@backupType='L'SET@sqlCommand='BACKUP
LOG'+@databaseName+'TO
DISK
=''C:\Backup\'+@databaseName+'_Log_'+@dateTime+'.TRN'''EXECUTEsp_executesql@sqlCommandENDgo執行計劃任務後
查看
C盤
Backup目錄下生成的bak
資料庫備份
文件。

❻ 如何設置資料庫的定時自動備份

如何設置SQL Server資料庫自動備份

數據對於企業來說很重要,因此我們要經常備份,但是我們不可能每天都去手工去備份,因為這樣太麻煩了,因此我們可以通過SQL Server自身的自動備份功能,進行對資料庫定時實時自動備份.

工具/原料

SQL Server企業管理器

方法/步驟

依次單擊:開始--程序--Microsoft SQL Server--企業管理器--SQL Server組--管理--資料庫維護計劃

在右側空白處右鍵單擊,新建維護計劃--勾選要備份的資料庫--下一步

指定資料庫備份計劃--調度--單擊"更改"--設置備份的時間,備份周期--下一步
每日頻率即是每天什麼時間開始進行備份
發生頻率即是執行的周期

指定備份磁碟目錄--修改"使用此目錄"的路徑作為備份資料庫的存放路徑.勾選刪除早於此時間的文件,我這里選擇一周,即是資料庫備份文件把一周前的進行刪除

給此任務計劃填寫一個名字:back 2單擊"完成",就可以在資料庫維護計劃中看到剛才新建的計劃.

注意事項

一定要開啟sql server agent服務

❼ 如何實現自動將資料庫備份到內網中另一台機器上

伺服器A 的資料庫(2 個庫)自動備份到映射網路驅動器Z(內網的另一個機器
B)上,並且刪除早於當前日期3 天的數據,或者是進行差異或增量備份,B 機
器沒有安裝SQL 只是共享目錄,(需要注意的是,我不打算將庫文件備份到本
機A,而是直接備份到B,資料庫龐大,A 的空間有限),本人對SQL 了解甚
少,如能寫出詳細步驟,及用到的語句,達到我的目的。
一個雙機備份的實例:
1.為資料庫伺服器(如伺服器名為DbaseServ)中的資料庫建立定期備份作業,這
個你應該會。
2.將數據伺服器存放資料庫備文份件的文件夾置成共享。
3.在另外一台機器(目標機)上寫一個批處理文件(打開記事本,按下面格式錄
入DOS 命令,保存為DBBACKUP.BAT。
格式:x \\數據伺服器名\數據伺服器共享的備份文件文件夾\庫名.* 本機硬碟\*.*/m舉例:XCOPY \\DbaseServ\backupdata\employee.* d:\databackup\*.* /m
如果備份文件夾映射了網路驅動器(如F:,資料庫備份文件是employee),並且本
機不作保留,就這樣:
XCOPY F:\employee.* d:\databackup\*.* /m
DEL /Q /A:A F:\EMPLOYEE.*
4.在該目標機器上建立「任務計劃」(點控制面板,添加任務計劃,通過瀏覽選
擇建立的那個批文件(如DBBACKUP.BAT),設置周期及備份時間(要與伺服器
上的數據備份作業大致錯後一點(如一小時)。
這樣,系統就會在每次數據伺服器資料庫備份後,自動將無存檔標記的文件備份
到目標機,並將備份成功的文件加入存檔標記,保證下次不重復備份。
未成功備份的當然不刪除,下將還要再試著備份。
打開SQL2000 企業管理器. 下面有個數據維護計劃. (根據裡面的提示一步一
步按照自己的要求進行設置就行了。)
在上面點右鍵,新建維護計劃,裡面按你的要求設置就行了。(這里選擇你需要備

❽ 資料庫備份能不能自動備份

資料庫可以自動備份,打開設置找到自動備份或者WIFI自動備份,要不然可以利用軟體來自動備份

❾ 如何設置資料庫的定時自動備份

如何設置SQL
Server資料庫自動備份
數據對於企業來說很重要,因此我們要經常備份,但是我們不可能每天都去手工去備份,因為這樣太麻煩了,因此我們可以通過SQL
Server自身的自動備份功能,進行對資料庫定時實時自動備份.
工具/原料
SQL
Server企業管理器
方法/步驟
依次單擊:開始--程序--Microsoft
SQL
Server--企業管理器--SQL
Server組--管理--資料庫維護計劃
在右側空白處右鍵單擊,新建維護計劃--勾選要備份的資料庫--下一步
指定資料庫備份計劃--調度--單擊"更改"--設置備份的時間,備份周期--下一步
每日頻率即是每天什麼時間開始進行備份
發生頻率即是執行的周期
指定備份磁碟目錄--修改"使用此目錄"的路徑作為備份資料庫的存放路徑.勾選刪除早於此時間的文件,我這里選擇一周,即是資料庫備份文件把一周前的進行刪除
給此任務計劃填寫一個名字:back
2單擊"完成",就可以在資料庫維護計劃中看到剛才新建的計劃.
注意事項
一定要開啟sql
server
agent服務

❿ 如何自動備份資料庫後將備份自動上傳到FTP伺服器

這篇文章很有分享價值,因為我們在實際的生產環境中需要將資料庫進行自動備份,然後上傳到指定的位置,當然也可以像以下文章中所講的一樣,上傳到你指定的FTP伺服器中,從而實現Mysql資料庫自動備份並上傳到遠程FTP伺服器的部署,在Linux技術交流群中,也有朋友會遇到這方面的問題,可以將此文分享給群友共益。
注意:任何的操作都會具有風險性,請在本機實際測試通過之後再部署到伺服器環境,這樣即熟練的掌握了操作的技巧,也能在測試過程中發現問題,尋找解決方法。

說明:我這里要把MySql資料庫存放目錄/var/lib/mysql下面的data資料庫備份到/home/mysql_data裡面
並且保存為mysqldata_bak_2012_12_19.tar.gz的壓縮文件格式(2012_12_19是指備份執行時當天的日期)
然後只保留最近7天的備份
再把備份文件通過ftp伺服器上傳到指定空間,只保留最近7天的數據
實現步驟:
1、創建保存備份文件的路徑:/home/mysql_data
cd /home
mkdir mysql_data
2、創建備份腳本文件:/home/mysql_data/mysql_databak.sh
cd /home
cd mysql_data
touch mysql_databak.sh
vim mysql_databak.sh
輸入以下內容:
#######################################################################################################
#!/bin/sh
DUMP=/usr/bin/mysqlmp #mysqlmp備份文件執行路徑
OUT_DIR=/home/mysql_data #備份存放路徑
LINUX_USER=root #系統用戶名
DB_NAME=data #要備份的資料庫名字
DB_USER=root #資料庫賬號 注意:非root用戶要用備份參數 --skip-lock-tables,否則可能會報錯
DB_PASS=123456 #資料庫密碼
DAYS=7 #DAYS=7代表刪除7天前的備份,即只保留最近7天的備份
cd $OUT_DIR #進入備份存放目錄
DATE=`date +%Y_%m_%d` #獲取當前系統時間
OUT_SQL="$DATE.sql" #備份資料庫的文件名
TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最終保存的資料庫備份文件名
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #備份
tar -czf $TAR_SQL ./$OUT_SQL #壓縮為.tar.gz格式
rm $OUT_SQL #刪除.sql格式的備份文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改備份資料庫文件的所有者
find $OUT_DIR -name "mysqldata_bak_*" -type f -mtime +$DAYS -exec rm {} \; #刪除7天前的備份文件
deldate=` date -d -7day +%Y_%m_%d ` #獲取7天前的時間
ftp -n<<!
open 192.168.1.1 21 #打開ftp伺服器。21為ftp埠
user admin 123456 #用戶名、密碼
binary #設置二進制傳輸
cd mysqlbak #進入ftp目錄(這個目錄必須為ftp空間真實存在的目錄)
lcd /home/mysql_data #列出本地目錄
prompt
put mysqldata_bak_$DATE.tar.gz mysqldata_bak_$DATE.tar.gz #上傳目錄中的文件
delete mysqldata_bak_$deldate.tar.gz mysqldata_bak_$deldate.tar.gz #刪除ftp空間7天前的備份
close
bye !
#######################################################################################################
3、修改文件屬性,使其可執行
chmod +x /home/mysql_data/mysql_databak.sh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
30 1 * * * root /home/mysql_data/mysql_databak.sh
表示每天凌晨1:30分執行備份
5、重新啟動crond使設置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #設為開機啟動
service crond start #啟動
每天你在/home/mysql_data目錄下面可以看到類似mysqldata_bak_2012_12_19.tar.gz這樣的壓縮文件
如果需要恢復文件的時候,只需要把這個文件解壓即可
解壓縮tar -zxvf mysqldata_bak_2012_12_19.tar.gz
至此,我們完成了Linux中Mysql資料庫自動備份並上傳到遠程FTP伺服器的部署。