1

我有一个正在运行的 Azure Sql 数据仓库的预览版,它运行良好,直到我通过 BCP 导入了一个大表(~80 GB)。现在包括小表在内的所有表都不响应一个简单的查询

 select * from <MyTable>

对 Sys 表的查询仍在工作。

select * from sys.objects

BCP 流程是在周末结束的,所以现在应该已经完成​​了所有统计信息更新。有没有办法弄清楚是什么导致了这种情况发生?或者至少当前正在运行什么以查看是否有任何阻塞?

我正在使用 SQL Server Management Studio 2014 连接到数据仓库并执行查询。

4

2 回答 2

2

@user5285420 - 运行下面的代码以更好地了解正在发生的事情。您应该能够通过查看“命令”列中的值轻松找到查询。您能否确认查询步骤全部完成后,BCP 命令是否仍显示为 status="Running"?

select top 50
            (case when requests.status = 'Completed' then 100
            when progress.total_steps = 0 then 0
            else 100 * progress.completed_steps / progress.total_steps end) as progress_percent,
            requests.status, 
            requests.request_id, 
            sessions.login_name, 
            requests.start_time, 
            requests.end_time, 
            requests.total_elapsed_time, 
            requests.command,             
            errors.details,
            requests.session_id,
            (case when requests.resource_class is NULL then 'N/A'
            else requests.resource_class end) as resource_class,
            (case when resource_waits.concurrency_slots_used is NULL then 'N/A'
            else cast(resource_waits.concurrency_slots_used as varchar(10)) end) as concurrency_slots_used

            from sys.dm_pdw_exec_requests AS requests

            join sys.dm_pdw_exec_sessions AS sessions
                    on (requests.session_id = sessions.session_id)
            left join sys.dm_pdw_errors AS errors
                on (requests.error_id = errors.error_id)
            left join sys.dm_pdw_resource_waits AS resource_waits
                on (requests.resource_class = resource_waits.resource_class)
            outer apply (
                select count (steps.request_id) as total_steps,
                    sum (case when steps.status = 'Complete' then 1 else 0 end ) as completed_steps
                from sys.dm_pdw_request_steps steps where steps.request_id = requests.request_id
            ) progress

            where requests.start_time >= DATEADD(hour, -24, GETDATE())

            ORDER BY requests.total_elapsed_time DESC, requests.start_time DESC
于 2015-08-31T20:44:38.780 回答
-2

从https://portal.azure.com/检查资源利用率和可能的其他问题

您还可以从 SSMS 运行 sp_who2 以获取哪些线程处于活动状态以及是否存在导致问题的疯狂阻塞链的快照。

于 2015-08-31T18:40:27.033 回答