2010-02-04 70 views
0

我想将26个表格从一个DB移动到另一个DB。我看到我可以在SSIS导入和导出向导中执行此操作。我相信另一种方法是从数据流的工具栏中选择工具,然后将其全部配置。我应该使用导入和导出向导还是手动创建SSIS包?

什么时候使用向导更好,什么时候最好手动(使用可视化工具)或编程创建包?我注意到向导的一件事是它可以让我一次选择多个表格,但是一旦包装被创建,我就找不到一个回到那个屏幕的方法,这样我就可以在一个地方编辑所有的表格。

回答

1

我想说,如果你可以通过向导来完成,那么你应该通过向导来完成。

这并不是因为我非常喜欢向导,只有很少的事情可以通过向导完成,您应该节省时间。

0

通常使用SSIS向导,您可以选择保存包而不是立即运行它。这样,如果你愿意,你可以编辑它。或者运行并保存它,以便您可以编辑它或稍后再运行它。

因此,使用向导,但是如果您预计需要再次修改或运行该过程,请将其保存。

+0

你会如何编辑它?有没有办法在保存后通过向导界面查看创建的包? – alchemical 2010-02-04 00:53:49

+0

如果您可以选择保存SSIS包,请将其保存为文件系统的.dtsx文件。然后,在Visual Studio中创建或打开解决方案,然后将该包添加到解决方案中。从那里开始,你可以做任何你想做的事,当它按照你想要的方式工作时,你通常可以直接从工作室运行它,或者将它导回到综合服务中,并从工作中调用它,或者任何你需要做的事情。 它在VS中的编辑很尴尬,而不是在SQL中编辑DTS包是多么容易,但它是一种简单的可视化界面。 – thursdaysgeek 2010-02-05 00:52:58

0

我会补充一点,我使用向导进行一些一次性的事情,但通常会自己创建一个包,以便按计划运行。如果我需要可重复使用的软件包,我对自己的操作有更多的控制权。

1

你不能“编辑向导”作为一个项目 - 只有最终的包。因此,如果您喜欢26个表的包并希望切换到27个,则必须基本重新创建之前选择的每个选项,然后选择原始26个表加上新表。

您也可以使用.NET公开的类和方法动态生成包。这可能是值得的时间投资。您可以通过连接到SQL Server并读取常规元数据以获取特定模式中的所有表(或者您在扩展属性中存储的额外元数据 - 获取带有适当扩展属性的所有表格)来驱动包生成。

我会怎么做:

第一次 - 使用向导

第二次 - 编辑包或使用向导再次

第三次 - 写的东西,产生包(从模板)