SQL - 如何在没有日志文件的情况下附加启用了FileStream的db

时间:2012-03-05 17:00:31

标签: sql database sql-server-2008 filestream

我正在尝试在没有日志文件的情况下附加启用FileStream的数据库。我的SQL看起来像这样:

USE master
CREATE DATABASE MyDB 
ON PRIMARY(NAME = N'MyDB', FILENAME = 'C:\myDB.MDF' ), 
FILEGROUP myFileGroup CONTAINS FILESTREAM ( NAME = myData, FILENAME = 'C:\myFileGroup')      
For Attach

以下是我收到的错误:

  

Msg 5173,Level 16,State 3,Line 2
  一个或多个文件与数据库的主文件不匹配   如果您尝试附加数据库,请使用正确的文件重试该操作   如果这是现有数据库,则该文件可能已损坏,应从备份中恢复。

有没有人知道是否可以在没有原始日志文件的情况下附加启用FileStream的数据库?

2 个答案:

答案 0 :(得分:0)

试试这篇博文:

http://blog.sqlauthority.com/2010/04/26/sql-server-attach-mdf-file-without-ldf-file-in-database/

我个人会选择这个:

CREATE DATABASE TestDb ON
(FILENAME = N'C:\Database\Test\TestDb.mdf')
FOR ATTACH_REBUILD_LOG
GO

当您重建日志时,您可以启用文件流;或尝试重新附加文件流位置。

答案 1 :(得分:0)

如上所述here

如果日志文件丢失或损坏

  • 恢复后,如果您遇到 5173 错误并且找不到 正确的日志文件 (.LDF),可以重建一个 .LDF 文件 .MDF 文件已恢复。以下 T-SQL 代码将帮助您 为 .MDF 文件重建日志文件:

如果数据库损坏

如果您的主数据文件与日志文件不匹配并且您的主数据文件已损坏,您可以执行以下操作:

  • 验证主文件是否属于日志文件。有时你 将错误的日志文件附加到主文件中。
  • 使用 Stellar Repair for MS SQL 恢复损坏的主数据文件 修复损坏的 SQL 数据库主文件和辅助文件。