【问题标题】:Reading MSSQL .bak files in PHP在 PHP 中读取 MSSQL .bak 文件
【发布时间】:2012-06-13 19:51:55
【问题描述】:

我最近接手了从旧的 MSSQL .bak 文件中恢复数据的艰巨任务。由于这是一个网络数据库,如果它可以被 PHP 访问和读取,那将是既有趣又理想的。

我目前无法访问从 MS 加载 SQL 管理控制台的 Windows 机器,这允许我恢复此备份文件。

有谁知道是否有任何库可以方便访问此 .bak 文件中的数据?

【问题讨论】:

    标签: php sql-server


    【解决方案1】:

    不幸的是,从这些二进制 .bak 文件中读取数据的唯一可行方法是通过 MS SQL 管理控制台。正如您可能注意到的那样,它不是可以用任何其他工具轻松解析的纯文本,而且据我(和谷歌)所知,除了提供的实际 MS 工具之外,没有可靠的工具可以处理这些 bak 文件说任务。您必须安装正确版本的 SQL 才能读取该文件。

    【讨论】:

    • 确实,在这里发帖之前咨询过谷歌霸主,异常不成功。
    • 是的 - 能够提供在 Google 上找不到的建议总是很好,但这不是其中之一!
    【解决方案2】:

    如果您没有 MS SQL,但您有某些版本的 Windows,则可以尝试使用 Microsoft SQL Server 2000 桌面引擎。免费下载地址http://www.microsoft.com/en-us/download/details.aspx?id=22661

    我在http://forums.mysql.com/read.php?65,72796,207081#msg-207081 找到了这个直播 其中 Tim 提到可以创建实时 ODBC 数据源。

    到目前为止,我自己还没有成功(它没有安装在我的 XP 虚拟机上),我可能会在这些日子里得到一个适当的 SQL 转储。

    【讨论】:

      【解决方案3】:

      有这样一个工具,Red-Gate Virtual Restore。但是,它确实需要完整的 SQL Server 安装,因为该工具只是一个虚拟文件映射器,它允许 SQL Server 实例通过将来自 SQL Server 的 IO 请求映射到 . bak 文件(请参阅Hyperbak)。该工具的好处是允许检查 .bak 文件内容和检索数据而无需完全恢复(主要无需创建恢复数据库所需的实际 .MDF/.LDF 文件)。

      在您的情况下,您应该在适当版本的 SQL Server 实例中恢复 .bak 文件。如果您很幸运并且原始数据库不包含仅企业功能(sys.dm_db_persisted_sku_features 为空)并且数据库未超过 10Gb SQL Express 限制,那么您将能够使用免费的SQL Server 2008R2 Express 恢复备份文件实例。

      【讨论】:

        猜你喜欢
        • 2021-05-19
        • 2021-09-28
        • 1970-01-01
        • 1970-01-01
        • 2011-07-24
        • 1970-01-01
        • 2013-11-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多