SQL Server數(shù)據(jù)庫(kù)還原的SQL語(yǔ)句及操作

2010-08-28 10:53:46來(lái)源:西部e網(wǎng)作者:

SQL Server還原數(shù)據(jù)庫(kù)

企業(yè)管理器
    --右鍵"數(shù)據(jù)庫(kù)"
    --所有任務(wù)
    --還原數(shù)據(jù)庫(kù)
    --"還原為數(shù)據(jù)庫(kù)庫(kù)"中輸入還原后的數(shù)據(jù)庫(kù)名
    --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件--確定,回到數(shù)據(jù)庫(kù)還原的界面
    --備份號(hào)--選擇內(nèi)容--選擇你要恢復(fù)那次備份的內(nèi)容
    --選項(xiàng)--將"移至物理文件名"中的物理文件名修改為你的數(shù)據(jù)文件要存放的文件名
    --如果要還原的數(shù)據(jù)庫(kù)已經(jīng)存在,選擇"在現(xiàn)有數(shù)據(jù)庫(kù)上強(qiáng)制還原"-
    -確定


--或用SQL語(yǔ)句:
restore database 數(shù)據(jù)庫(kù) from disk='c:\你的備份文件名'

更加詳細(xì)的還原操作

企業(yè)管理器中的操作:

1.進(jìn)行完整恢復(fù)
企業(yè)管理器--右鍵"數(shù)據(jù)庫(kù)"--所有任務(wù)--還原數(shù)據(jù)庫(kù)
    --"還原為數(shù)據(jù)庫(kù)庫(kù)"中輸入還原后的數(shù)據(jù)庫(kù)名,設(shè)為:test
    --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件
    --確定,回到數(shù)據(jù)庫(kù)還原的界面
    --"還原備份集",選擇"數(shù)據(jù)庫(kù)--完全"
    --選項(xiàng)--將"移至物理文件名"中的物理文件名修改為你的數(shù)據(jù)文件要存放的文件名
    --如果要還原的數(shù)據(jù)庫(kù)已經(jīng)存在,選擇"在現(xiàn)有數(shù)據(jù)庫(kù)上強(qiáng)制還原"
    --"恢復(fù)完成狀態(tài)",選擇"使數(shù)據(jù)庫(kù)不再運(yùn)行,但能還原其它事務(wù)日志"
    --確定

--或用SQL語(yǔ)句:
restore database 數(shù)據(jù)庫(kù) from disk='c:\你的完全備份文件名' with norecovery


2.進(jìn)行差異恢復(fù)
企業(yè)管理器--右鍵"數(shù)據(jù)庫(kù)"--所有任務(wù)--還原數(shù)據(jù)庫(kù)
    --"還原為數(shù)據(jù)庫(kù)庫(kù)"中選擇數(shù)據(jù)庫(kù)名:test
    --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件
    --確定,回到數(shù)據(jù)庫(kù)還原的界面
    --"還原備份集",選擇"數(shù)據(jù)庫(kù)--差異"
    --"恢復(fù)完成狀態(tài)",選擇"使數(shù)據(jù)庫(kù)不再運(yùn)行,但能還原其它事務(wù)日志"
    --確定

--或用SQL語(yǔ)句:
restore database 數(shù)據(jù)庫(kù) from disk='c:\你的差異備份文件名' with norecovery


3.進(jìn)行日志恢復(fù)
企業(yè)管理器--右鍵"數(shù)據(jù)庫(kù)"--所有任務(wù)--還原數(shù)據(jù)庫(kù)
    --"還原為數(shù)據(jù)庫(kù)庫(kù)"中選擇數(shù)據(jù)庫(kù)名:test
    --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件
    --確定,回到數(shù)據(jù)庫(kù)還原的界面
    --"還原備份集",選擇"事務(wù)日志"
    --"恢復(fù)完成狀態(tài)",選擇"使數(shù)據(jù)庫(kù)可以繼續(xù)運(yùn)行,但無(wú)法還原其它事務(wù)日志"
    --確定

--或用SQL語(yǔ)句:
restore log 數(shù)據(jù)庫(kù) from disk='c:\你的日志備份文件名' with recovery

解決還原數(shù)據(jù)庫(kù)目錄不對(duì)的詳細(xì)步驟:

1.企業(yè)管理器中的方法:
    --右鍵"數(shù)據(jù)庫(kù)"
    --所有任務(wù)
    --還原數(shù)據(jù)庫(kù)
    --"還原為數(shù)據(jù)庫(kù)庫(kù)"中輸入還原后的數(shù)據(jù)庫(kù)名
    --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件--確定,回到數(shù)據(jù)庫(kù)還原的界面
    --備份號(hào)--選擇內(nèi)容--選擇你要恢復(fù)那次備份的內(nèi)容
    --選項(xiàng)--將"移至物理文件名"中的物理文件名修改為你的數(shù)據(jù)文件要存放的文件名
    --如果要還原的數(shù)據(jù)庫(kù)已經(jīng)存在,選擇"在現(xiàn)有數(shù)據(jù)庫(kù)上強(qiáng)制還原"-
    -確定


2.用SQL語(yǔ)句的方法(假設(shè)你的備份文件名為: c:\xx.bak

--列出備份文件中的邏輯文件名
restore filelistonly from disk='c:\xx.bak'


--用語(yǔ)句恢復(fù),根據(jù)上面列出的邏輯文件名使用move選項(xiàng)
restore database 恢復(fù)后的數(shù)據(jù)庫(kù)名
from disk='c:\xx.bak'
with move '邏輯數(shù)據(jù)文件名1' to 'c:\物理數(shù)據(jù)文件名1'
    ,move '邏輯數(shù)據(jù)文件名2' to 'c:\物理數(shù)據(jù)文件名2'
...
    ,move '邏輯數(shù)據(jù)文件名n' to 'c:\物理數(shù)據(jù)文件名n'


沒(méi)有什么要特別注意的,和企業(yè)版之間的備份/還原要注意的東西一樣:

1.要注意備份時(shí)的設(shè)置問(wèn)題,不要指定多個(gè)備份文件,否則還原時(shí)也要指定多個(gè)備份文件

2.要注意備份的媒體處理方式問(wèn)題,用重寫(xiě),而不是追加,否則還原的時(shí)候要指定備份號(hào)

3.要注意備份的方式,用完全備份,而不是其他備份方式,否則還原時(shí)還要其他備份文件支持

4.還原時(shí)要注意數(shù)據(jù)文件路徑的問(wèn)題,如果兩個(gè)系統(tǒng)的數(shù)據(jù)文件目錄不一致,要重新指定

5.還原后要注意孤立用戶(hù)的問(wèn)題(即兩個(gè)系統(tǒng)中的SQL用戶(hù)不同,解決方式參考sql聯(lián)機(jī)幫助)


可能的原因:

1.你還原后的數(shù)據(jù)庫(kù)的數(shù)據(jù)文件所放的磁盤(pán)空間不夠
  解決的辦法是把數(shù)據(jù)文件放在空間足夠的分區(qū)

2.你的磁盤(pán)分區(qū)采用的是FAT16/FAT32,前者限制了最大文件大小為2G,后者最大為4G
  解決的辦法是改磁盤(pán)分區(qū)格式為NTFS

關(guān)鍵詞:SQLServer

贊助商鏈接: