[英]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.