簡體   English   中英

無法將數據庫附加到SQL Server 2012,原因未找到.log

[英]Can't attach database to SQL Server 2012 reason not found .log

我正在嘗試將AdventureWorks2012_Data.mdf數據庫文件附加到我的SQL Server 2012數據庫。

我收到此錯誤:

標題:Microsoft SQL Server Management Studio

服務器“ USER-PC”的附加數據庫失敗。 (Microsoft.SqlServer.Smo)

要獲取幫助,請單擊: http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.3000.0+(((SQL11_PCU_Main).121019-1322+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates .FailedOperationExceptionText&EvtID =附加+數據庫+服務器&LinkId = 20476

附加信息:

執行Transact-SQL語句或批處理時發生異常。 (Microsoft.SqlServer.ConnectionInfo)

無法打開物理文件“ C:\\ Program Files \\ Microsoft SQL Server \\ MSSQL11.MSSQLSERVER \\ MSSQL \\ DATA \\ AdventureWorksDW2012_log.ldf”。 操作系統錯誤2:“ 2(由於該錯誤而無法檢索文本。原因:15105)”。 (Microsoft SQL Server,錯誤:5120)

也許消息很明確,我沒有.log文件,是的,我沒有它。 但是有必要嗎? 還是還有另一件事? 請問該如何解決?

當您的數據庫(例如AdventureWorks數據庫)沒有任何*.LDF日志文件時,這是任何人都可能遇到的常見錯誤。 SQL Server抱怨缺少*.LDF日志文件(通常與數據庫*.MDF文件關聯)。 執行以下T-SQL查詢以僅考慮*.MDF文件來附加數據庫:

USE [master]
GO
CREATE DATABASE [AdventureWorksDW2012] ON 
( FILENAME = N'C:\Users\User\Desktop\ARPAD\AdventureWorks2012_Data.mdf' )
 FOR ATTACH
GO

或通過SQL Server Management Studio刪除與*.LDF日志文件的連接(將為數據庫創建一個新的*.LDF文件),如下面的屏幕快照所示:

在此處輸入圖片說明

更新

您得到錯誤:

The database 'AdventureWorksDW2012' cannot be opened because it is version 706. This server supports version 661 and earlier. A downgrade path is not supported. Could not open new database 'AdventureWorksDW2012'. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 948)

因為您正在嘗試將SQL Server 2012(版本706)數據庫文件附加到SQL Server 2008實例(版本661)。 因此,您無法執行此降級 而是下載適用於您的SQL Server 2008實例的AdventureWorks2008數據庫,或使用最新版本升級SQL Server實例。

您的SQL Server等距版本確實是SQL Server 2008: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (X64) Apr 22 2011 19:23:43 Copyright (c) Microsoft Corporation Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) 下載並安裝SQL Server 2012 Express以解決此問題。

關鍵是這一行(為清楚起見進行了編輯):

Unable to open the physical file 
  "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW2012_log.ldf". 
  Operating system error 2: 
  "2(failed to retrieve text for this error. Reason: 15105)". 
  (Microsoft SQL Server, Error: 5120)

根據此頁面 ,操作系統錯誤2是“找不到文件”。 基於此,我想可能是A)文件不存在,或者B)名稱或路徑拼寫錯誤。

(我太慢了,上面的答案就是我在說的)

僅供參考,此答案假定您使用“附加數據庫”對話框。

確保您已經告訴sql manager ldf文件也在哪里。 即使您未將日志附加到mdf上,它也將填寫日志條目。

您會在帶有添加按鈕的框下方的框中看到它。 如果您沒有日志,可以將其從附件中刪除。 Sql將創建一個新日志,您可以沿途愉快地移動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM