如何从 Azure SQL 服务器设置自动 CSV 导出作业?

How do I set up an automated CSV export job from Azure SQL Server?

在本地 SQL 服务器中,我可以选择使用 SQL 服务器代理设置预定作业。 Azure 中不存在此功能。有什么方法可以在 Azure 中轻松完成此操作,还是我必须为此依赖自动化脚本/powershell 脚本?

我要完成的任务是将一堆 SQL 视图导出到 CSV 并将它们发送到远程 FTP 服务器。

一个选项是使用 Azure 数据工厂并创建一个使用 Azure SQL Database as a source and SFTP as a sink. Use copy activity to copy data from any supported data store to your SFTP server located on-premises or in the cloud. You can schedule execution on Azure Data Factory as shown here.

的副本 activity

另一种选择是将 Azure 逻辑应用程序与 Azure SQL Database connector and FTP connector to access/manage SQL Database and FTP server. You can create, schedule, and run recurring tasks with Azure Logic Apps as shown here.

结合使用

在 Azure 中,通过 Logic Apps,您可以实现这一点。请检查以下步骤。

  1. 转到 Azure 门户 ( http://portal.azure.com/ ) 并搜索 Logic Apps.
  2. 单击添加并填写详细信息,例如逻辑应用程序名称订阅资源组位置并单击创建
  3. 刷新页面后,点击Created Logic App。在主页中,选择 Blank Logic App
  4. 在逻辑应用程序设计器页面中,搜索 ScheduleRecurrence 并单击它。
  5. 填写间隔、频率、时区(格式很重要——2018-10-16T21:00:00Z)、开始时间、这些小时、这些分钟、检查预览。
  6. 选择一个操作,搜索SQL服务器并单击执行存储过程 在列表中。
  7. 如果要创建新连接,请单击末尾的添加新连接。然后如果要创建新连接,请在最后单击“手动输入连接信息”
  8. 或者使用任何现有连接。在过程名称中填写所需的SP,下面是您选择的SP的输入参数。
  9. 选择一个操作,搜索创建 CSV Table 并单击它。填写From(选择右边的动态结果集side-Choose单独第一个结果集),Include Headers(是),Columns(自动)。
  10. 选择一个操作,搜索 Office 365 Outlook 并搜索发送电子邮件并单击它。在继续之前,请检查底部的邮件 ID。换成你的。填写 To (zzzzzz@xxxxxx.com;zzzzz@xxxxx.com), Subject (Demo mail), Body (Please check the test attachment), From & CC & BCC (email id's for whom您要发送),重要(正常),是 HTML(否),附件名称 {从右侧选择表达式并键入 concat('Test_mail',utcnow('dd-MM-yyyy'),'.csv') }, 附件内容(从右侧选择输出)。
  11. 最后点击左上角的保存。点击Designer选项进行编辑,编辑完成后再次保存。单击 运行 进行演示 运行。 点击运行启动触发器。那么只有自动邮件应该按照提到的时间间隔发送。 Select Required Logic App 然后点击 Delete 将其删除(会询问要删除的 Logic App 名称)。 您应该有权执行上述更改,并且您必须登录才能打开 Azure 门户。