结果集数据作为文本/ CSV文件上载到azure存储位置

时间:2018-06-11 04:16:10

标签: sql-server azure azure-sql-database azure-storage-blobs

我们如何将特定选择查询的结果集导出到Azure存储位置的文件(CSV / TEXT)中?是否有可能使用SQL实现,或者是否已经实现了相同的维护机制,如维护计划?我需要类似代码必须能够创建一个文件,该文件具有执行特定选择查询的结果集,并且必须上传到给定的azure存储位置。

我正在寻找以下方案。 我想从重载表中删除一些数据并将这些数据导出到CSV或TXT文件中,该文件需要上传到azure blob存储位置,此位置应定期执行此任务。我必须能够在同一个实例中为多个表配置多个数据库。

1 个答案:

答案 0 :(得分:0)

您可以使用Azure数据工厂及其Copy Activity将查询结果导出为位于Azure存储上的CSV文件。

复制活动可能类似于以下内容:

{  
    "name":"SamplePipeline",
    "properties":{  
    "start":"2014-06-01T18:00:00",
    "end":"2014-06-01T19:00:00",
    "description":"pipeline for copy activity",
    "activities":[  
      {
        "name": "AzureSQLtoBlob",
        "description": "copy activity",
        "type": "Copy",
        "inputs": [
          {
            "name": "AzureSQLInput"
          }
        ],
        "outputs": [
          {
            "name": "AzureBlobOutput"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "SqlSource",
            "SqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
          },
          "sink": {
            "type": "BlobSink"
          }
        },
       "scheduler": {
          "frequency": "Hour",
          "interval": 1
        },
        "policy": {
          "concurrency": 1,
          "executionPriorityOrder": "OldestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
     ]
   }
}

您会找到更多详情here