在PHP中读取MSSQL.bak文件
我最近继承了从一个旧的MSSQL.bak文件中恢复数据的悲惨任务。由于这将进入一个web数据库,如果它可以被PHP访问和读取,这将是非常有趣和理想的 我当前没有访问Windows计算机的权限,无法从该计算机从MS加载SQL管理控制台,该控制台允许我还原此备份文件在PHP中读取MSSQL.bak文件,php,sql-server,Php,Sql Server,我最近继承了从一个旧的MSSQL.bak文件中恢复数据的悲惨任务。由于这将进入一个web数据库,如果它可以被PHP访问和读取,这将是非常有趣和理想的 我当前没有访问Windows计算机的权限,无法从该计算机从MS加载SQL管理控制台,该控制台允许我还原此备份文件 有人知道是否有任何库可以方便访问此.bak文件中的数据吗?不幸的是,从这些二进制.bak文件中读取数据的唯一可行方法是通过MS SQL管理控制台。正如您可能注意到的,它不是纯文本,可以用任何其他工具轻松解析,而且据我(和谷歌)所知,除了
有人知道是否有任何库可以方便访问此.bak文件中的数据吗?不幸的是,从这些二进制.bak文件中读取数据的唯一可行方法是通过MS SQL管理控制台。正如您可能注意到的,它不是纯文本,可以用任何其他工具轻松解析,而且据我(和谷歌)所知,除了用于完成上述任务的实际MS工具外,没有可靠的工具可以处理这些bak文件。您必须安装正确版本的SQL才能读取该文件。有这样一个工具,即。但是,它确实需要完整的SQL Server安装,因为该工具只是一个虚拟文件映射器,它允许SQL Server实例通过将来自SQL Server的IO请求映射到.bak文件来读取.bak文件,而不进行适当的还原(请参阅)。该工具的好处是允许检查.bak文件内容和检索数据,而无需进行完全还原(主要是创建还原数据库所需的实际.MDF/.LDF文件)
在您的情况下,应该在相应版本的SQL Server实例中还原.bak文件。如果幸运的话,原始数据库不包含仅限企业的功能(为空),并且数据库不超过10Gb SQL Express限制,那么您将能够使用免费实例还原备份文件 如果您没有MS SQL,但有某些版本的Windows,则可以尝试使用Microsoft SQL Server 2000桌面引擎。免费下载,网址为 我在现场找到了这个 其中Tim提到可以创建一个实时ODBC数据源
到目前为止,我自己在这方面还没有成功(它没有安装在我的XP虚拟机上),我可能会在这几天得到一个合适的SQL转储。事实上,我在这里发布之前已经咨询过谷歌霸主,而且非常不成功。是的——能够给出在谷歌上找不到的建议总是很好的,但这不是其中之一!