還原Sql?Server數(shù)據(jù)庫BAK備份文件的3種方式以及常見錯誤總結(jié)
第一種方法,使用Sql Server Management Studio還原
這是演示的是Sql Server 2008R2版本,不同版本可能有細(xì)微差別
右鍵點(diǎn)擊數(shù)據(jù)庫→還原數(shù)據(jù)庫

在還原的源中選擇源設(shè)備→點(diǎn)擊選擇框

sql server 2019如下圖

在指定備份中點(diǎn)擊添加→選擇具體文件→確定→確定

勾選用于還原的備份集→這時(shí)目標(biāo)數(shù)據(jù)庫中會自動生成目標(biāo)數(shù)據(jù)庫名,在此選擇即可→確定

即可還原BAK數(shù)據(jù)庫備份文件

常見錯誤:
1.指定的轉(zhuǎn)換無效

在選擇具體文件的時(shí)候,我們可能會產(chǎn)生這個(gè)報(bào)錯,導(dǎo)致這個(gè)的原因是BAK文件備份中的版本和高于我們的版本,需要部署更高版本的SqlServer。
2.System.Data.SqlClient.SqlError: 尚未備份數(shù)據(jù)庫 "xxx" 的日志尾部

2005版本以上,在還原BAK備份文件時(shí)是不需要提前建好數(shù)據(jù)庫的。所以,先選源設(shè)備,再在下拉選項(xiàng)中選擇數(shù)據(jù)庫即可。
3.3154或3159報(bào)錯


原因和第二點(diǎn)一致,在選擇還原文件和文件組時(shí)才會出現(xiàn)這兩個(gè)報(bào)錯
第二種方法,使用sql server語句還原
ALTER DATABASE [test] SET OFFLINE WITH ROLLBACK IMMEDIATE --斷開其他用戶與數(shù)據(jù)庫的連接 USE MASTER --這里注意要使用MASTER,以免出現(xiàn)待還原庫被占用的情況 RESTORE DATABASE [test] --為待還原庫名 FROM DISK = 'C:\Users\xxx\Desktop\exxx_zy.bak' --備份文件的位置 WITH MOVE 'exxx_zy' --數(shù)據(jù)文件邏輯名字 TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\exxx_zy.mdf', --指定數(shù)據(jù)文件路徑 MOVE 'exxx_zy_LOG' --日志文件邏輯名字 TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\exxx_zy.ldf', --指定日志文件路徑 STATS = 10, REPLACE GO ALTER database [test] set online --重新上線數(shù)據(jù)庫
常見錯誤:
1.邏輯文件 'xxx' 不是數(shù)據(jù)庫 'test' 的一部分。

文件名不一定是實(shí)際的邏輯名,這個(gè)時(shí)候我們需要獲取文件的邏輯名替換后再執(zhí)行語句。此時(shí)執(zhí)行RESTORE FILELISTONLY FROM DISK ='C:\Users\xxx\Desktop\xxx.bak'獲取數(shù)據(jù)文件和日志文件的LogicalName。
2.設(shè)備'xxx.bak'上的介質(zhì)簇的結(jié)構(gòu)不正確。

出現(xiàn)這個(gè)錯誤代表bak文件版本高于目前Sql Server版本,需要升級
第三種方法,使用Navicat還原
這里演示的Navicat版本是16,部分版本可能不太相同
使用Navicat恢復(fù)BAK備份文件依舊需要有Sql Server,連接步驟這里省略。
選擇SqlServer任意數(shù)據(jù)庫→SQL Server備份→空白處鼠標(biāo)右鍵→選擇從文件還原

選擇需要還原到的數(shù)據(jù)庫→添加設(shè)備→選擇備份文件→確定

勾選還原計(jì)劃

選擇高級→勾選WITH REPLACE→選擇數(shù)據(jù)文件和日志文件存放位置(這里不選擇會默認(rèn)放置在之前服務(wù)器/電腦的地址)→生成SQL

點(diǎn)擊還原

稍等片刻就還原啦

常見錯誤:
1.需要密碼

其實(shí)當(dāng)BAK文件版本高于當(dāng)前SqlServer版本的時(shí)候,也會產(chǎn)生這個(gè)提示,這是因?yàn)镾qlManagerUI的報(bào)錯被Navicat理解成了需要密碼。所以當(dāng)使用Navicat還原BAK文件的時(shí)候可以和對方確認(rèn)一下版本信息,避免造成誤解。
如何正確新建用戶并連接數(shù)據(jù)庫
1、先新建登錄名
找到 安全性 選項(xiàng)

需要用戶名與數(shù)據(jù)庫中的用戶名一致,下面需要輸入用戶名與密碼

2、在新還原的數(shù)據(jù)庫中 找到 數(shù)據(jù)庫用戶
在想管理的數(shù)據(jù)中 找到 安全性 > 用戶

右鍵 新建用戶 即可

如圖 選擇 帶登錄名的 sql 用戶,這樣就可以了
總結(jié)
到此這篇關(guān)于還原Sql Server數(shù)據(jù)庫BAK備份文件的3種方式以及常見錯誤總結(jié)的文章就介紹到這了,更多相關(guān)還原Sql Server數(shù)據(jù)庫BAK備份文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java連接SqlServer錯誤的完美解決方法
- 驅(qū)動程序無法通過使用安全套接字層(SSL)加密與?SQL?Server?建立安全連接,錯誤:“The?server?selected?protocol?version?TLS10?is?not?accepted?by?client
- sqlserver連接錯誤之SQL評估期已過的問題解決
- SQLServer 錯誤: 15404,無法獲取有關(guān) Windows NT 組/用戶 WIN-8IVSNAQS8T7\Administrator 的信息
- 由于系統(tǒng)錯誤 126 (SQL Server),指定驅(qū)動程序無法加載
- SQL Server復(fù)制刪除發(fā)布時(shí)遇到錯誤18752的問題及解決方法
相關(guān)文章
SQL Server中對數(shù)據(jù)截取替換的方法詳解
本文主要介紹了SQL Server中對數(shù)據(jù)截取替換的方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
數(shù)據(jù)庫的使用過程中由于程序方面的問題有時(shí)候會碰到重復(fù)數(shù)據(jù),重復(fù)數(shù)據(jù)導(dǎo)致了數(shù)據(jù)庫部分設(shè)置不能正確設(shè)置2013-05-05
Sql學(xué)習(xí)第一天——SQL UNION 和 UNION ALL 操作符認(rèn)識
UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語句的結(jié)果集,有一點(diǎn)需要注意的是UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列,接下來為大家詳細(xì)介紹下,感興趣的各位可以參考下哈2013-03-03
還原Sql?Server數(shù)據(jù)庫BAK備份文件的3種方式以及常見錯誤總結(jié)
日常后端開發(fā)中,我們有時(shí)候需要查看之前備份數(shù)據(jù)庫的信息用于排錯糾正項(xiàng)目問題,下面這篇文章主要給大家介紹了關(guān)于還原Sql?Server數(shù)據(jù)庫BAK備份文件的3種方式以及常見錯誤的相關(guān)資料,需要的朋友可以參考下2023-02-02
遠(yuǎn)程連接阿里云SqlServer 2012 數(shù)據(jù)庫服務(wù)器的圖文教程
在使用 阿里云 上的一些產(chǎn)品時(shí),遇到不少坑,安裝IIS 時(shí),遇到因買的配置過低,虛擬內(nèi)存不足,而導(dǎo)致 IIS 總是安裝失敗,下面小編給大家分享遠(yuǎn)程連接阿里云SqlServer 2012 數(shù)據(jù)庫服務(wù)器的圖文教程,一起看看吧2017-09-09
SQLServer Execpt和not in 性能區(qū)別
網(wǎng)上有很多 except 和 not in的返回結(jié)果區(qū)別這里就就提了2012-01-01
使用 SQL 快速刪除數(shù)百萬行數(shù)據(jù)的實(shí)踐記錄
在面對需要刪除數(shù)百萬行數(shù)據(jù)的場景時(shí),使用DELETE操作可能非常耗時(shí)且效率低下,一種更有效的方法是通過Create-Table-as-Select (CTAS) 方式處理,即先將要保留的數(shù)據(jù)通過CTAS保存到新表,然后通過表重命名等操作替換原表,從而快速完成大量數(shù)據(jù)的刪除2024-10-10
SQLSERVER數(shù)據(jù)庫備份后無法還原的解決辦法
有時(shí)候?yàn)榱丝紤]數(shù)據(jù)安全我們都會備份數(shù)據(jù)庫,sqlserver的備份格式一般都是bak結(jié)尾的,但覆蓋時(shí)容易出問題,這里簡單介紹下,需要的朋友可以參考下2013-08-08
sqlserver主鍵設(shè)計(jì)的注意點(diǎn)
在數(shù)據(jù)庫設(shè)計(jì)中,主鍵用于惟一地標(biāo)識表中的某一條記錄2012-07-07

