关于sql server:如何在没有LDF文件的情况下附加数据库? | 珊瑚贝

How to attach a database without an LDF file?


如何在 SQL Server 中附加没有 LDF 文件的数据库?

  • 只需补充一点,您可能会通过这样做得到一个不一致的数据库。将它与原始 LDF 连接要好得多。请参阅 blogs.msdn.com/sqlserverstorageengine/archive/2006/06/15/…


您可以使用 sp_attach_single_file_db 来附加缺少其日志文件的数据库。

  • 它给出了这个错误:无法打开新数据库”SharedCS”。 CREATE DATABASE 已中止。设备激活错误。物理文件名”d:\\\\Program Files\\\\Microsoft SQL Server\\\\MSSQL\\\\data\\\\dummy_Log.LDF”可能不正确。
  • 不要尝试附加虚拟日志。您可以发布您正在运行的 sp_attach_single_file_db 命令吗?
  • 这仅适用于可以在 .mdf 所说的位置重新创建日志文件的情况。


尝试通过将 MDF 文件添加到”附加数据库”对话框来附加它。您会注意到该对话框将报告丢失的 LDF 文件。请按照图片所示的步骤操作:

enter


这里是用于以编程方式创建 .ldf 文件的代码片段

以下是 3 种方法。

方法-1

就我而言,我的数据库位于 DATA 文件夹中。

您可以通过右键单击然后转到属性来获取数据库的完整路径
然后您可以将完整路径复制到数据库


通过 SQL Server Management Studio 尝试此步骤

  • 打开 SSMS 并右键单击数据库。
  • 选择附加选项
  • 然后单击添加以附加 MDF 文件。
  • 从列表中选择文件,然后单击确定
  • 现在屏幕显示 MDF 文件和 LDF 文件(未找到)
  • 选择 LDF 文件并单击删除选项。
  • 删除 LDF 文件后,单击
  • MDF 文件已成功附加到数据库列表中。

  • 您可以尝试 MohammedU 在此处发布的内容。基本上,他使用的是 DBCC REBUILD_LOG 命令。它将根据您的服务器版本起作用。

    以下是步骤(不详):

  • 将现有 .mdf 文件重命名为 .mdf_old
  • 使用与旧数据库相同的 .mdf 和 .ldf 文件创建一个新数据库。
  • 停止 sql 服务器
  • 将新 db 的 .mdf 和 .ldf 文件重命名为 .mdf_old 和 .ldf_old
  • 将 .mdf_old 重命名为 .mdf
  • 启动sql服务器
  • 您应该在可疑模式下看到 db
  • 将数据库上下文更改为 Master 并允许更新系统表
  • 将数据库设置为紧急(绕过恢复)模式。
  • 停止并重新启动 SQL 服务器。
  • 重建日志。
  • 将数据库设置为单用户模式并运行 DBCC CHECKDB 以验证物理一致性。
  • 关闭对系统表的更新。
    • 如何执行从 8 到 13 的步骤?


    1
    EXEC sp_attach_single_file_db @dbname = ‘DBNAME’,@physname = N’C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\DATA\\DBNAME_Data.mdf’;

    我试过了,它成功了……希望这会有所帮助。


    如果遇到问题,请确认 mdf 文件不是只读的。


    你可以”随便做”它会抛出一个警告,说它找不到 .ldf,但它仍然会附加 db。


    来源:https://www.codenong.com/926096/

    微信公众号
    手机浏览(小程序)

    Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

    Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

    Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9990.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
    0
    分享到:
    没有账号? 忘记密码?