我在 Sql Server 2012 上运行了多个数据库。
我必须在此服务器上运行一个大型导入脚本。导入脚本包装了一个事务。它还调用链接的 Sql Server 2008 服务器以提取数据。
当我运行这个导入脚本时,其他数据库对所有请求都超时。
调试此问题的最佳方法是什么?
我在 Sql Server 2012 上运行了多个数据库。
我必须在此服务器上运行一个大型导入脚本。导入脚本包装了一个事务。它还调用链接的 Sql Server 2008 服务器以提取数据。
当我运行这个导入脚本时,其他数据库对所有请求都超时。
调试此问题的最佳方法是什么?
所有请求的其他数据库超时
SQL Server 不会使请求超时。是你的客户端中止,通常是因为SqlCommand.CommandTimeout
默认的30秒。话虽如此,您仍然有性能问题,因此请将其作为性能问题进行调查。阅读等待和队列以了解如何识别 SQL Server 中的瓶颈。阅读数据加载性能指南以了解如何正确导入(提示:它不会是“事务中的大量导入”)。
这与“锁定”无关。
将问题追溯到服务器的 RAM 非常低。添加了更多 RAM,导入可以正常完成,所有其他数据库都可以运行而不会受到影响。