用于Oracle Imp和Exp命令的Microsoft SQL替代方法

可能重复:
用于Oracle Imp和Exp命令的Microsoft SQL替代scheme

我正在寻找一个命令行工具或SQL命令来导出/导入表或完整的数据库。 很像Oracle数据库的imp和exp命令。

有什么build议么?

如果您正在运行MS SQL Server 2005,我认为您正在寻找的是Integration Services 。 这是一个包括import和出口在内的许多产品。 这取代了数据转换服务 ,这是您的早期版本的主要select。

pipe理这个最简单的方法是使用SQL Server Management Studio中的导入和导出向导,尽pipe还有其他方法可以调用它。 了解更多 。

最像imp或exp的SQL Serverfunction可能是bcp。 我相信bcp.exe附带“标准”SQL工具。 SSIS服务器对象不附带标准工具,如果您没有在SQL Server上运行应用程序,则可能会遇到许可问题。

BCP是一种实用程序,允许将数据从表格导出到文件或从文件导入到表格。 BCP与SQL Server一起运行了20年,这是非常原始的。 它只能理解从表格到文件或从文件到表格的数据。 它不处理创build表或索引。 它不处理亲子关系。 如果您需要导出/导入多个表格,则必须一次一个地执行。 如果您需要在目标上创build对象,最好的办法是使用SSMS的脚本自动创buildfunction来创build将创build表和索引的脚本。 然后可以在目标上运行这些脚本。

BCP使用通过OLEDB暴露的标准“快速加载”接口。 如果程序是用.Net编写的,你应该可以使用这些接口来编写自己的传输代码。 这将比脱壳更好的解决scheme,因为您不必担心第三方实用程序是否在客户端计算机上。

处理这种情况的另一种方法是使用链接的服务器,但是它们往往速度较慢,大量的传输可能需要大量的日志文件空间。

如果您需要定期执行此操作,则可能需要查看快照复制。 这是一个需要一些设置和configuration的服务器端解决scheme。