『壹』 請教:如何把sql2000上的資料庫自動定期備份到局網的另一台電腦上..
在SQL伺服器上將另一台機子的共享文件來設置成映射驅動器(開始>運行>\\IP地址,看到共享文件夾後在上面點右鍵>映射網路驅動器,然後在我的電腦中就會看到此文件夾已映射到本機,為驅動器Z).在SQL企業管理器中選擇要備份的資料庫,點右鍵>所有任務>資料庫備份,出來的對話框中,備份地址選擇剛才映射的驅動器下的文件夾並輸入備份文件名稱,點添加,最下面備份周期進行選擇,可選每周一等,點確定後即可.
『貳』 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都喜歡將其刪除或者禁用,所以開發人員使用時要倍加小心哦。
文章中的例子只是簡要的說明了應如何利用擴展存儲過程實現遠程備份與恢復,沒有涉及安全以及其他方面的考慮,希望讀者在代碼中自行完善。
『叄』 如何實現自動將資料庫備份到內網中另一台機器上
伺服器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 企業管理器. 下面有個數據維護計劃. (根據裡面的提示一步一
步按照自己的要求進行設置就行了。)
在上面點右鍵,新建維護計劃,裡面按你的要求設置就行了。(這里選擇你需要備
『肆』 怎樣在區域網中將伺服器的sql資料庫自動備份的另外一台電腦上
【轉發】
--sql如何備份到異機
寫成存儲過程,建立作業定時備份~~~
--在sql中映射一下就可以了
exec
master..xp_cmdshell
'net
use
z:
\\yi\d$
"密碼"
/user:yi\administrator'
/*--說明:
exec
master..xp_cmdshell
'net
use
z:
\\xz\c$
"密碼"
/user:xz\administrator'
z:是映射網路路徑對應本機的盤符,與下面的備份對應
\\xz\c$是要映射的網路路徑
xz\administrator
xz是遠程的計算機名,
administrator是登陸的用戶名
密碼
面指定的administrator用戶的密碼
--*/
--備份;with
init覆蓋
|noinit添加
backup
database
庫名
to
disk='e:\h_backup.bak'
with
init
--
exec
master..xp_cmdshell
'
e:\h_backup.bak
z:'
--刪除(這句可以去掉)
--exec
master..xp_cmdshell
'del
e:\h_backup.bak'
--完成後刪除映射
exec
master..xp_cmdshell
'net
use
z:
/delete'
『伍』 如何實現sql server2000自動將資料庫備份到內網中另一台機器上(映射網路驅動器)
打開SQL2000企業管理器.
下面有個數據維護計劃.
(根據裡面的提示一步一步按照自己的要求進行設置就行了。)
在上面點右鍵,新建維護計劃,裡面按你的要求設置就行了。(這里選擇你需要備份的映射好的網路驅動器就行了)
『陸』 如何將sql2000的資料庫備份到區域網其他的機子上
SQLSERVER服務實例名稱:mainserver 需要備份的資料庫名稱: msdb 本地機器名稱(Client端):david 本地用戶:zf 密碼:123 本地域名:domain 本地提供備份需求的文件夾:e:\test 第一步: 建立共享文件夾 在程序代碼中調用(或者CMD窗口) net share test=e:\test 或者用NetShareAdd這個API簡要說明:net share : 是WINDOWS內部的網路命令。 作用:建立本地的共享資源,顯示當前計算機的共享資源信息。 第二步: 建立共享信用關系 master..xp_cmdshell 'net use \\david\test 123 /user:domain\zf'簡要說明:1:xp_cmdshell :是SQLSERVER的擴展存儲過程。 作用,以操作系統命令行解釋器的方式執行給定的命令字元串, 並以文本行方式返回任何輸出。 語法:參見SQLSERVER聯機幫助 2:net use : 是WINDOWS內部的網路命令。 作用,將計算機與共享資源連接或斷開,或者顯示關於計算機 連接的信息。該命令還控制持久網路連接。 第三步:備份資料庫 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窗口)
『柒』 如何將sql資料庫自動定時的備份或更新到另一台電腦
兩個思路:
1、在備份機共享一個目錄出來,在生產機建立到備份機共享目錄的網路映射驅動器,之後在生產機執行資料庫備份時,直接將備份卷質指定為網路驅動器。
2、備份資料庫到生產機的某個磁碟,然後用定時任務傳送到備份機。備份機可以安裝一個ftp server軟體,直接用ftp的方式傳送,這樣也比較安全、可靠。
『捌』 如何將SQL資料庫備份到網路共享
定期備份SQL資料庫是必須的。我們已經覆蓋的方式就可以輕松備份您的所有SQL Server資料庫到本地硬碟中,但這並不能防止驅動器和/或系統故障。作為針對此類災難的額外保護層,您可以在網路共享上復制或直接創建備份。
在本地備份,然後復制到網路共享
完成此任務的首選和最直接的方法是簡單地創建資料庫的本地備份,然後將相應的備份文件復制到網路共享。您可以通過創建如下所示的批處理腳本來完成此操作:
SET LocalFolder = C:Program Files Microsoft SQL ServerMSSQL.1MSSQLBackup
SqlCmd -E -Q「備份資料庫MyDB到磁碟=%LocalFolder%MyDB.bak」
XCopy「%LocalFolder%MyDB.bak」「 192.168.16.55BackupDatabases」/ Z / V
DEL「%LocalFolder%MyDB.bak」
此腳本執行以下操作(逐行):
將變數設置為本地SQL備份目錄。
創建MyDB的SQL備份(使用Windows身份驗證)到本地SQL備份目錄。
將本地備份文件復制到網路共享。
刪除本地備份文件。
同樣,這是首選方法,因為它的工作原理和備份失敗的可能性是最小的,因為備份是在本地磁碟上創建。但是,如果沒有足夠的磁碟空間來存儲備份文件的本地副本,則此操作將失敗。在這種情況下,您需要添加額外的磁碟空間或直接備份到網路共享。
直接備份到網路共享
通常,當您嘗試使用以下命令直接創建備份到網路共享時:
SqlCmd -E -Q「備份資料庫MyDB到磁碟= 192.168.16.55BackupDatabasesMyDB.bak」
你很可能會得到一個錯誤的行:
消息3201,級別16,狀態1,伺服器JF,行1
無法打開備份設備 192.168.16.55BackupDatabasesMyDB.bak。操作系統錯誤5(訪問被拒絕。)。
消息3013,級別16,狀態1,伺服器JF,第1行
BACKUP DATABASE異常終止。
盡管使用Windows身份驗證(-E開關)和Windows帳戶作為通過Windows資源管理器訪問和復制文件到共享的能力運行SQL備份命令,仍會出現此錯誤。
此操作失敗的原因是SQL命令在SQL Server服務運行的帳戶的邊界內執行。當您在計算機上查看服務列表時,很可能您將看到運行為(登錄為)列的SQL Server服務本地系統或網路服務,它們是沒有網路訪問許可權的系統帳戶。
在我們的系統上,網路共享命令的備份失敗,因為我們有SQL Server服務作為本地系統運行,再也無法獲得任何網路資源。
為了允許SQL直接備份到網路共享,我們必須將SQL Server服務作為可訪問網路資源的本地帳戶運行。
編輯SQL Server服務的屬性,並在「登錄」選項卡上將服務配置為作為具有網路訪問許可權的備用帳戶運行。
單擊「確定」後,您將收到一條提示,指示在重新啟動服務之後,設置才會生效。
重新啟動服務。
服務列表現在應顯示SQL Server服務正在作為您配置的帳戶運行。
現在當您運行命令直接備份到網路共享:
SqlCmd -E -Q「備份資料庫MyDB到磁碟= 192.168.16.55BackupDatabasesMyDB.bak」
您應該會看到一個成功消息:
處理資料庫MyDB的152頁,文件1上的文件MyDB。
為資料庫MyDB處理2頁,文件1上的文件MyDB_log。
BACKUP DATABASE在0.503秒(2.493 MB /秒)中成功處理了154頁。
使用備份文件現在在網路共享目錄:
網路共享注意事項請務必注意,備份命令希望能夠直接連接到網路共享,而不會提示您輸入憑據。您配置要運行的SQL Server服務的帳戶必須與網路共享具有可信連接,其中相應的憑據允許訪問,否則可能會發生以下錯誤:
消息3201,級別16,狀態1,伺服器JF,行1
無法打開備份設備 192.168.16.55BackupDatabasesMyDB.bak。操作系統錯誤1326(登錄失敗:未知用戶名或密碼錯誤。)。
消息3013,級別16,狀態1,伺服器JF,第1行
BACKUP DATABASE異常終止。
此錯誤表示網路共享不接受帳戶的用戶名和密碼,並且命令失敗。
另一個要記住的問題是備份直接執行到網路資源,因此網路連接中的任何打嗝可能會導致您的備份失敗。因此,您只應該備份到穩定的網路位置(即可能不是VPN)。
安全隱患
如前所述,使用在本地備份然後復制到網路共享的方法是首選,因為它允許您將SQL服務作為僅具有本地系統訪問許可權的帳戶運行。
通過將服務作為備用帳戶運行,您打開了潛在的安全問題的大門。例如,惡意SQL腳本可以在備用帳戶下執行並攻擊網路資源。此外,對相應帳戶(密碼更改/到期或帳戶的刪除/禁用)的任何更改將導致SQL Server服務無法啟動。