還原Sql?Server數(shù)據(jù)庫(kù)BAK備份文件的3種方式以及常見(jiàn)錯(cuò)誤總結(jié)
第一種方法,使用Sql Server Management Studio還原
這是演示的是Sql Server 2008R2版本,不同版本可能有細(xì)微差別
右鍵點(diǎn)擊數(shù)據(jù)庫(kù)→還原數(shù)據(jù)庫(kù)
在還原的源中選擇源設(shè)備→點(diǎn)擊選擇框
sql server 2019如下圖
在指定備份中點(diǎn)擊添加→選擇具體文件→確定→確定
勾選用于還原的備份集→這時(shí)目標(biāo)數(shù)據(jù)庫(kù)中會(huì)自動(dòng)生成目標(biāo)數(shù)據(jù)庫(kù)名,在此選擇即可→確定
即可還原BAK數(shù)據(jù)庫(kù)備份文件
常見(jiàn)錯(cuò)誤:
1.指定的轉(zhuǎn)換無(wú)效
在選擇具體文件的時(shí)候,我們可能會(huì)產(chǎn)生這個(gè)報(bào)錯(cuò),導(dǎo)致這個(gè)的原因是BAK文件備份中的版本和高于我們的版本,需要部署更高版本的SqlServer。
2.System.Data.SqlClient.SqlError: 尚未備份數(shù)據(jù)庫(kù) "xxx" 的日志尾部
2005版本以上,在還原BAK備份文件時(shí)是不需要提前建好數(shù)據(jù)庫(kù)的。所以,先選源設(shè)備,再在下拉選項(xiàng)中選擇數(shù)據(jù)庫(kù)即可。
3.3154或3159報(bào)錯(cuò)
原因和第二點(diǎn)一致,在選擇還原文件和文件組時(shí)才會(huì)出現(xiàn)這兩個(gè)報(bào)錯(cuò)
第二種方法,使用sql server語(yǔ)句還原
ALTER DATABASE [test] SET OFFLINE WITH ROLLBACK IMMEDIATE --斷開(kāi)其他用戶與數(shù)據(jù)庫(kù)的連接 USE MASTER --這里注意要使用MASTER,以免出現(xiàn)待還原庫(kù)被占用的情況 RESTORE DATABASE [test] --為待還原庫(kù)名 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ù)庫(kù)
常見(jiàn)錯(cuò)誤:
1.邏輯文件 'xxx' 不是數(shù)據(jù)庫(kù) 'test' 的一部分。
文件名不一定是實(shí)際的邏輯名,這個(gè)時(shí)候我們需要獲取文件的邏輯名替換后再執(zhí)行語(yǔ)句。此時(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è)錯(cuò)誤代表bak文件版本高于目前Sql Server版本,需要升級(jí)
第三種方法,使用Navicat還原
這里演示的Navicat版本是16,部分版本可能不太相同
使用Navicat恢復(fù)BAK備份文件依舊需要有Sql Server,連接步驟這里省略。
選擇SqlServer任意數(shù)據(jù)庫(kù)→SQL Server備份→空白處鼠標(biāo)右鍵→選擇從文件還原
選擇需要還原到的數(shù)據(jù)庫(kù)→添加設(shè)備→選擇備份文件→確定
勾選還原計(jì)劃
選擇高級(jí)→勾選WITH REPLACE→選擇數(shù)據(jù)文件和日志文件存放位置(這里不選擇會(huì)默認(rèn)放置在之前服務(wù)器/電腦的地址)→生成SQL
點(diǎn)擊還原
稍等片刻就還原啦
常見(jiàn)錯(cuò)誤:
1.需要密碼
其實(shí)當(dāng)BAK文件版本高于當(dāng)前SqlServer版本的時(shí)候,也會(huì)產(chǎn)生這個(gè)提示,這是因?yàn)镾qlManagerUI的報(bào)錯(cuò)被Navicat理解成了需要密碼。所以當(dāng)使用Navicat還原BAK文件的時(shí)候可以和對(duì)方確認(rèn)一下版本信息,避免造成誤解。
如何正確新建用戶并連接數(shù)據(jù)庫(kù)
1、先新建登錄名
找到 安全性
選項(xiàng)
需要用戶名與數(shù)據(jù)庫(kù)中的用戶名一致,下面需要輸入用戶名與密碼
2、在新還原的數(shù)據(jù)庫(kù)中 找到 數(shù)據(jù)庫(kù)用戶
在想管理的數(shù)據(jù)中 找到 安全性
> 用戶
右鍵 新建用戶
即可
如圖 選擇 帶登錄名的 sql 用戶,這樣就可以了
總結(jié)
到此這篇關(guān)于還原Sql Server數(shù)據(jù)庫(kù)BAK備份文件的3種方式以及常見(jiàn)錯(cuò)誤總結(jié)的文章就介紹到這了,更多相關(guān)還原Sql Server數(shù)據(jù)庫(kù)BAK備份文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java連接SqlServer錯(cuò)誤的完美解決方法
- 驅(qū)動(dòng)程序無(wú)法通過(guò)使用安全套接字層(SSL)加密與?SQL?Server?建立安全連接,錯(cuò)誤:“The?server?selected?protocol?version?TLS10?is?not?accepted?by?client
- sqlserver連接錯(cuò)誤之SQL評(píng)估期已過(guò)的問(wèn)題解決
- SQLServer 錯(cuò)誤: 15404,無(wú)法獲取有關(guān) Windows NT 組/用戶 WIN-8IVSNAQS8T7\Administrator 的信息
- 由于系統(tǒng)錯(cuò)誤 126 (SQL Server),指定驅(qū)動(dòng)程序無(wú)法加載
- SQL Server復(fù)制刪除發(fā)布時(shí)遇到錯(cuò)誤18752的問(wèn)題及解決方法
相關(guān)文章
解析關(guān)于SQL語(yǔ)句Count的一點(diǎn)細(xì)節(jié)
本篇文章是對(duì)關(guān)于SQL語(yǔ)句Count的一點(diǎn)細(xì)節(jié)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06在SQL Server中實(shí)現(xiàn)最短路徑搜索的解決方法
本篇文章小編為大家介紹,在SQL Server中實(shí)現(xiàn)最短路徑搜索的解決方法。需要的朋友參考下2013-04-04系統(tǒng)存儲(chǔ)過(guò)程,sp_executesql
系統(tǒng)存儲(chǔ)過(guò)程,sp_executesql...2006-12-12在Windows XP系統(tǒng)安裝SQL server 2000 企業(yè)版(圖解版)
今天在網(wǎng)上下載一個(gè)軟件,需要使用MS SQL,海波用的是 Windows XP Professional(專業(yè)) 版系統(tǒng),而SQL卻是企業(yè)版。安裝的時(shí)候提示我只能安裝客戶端,服務(wù)程序卻不能安裝。海波在網(wǎng)上搜索到了一些方法,設(shè)置成功了2014-07-07sqlserver 2000數(shù)據(jù)庫(kù)同步 同步兩個(gè)SQLServer數(shù)據(jù)庫(kù)的內(nèi)容
程序代碼可以有版本管理CVS進(jìn)行同步管理,可是數(shù)據(jù)庫(kù)同步就非常麻煩,只能自己改了一個(gè)后再去改另一個(gè),如果忘記了更改另一個(gè)經(jīng)常造成兩個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)或內(nèi)容上不一致.2010-05-05必須會(huì)的SQL語(yǔ)句(二) 創(chuàng)建表、修改表結(jié)構(gòu)、刪除表
這篇文章主要介紹了sqlserver中創(chuàng)建表、修改表結(jié)構(gòu)、刪除表的sql語(yǔ)句,需要的朋友可以參考下2015-01-01