我需要挖掘SQL Server数据库,我得到的转储似乎是一个二进制文件,而不是我在MySQL和Postgres中习惯的基于文本的SQL语句转储。
这是导出SQL Server数据库的常用方式,还是存在某种问题?如果是前者,是否可以将其转换为我习惯的SQL文本文件,以便我可以查看它?或者我可以让给我的那个人把它导出为文本而不是二进制?
发布于 2011-12-07 22:43:19
实际上,"MSSQL转储“并不是指单一的东西。
你需要知道你实际得到了什么。它是一个MSSQL备份文件(通常是一个.bak)还是一个简单的分离数据库(.mdf)?
如果是前者,可以使用SQL Management Studio进行恢复;如果是后者,则只需重新附加即可。
没有简单的方法可以将INSERT命令等从备份转换为SQL脚本。您必须将其恢复到SQL server上,然后使用DTS或SQL Server Management Studio导出到SQL。
但是,请注意,SQL不能保证将与MySQL或任何其他产品兼容。
发布于 2011-12-07 22:49:17
@Cylindric涵盖了最可能的情况。一种不太可能的选择(也是我首先想到的)是,如果您所拥有的是单个数据集(即一个表的内容),那么它可能是使用“原生格式”(或者Unicode原生格式)通过BCP实用程序生成的。我相信,读取它的唯一方法是将其通过BCP返回到数据库中。
一般来说,当有人向您提供一组数据时,他们还应该向您解释该数据的形式和格式。即使使用XML这种“自描述”的数据格式,您也应该有一张XLS表或一些东西,让您知道< xzb >这样神秘的标记代表什么。
https://stackoverflow.com/questions/8417093
复制相似问题