當前位置:首頁 » 編程語言 » sql還原報錯3154
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql還原報錯3154

發布時間: 2023-02-22 05:23:38

⑴ 如何用sql備份或還原資料庫並且會出現的常見問題以及解決方案

一、備份資料庫
1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server
2、SQL Server組-->雙擊打開你的伺服器-->雙擊打開資料庫目錄
3、選擇你的資料庫名稱(如論壇資料庫Forum)-->然後點上面菜單中的工具-->選擇備份資料庫
4、備份選項選擇完全備份,目的中的備份到如果原來有路徑和名稱則選中名稱點刪除,然後點添加,如果原來沒有路徑和名稱則直接選擇添加,接著指定路徑和文件名,指定後點確定返回備份窗口,接著點確定進行備份
二、還原資料庫
1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server
2、SQL Server組-->雙擊打開你的伺服器-->點圖標欄的新建資料庫圖標,新建資料庫的名字自行取
3、點擊新建好的資料庫名稱-->然後點上面菜單中的工具-->選擇恢復資料庫
4、在彈出來的窗口中的還原選項中選擇從設備-->點選擇設備-->點添加-->然後選擇你的備份文件名-->添加後點確定返回,這時候設備欄應該出現您剛才選擇的資料庫備份文件名,備份號默認為1(如果您對同一個文件做過多次備份,可以點擊備份號旁邊的查看內容,在復選框中選擇最新的一次備份後點確定)-->然後點擊上方常規旁邊的選項按鈕
5、在出現的窗口中選擇在現有資料庫上強制還原,以及在恢復完成狀態中選擇使資料庫可以繼續運行但無法還原其它事務日誌的選項。在窗口的中間部位的將資料庫文件還原為這里要按照你SQL的安裝進行設置(也可以指定自己的目錄),邏輯文件名不需要改動,移至物理文件名要根據你所恢復的機器情況做改動,如您的SQL資料庫裝在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那麼就按照您恢復機器的目錄進行相關改動改動,並且最後的文件名最好改成您當前的資料庫名(如原來是zw0001.mdf,現在的資料庫是zw0002,就改成zw0002.mdf),日誌和數據文件都要按照這樣的方式做相關的改動(日誌的文件名是.ldf結尾的),這里的恢復目錄您可以自由設置,前提是該目錄必須存在(如您可以指定d:\sqldata\zw0002.mdf或者d:\sqldata\zw0002.ldf),否則恢復將報錯
6、修改完成後,點擊下面的確定進行恢復,這時會出現一個進度條,提示恢復的進度,恢復完成後系統會自動提示成功,如中間提示報錯,請記錄下相關的錯誤內容並詢問對SQL操作比較熟悉的人員,一般的錯誤無非是目錄錯誤或者文件名重復或者文件名錯誤或者空間不夠或者資料庫正在使用中的錯誤,資料庫正在使用的錯誤您可以嘗試關閉所有關於SQL窗口然後重新打開進行恢復操作,如果還提示正在使用的錯誤可以將SQL服務停止然後重起看看,至於上述其它的錯誤一般都能按照錯誤內容做相應改動後即可恢復

⑵ Sql2005還原資料庫出現3154錯誤怎麼辦

您好,很高興為您解答。

可以直接利用SQL語句來執行,進行資料庫還原

直接右擊系統資料庫master,新建查詢

執行以下SQL代碼:

RESTORE DATABASE SQLNAME FROM DISK='D:\BAK\SQLNAME.bak'withreplace,
MOVE'SQLNAME'TO'D:\Microsoft SQLServer\MSSQL.1\MSSQL\Data\SQLBAK.mdf',
MOVE'SQLNAME_log'TO'D:\Microsoft SQL Server\MSSQL.1\MSSQL\Data\SQLBAK_log.ldf'

SQLNAME是資料庫名稱,SQLNAME.bak是備份。

如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】

希望我的回答對您有所幫助,望採納!

⑶ Sql2005還原資料庫出現3154錯誤怎麼辦

http://jingyan..com/article/d2b1d102627aec5c7e37d424.html
上面有解決方案,請按步驟處理

⑷ 請問只有master.mdf,沒有備份文件的情況下,怎麼恢復master資料庫,sql server 2008 r2.

sql server 2005 & 2008 master與msdb資料庫的備份與恢復,master與msdb資料庫的備份與普通資料庫一樣,本文主要描述master與msdb資料庫的恢復的一些個人積累。 恢復master與msdb資料庫關鍵在於以單用戶模式啟動,其它並沒有太大的區別。 由於系統資料庫對Sql Server來說尤其重要,為了確保SQL SERVER系統的正常運行,除了日常備份用戶的資料庫之外,我們還需要備份系統資料庫,如對Master,Model,Msdb(TempDB不需備份)進行完整備份 1、還原Master資料庫 如果系統配置丟失或Master出現問題,可以進入單用戶模式進行還原;如果出現下列情況,必須重新生成損壞的 master 資料庫: A. master 資料庫的當前備份不可用。 B. 存在 master 資料庫備份,但由於 Microsoft SQL Server 實例無法啟動,因此無法還原該備份。 1、重新生成 master 資料庫: 注意: 在 SQL Server 2005 中已廢止 Rebuildm.exe 程序。若要重新生成 master 資料庫,請使用 setup.exe。 1、 Start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 例:start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@ 註:INSTANCENAME:指定實例名,默認實例則用mssqlserver表示 REINSTALL:指定引擎 SAPWD:強密碼 Setup.exe:指定光碟1中的根目錄下的文件 /qn 開關用於取消所有安裝程序對話框和錯誤消息。如果指定 /qn 開關,則所有安裝程序消息(包括錯誤消息)都將寫入安裝程序日誌文件。有關日誌文件的詳細信息,請參閱如何查看 SQL Server 2005 安裝日誌文件。 指定 /qb 開關將顯示基本的安裝程序對話框。還會顯示錯誤消息。 2、 還原Master備份(在恢復master的備份時要注意:必須在單用戶(single user)模式下進行 ) a.進入單用戶模式的方法: 1.在命令行模式下輸入sqlservr -c -f -m或者輸入sqlservr -m 其中:-c 可以縮短啟動時間,SQL Server 不作為Windows NT的服務啟動 -f 用最小配置啟動SQL Server -m 單用戶模式啟動SQL Server 2.系統默認沒有設置PATH,先進入CMD,進入“C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn”,執行SQLSERVR.EXE –M 打開SSMS工具,先斷開連接,再新建查詢,執行以下命名還原 USE master GO RESTORE DATABASE master FROM disk=‘c:“master.bak‘ GO 開始實驗了~~~ MASTER重新生成 為了模擬MASTER資料庫壞了,我們就刪除MASTER資料庫(要停止SQL SERVER服務才能刪除)在我的電腦,C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“MSSQL“DATE 中刪除MASTER.MDF 重新生成MASTER 1.首先在CMD中輸入 start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 其中的 SETUP.EXE為啟動光碟的路徑,我這里的是 E:“SETUP.EXE /QN 我這里的為默認實例所以其中的用 MSSQLSERVER代替 最後的為密碼我設密碼為abc123@!@,所以就用abc123@!@代替 若沒有返回錯誤,我們就可以到我的電腦中C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“DATE上面又有MASTER.MDF了 接下來進入目錄 單用戶模式 啟動SSMS工具,新建查詢 輸入命令 啟動服務(MSSQL SERVER) 打開SSMS 連接到資料庫後就可以發現資料庫中的數據又回來了 以下是我在命令行下搞的命令,我用記事本的方式全部復制下來了,為了不傳附件,我就直接粘貼到下面了 Microsoft Windows [版本 5.2.3790] (C) 版權所有 1985-2003 Microsoft Corp. C:“Documents and Settings“Administrator>start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@ C:“Documents and Settings“Administrator>cd C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn>sqlservr.exe -m 2008-04-18 15:47:46.56 Server Authentication mode is MIXED. 2008-04-18 15:47:46.59 Server Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1) 2008-04-18 15:47:46.59 Server (c) 2005 Microsoft Corporation. 2008-04-18 15:47:46.59 Server All rights reserved. 2008-04-18 15:47:46.59 Server Server process ID is 3984. 2008-04-18 15:47:46.59 Server Logging SQL Server messages in file ‘C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG‘. 2008-04-18 15:47:46.59 Server This instance of SQL Server last reported using a process ID of 764 at 2008-4-18 15:46:40 (local) 2008-4-18 7:46:40 (UTC). This is an informational message only; no user action is required. 2008-04-18 15:47:46.60 Server Registry startup parameters: 2008-04-18 15:47:46.60 Server -d C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“master.mdf 2008-04-18 15:47:46.60 Server -e C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG 2008-04-18 15:47:46.60 Server -l C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“mastlog.ldf 2008-04-18 15:47:46.62 Server Command Line Startup Parameters: 2008-04-18 15:47:46.62 Server -m2008-04-18 15:47:46.64 伺服器 SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required. 2008-04-18 15:47:46.67 伺服器 Detected 1 CPUs. This is an informational message; no user action is required. 2008-04-18 15:47:46.78 伺服器 Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required. 2008-04-18 15:47:46.84 伺服器 Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required. 2008-04-18 15:47:47.95 伺服器 Attempting to recover in-doubt distributed transactions involving Microsoft Distributed Transaction oordinator (MS DTC). This is an informational message only. No user action is required. 2008-04-18 15:47:47.96 伺服器 Database Mirroring Transport is disabled in the endpoint configuration. 2008-04-18 15:47:47.96 spid5s Warning ****************** 2008-04-18 15:47:47.96 spid5s SQL Server started in single-user mode. This an informational message only. No user action is required. 2008-04-18 15:47:47.99 spid5s Starting up database ‘master‘. 2008-04-18 15:47:48.17 spid5s Recovery is writing a checkpoint in database ‘master‘ (1). This is an informational message only. No user action is required. 2008-04-18 15:47:48.28 spid5s SQL Trace ID 1 was started by login "sa". 2008-04-18 15:47:48.32 spid5s Starting up database ssqlsystemresource‘. 2008-04-18 15:47:48.76 spid5s Server name is ‘VM01‘. This is an informational message only. No user action is required. 2008-04-18 15:47:48.78 spid8s Starting up database ‘model‘. 2008-04-18 15:47:49.20 伺服器 A self-generated certificate was successfully loaded for encryption. 2008-04-18 15:47:49.23 伺服器 Server is listening on [ ‘any‘ 1433]. 2008-04-18 15:47:49.24 伺服器 Server local connection provider is ready to accept connection on [ ““.“pipe“SQLLocal“MSSQLSERVER ]. 2008-04-18 15:47:49.24 伺服器 Server local connection provider is ready to accept connection on [ ““.“pipe“sql“query ]. 2008-04-18 15:47:49.28 伺服器 Server is listening on [ 127.0.0.1 1434]. 2008-04-18 15:47:49.28 伺服器 Dedicated admin connection support was established for listening locally on port 1434. 2008-04-18 15:47:49.29 伺服器 The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies. 2008-04-18 15:47:49.31 伺服器 SQL Server is now ready for client connections. This is an informational message; no user action is required. 2008-04-18 15:47:49.40 spid5s Starting up database ‘msdb‘. 2008-04-18 15:47:49.68 spid8s Clearing tempdb database. 2008-04-18 15:47:49.93 spid5s Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required. 2008-04-18 15:47:50.57 spid8s Starting up database ‘tempdb‘. 2008-04-18 15:47:50.76 spid5s Recovery is complete. This is an informational message only. No user action is required. 2008-04-18 15:56:22.34 spid51 SQL Trace was stopped e to server shutdown. Trace ID = ‘1‘. This is an informational message only; no user action is required. 2008-04-18 15:56:22.40 伺服器 The SQL Network Interface library could not deregister the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Administrator should deregister this SPN manually to avoid client authentication errors. C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn> 打開SSMS工具,先斷開連接,再新建查詢,執行以下命名還原 USE master GO RESTORE DATABASE master FROM disk=‘C:“Program Files“Microsoft SQL Server“MSSQL.1 “MSSQL“Backup“master.bak‘ GO 資料庫中的顯示的消息應為: 已為資料庫 ‘master‘,文件 ‘master‘ (位於文件 1 上)處理了 376 頁。 已為資料庫 ‘master‘,文件 ‘mastlog‘ (位於文件 1 上)處理了 6 頁。 已成功地還原了 master 資料庫。正在關閉 SQL Server。 SQL Server 正在終止此進程。 則表示master資料庫還原成功,啟動服務後進入SSMS即可看到master資料庫了 恢復master資料庫 方法一:(操作步驟) 1停止MSSQLSERVER服務 2命令行輸入: net start "SQL Server (MSSQLSERVER)" /m 正常情況下顯示如下信息: SQL Server (MSSQLSERVER) 服務正在啟動 .. SQL Server (MSSQLSERVER) 服務已經啟動成功。 3命令行輸入: sqlcmd 1>USE master; 2>GO 此時顯示: 已將資料庫上下文更改為 'master'。 1>RESTORE DATABASE master FROM DISK='資料庫備份文件路徑'; 2>GO 如果恢復成功,顯示如下信息: 已為資料庫 'master',文件 'master' (位於文件 1 上)處理了 376 頁。 已為資料庫 'master',文件 'mastlog' (位於文件 1 上)處理了 3 頁。 已成功地還原了 master 資料庫。正在關閉 SQL Server。 SQL Server 正在終止此進程。 失敗則顯示: 消息 3154,級別 16,狀態 4,伺服器 HC,第 1 行 備份集中的資料庫備份與現有的 'master' 資料庫不同。 消息 3013,級別 16,狀態 1,伺服器 HC,第 1 行 RESTORE DATABASE 正在異常終止。 此時需要在恢復語句後面加上:WITH REPLACE。如: 1>RESTORE DATABASE master FROM DISK=資料庫備份文件路徑' WITH REPLACE; 2>GO 4重啟MSSQLSERVER服務 方法二:(與方法一差不多) 1打開“SQL Server 配置管理器”,單擊“SQL Server 服務” 2在右窗格中,右鍵單擊“SQL Server (<實例名>)”,再單擊“屬性” 3在“高級”選項卡的“啟動參數”框中,鍵入以分號“;”分隔的參數。(例如,若要以單用戶模式啟動,在現有啟動選項之前插入“-m;”,單擊“確定”,此時,彈出警告框,單擊“確定”即可) 4重新啟動資料庫引擎 5(同方法一中步驟3) 6成功恢復master資料庫後,若要以正常的多用戶模式重新啟動伺服器實例,必須先從“啟動參數”框中刪除剛才輸入的“-m;”,然後重新啟動SQL Server服務 恢復msdb資料庫 在msdb資料庫里存儲較多的是SQL Agent里的內容,如作業、調度、操作員、警告等信息,同時還存放SQL Server Integration Service(SSIS)相關信息。其恢復過程與普通資料庫恢復過程大同小異,不同點就是需要在單用戶模式啟動下進行恢復。 1打開SQL Server Management Studio,連接到相關的資料庫伺服器 2右鍵單擊msdb資料庫,單擊“屬性”打開資料庫屬性窗口,單擊“選項”,在右邊的“狀態”/“限制訪問”指定“SINGLE_USER”,然後單擊“確定”即以單用戶模式啟動,此時msdb顯示為“msdb(單個用戶)” 3(同恢復普通資料庫一樣...) 4恢復完畢後,別忘了將“限制訪問”改加以前的狀態“MULTI_USER”

⑸ sql2008 還原數據時 導入備份文件錯誤 3154

1:不要在資料庫名字上點右鍵選擇還原,而要是在根目錄「資料庫」三個字上點右鍵選擇還原,然後再選擇資料庫,問題便可以解決,如果不行參照方法2

2:寫sql語句處理:

RESTORE DATABASE [databaseName]
FROM DISK = N'X:\資料庫備份\database.bak' with replace,
NOUNLOAD, STATS = 10 GO

⑹ sql數據文件導入錯誤,欲請教解決方法!!

你在還原時還要修改下mdf和ldf的路徑為你新建立庫的路徑

即:
就是在你的"還原"的窗口中選"選項",然後勾上在現有資料庫上還原,並修改"將資料庫文件還原為"那修改"移至物理文件名"為新的庫名文件名.

⑺ 如何拷貝sql server 2005中的資料庫到另外一台機器

可能是還原的時候資料庫的存放位置不同導致的
如在公司資料庫是放在d:\data中的
但是你家中的原資料庫是放在e:\data中的
解決辦法,在還原的時候,在SQL2005的左邊的欄中選"選項"然後把文件路徑改成你本機的路徑就可以了