2011-05-10 35 views
0

我想从SQL Server 2008 Enterprise导出大量数据到平面文件。然后删除那些数据。当然,删除必须只在导出成功时才会发生,所以这必须是同步的。自动导出SQL Server数据

理想情况下,这将在日期范围内进行参数化。文件名也需要更改以反映导出的数据(即exported_data_20110401_20110501.tsv或类似的文件)

我希望这是自动化的,以便它可以定期发生。

这些日子里最好的工作流程/工具是什么? SQL Server 2008中的SSIS功能看起来有点过时了?

谢谢。

回答

0

SQL Server集成服务(SSIS)是绝对不会在SQL Server 2008已过时

你可以使用SSIS中的数据流任务,将数据导出到一个平面文件(其与变量定义的文件名) ,然后执行DELETE,TRUNCATE或SWITCH OUT(如果您使用分区)可执行任务导出的数据。例如,使用bcp导出数据,然后使用osql在数据库中运行适当的SQL命令,您也可以拥有带类似功能的批处理(.bat)文件。

bcp {params} && osql {params} 
1

SSIS绝对是这份工作的最佳工具。我很好奇你为什么认为它在SQL Server 2008中被弃用,因为据我所知它是SQL Server生态系统中ETL的最佳和最广泛的选项。

+0

其实我在想“DTS”,只能在Legacy树下找到它。我的实例没有安装Integration Services的事实并没有帮助:) – Nik 2011-05-10 16:45:01

0

如果SSIS是不是一种选择,我将创建一个SQL代理作业,像这样

  • 步骤1. BCP平面文件,成功转到第2步否则执行步骤3
  • 步骤2.从表中删除数据,最后
  • 步骤3.错误日志

之后,你可以安排每天晚上跑。

0

看一看这个链接:

http://www.wiseowl.co.uk/blog/s231/schedule_data_import_in_sql_server_pt1.htm

它不会告诉你如何删除数据,你问过,但任何人都碰到这个问题的绊脚石在搜索自动导入或导出数据的从sql server到eg访问,这个链接是一个很好的开始。它显示了如何创建一个导入/导出包,更重要的是,进一步的帖子也说明了如何安排它的日常执行。