将 SQL 查询结果作为 txt 文件自动导出到 Azure Blob 存储

Posted

技术标签:

【中文标题】将 SQL 查询结果作为 txt 文件自动导出到 Azure Blob 存储【英文标题】:Export SQL query result as a txt file to Azure blob storage automatically 【发布时间】:2021-08-01 05:19:45 【问题描述】:

我正在尝试将查询结果导出到 Azure Blob 存储中的容器。我做了很多研究,似乎有服务可以做到这一点,但它们是付费服务;有没有什么方法可以在没有任何付费服务的情况下实现自动化?我已经可以将文件从我的计算机自动推送到存储中,但是如果我能找到一种直接执行此操作的方法,那就太好了。本质上,我想每天将一些数据提取到存储中,并可以使用浏览器或使用 Excel 进行简单下载

虚构的例子:

SELECT name, salary FROM dbo.Employees
Export to https://mystorage.blob.core.windows.net/mycontainer/myresults.txt

【问题讨论】:

我认为SSIS可以做到这一点 嗨@Ibo,如果我的回答对你有帮助,希望你能接受。这对其他社区成员可能是有益的。谢谢。 【参考方案1】:

如果您使用的是本地 SQL Server,并且想要运行将查询结果自动保存到 Blob 存储的脚本,那么 SSIS 是一个不错的解决方案。它是免费的,而且非常有效。

您可以参考本教程Azure Blob Storage Data Upload with SSIS:它教我们运行 SQL 查询并将其上传到 Blob 存储。

然后您可以安排运行带有 SQL Server 代理作业的 SSIS 包。参考本文档:How to Execute SSIS Packages from SQL Server Agent:

SSIS 确实是实现 ETL 流程的不错选择。这 典型的进程计划定期运行。 SQL 服务器 Agent 是一个很好的执行 SSIS 包的工具 安排作业在适当的时间运行。

你可以把这两个文件结合起来,达到你的目的。

【讨论】:

我正在使用 Azure DB,让我实现它,看看它是否有效,我会回复您的答案。我需要一些时间,谢谢! @Ibo 请澄清问题或添加标签 Azure SQL 数据库。 Azure SQL 不支持 sql 代理。您可能需要使用 PowerShell 创建脚本并安排运行。

以上是关于将 SQL 查询结果作为 txt 文件自动导出到 Azure Blob 存储的主要内容,如果未能解决你的问题,请参考以下文章

Python:将大型 SQL Server 查询结果导出到 .txt 文件

将 SQL 查询从 Python 导出到 txt 文件

如何将hive查询结果导出成txt文件

SQL...如何将表查询的结果自动保存到*.txt文件中?

SQL...如何将表查询的结果自动保存到*.txt文件中?

mysql命令行操作-将查询结果导出到文件