我需要深入研究一个SQL Server数据库,我已经给出的转储似乎是一个二进制文件,而不是我习惯使用MySQL和Postgres的通常的基于文本的SQL语句转储。
这是SQL Server数据库导出的常用方式还是某种问题?如果是前者,是否可以将其转换为我习惯的SQL文本文件,以便我可以查看它?或者我可以问那个给我的人用文本而不是二进制文件导出它吗?
答案 0 :(得分:3)
“MSSQL转储”可能没有一件事可以真正引用。
你需要知道你实际上给了什么。它是MSSQL备份文件(通常是.bak)还是仅仅是一个分离的数据库(.mdf)?
如果是前者,可以使用SQL Management Studio进行恢复,如果是后者,则可以重新附加。
没有简单的方法可以从备份到INSERT
命令的SQL脚本等。您必须将其还原到SQL服务器上,然后使用DTS或SQL Server Management导出到SQL工作室。
但请注意,无保证 SQL将符合MySQL或任何其他SQL产品。
答案 1 :(得分:1)
@Cylindric涵盖了最有可能发生的情况。一个不太可能的选择(以及我首先想到的)是,如果您拥有的应该是单个数据集(即一个表的内容),那么它可能是使用“本机格式”使用BCP实用程序生成的(或者也许是Unicode原生格式)。我认为,唯一可以阅读的方法是将其重新打包到数据库中。
总的来说,当有人为您提供一组数据时,他们还应该向您提供数据所处的格式和格式的说明。即使使用XML,“自描述”数据格式,您也应该有一个XLS表或什么让你知道什么神秘标签喜欢< xzb>代表。