t-sql - 针对 INFORMATION_SCHEMA 的查询超时

标签 t-sql timeout sql-server-2000 information-schema

我正在使用 SQL Server 2008 Management Studio 连接到 SQL Server 2000。

use [MyPrettyDb]
select top 19 * from information_schema.tables

它工作得很好,很甜蜜,而且很快。但这:

select top 20 * from information_schema.tables

超时停止。

超时的原因是什么?

附注select count(*) from information_schema.tables 返回很快;数据库中有334张表。

最佳答案

您可能被事务内运行的 DDL 语句阻止。运行 DBCC OPENTRANsp_lock 来确定哪个 session 负责此操作。

您可以通过运行以下脚本来重现此内容。

USE TEMPDB
GO

BEGIN TRAN
CREATE tABLE ttt(id int)

在另一个 session 中,运行

SELECT TOP 5 * FROM INFORMATION_SCHEMA.TABLES --will work

SELECT  * FROM INFORMATION_SCHEMA.TABLES --will not work

关于t-sql - 针对 INFORMATION_SCHEMA 的查询超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11512591/

相关文章:

xml - SQL Server 查询返回 Xml 和 Html

perl - 为什么 Perl 的 Crypt::SSLeay 在 Intel Mac OS X 机器上超时?

tsql - 如何计算SQL Server 2000 中对象的数量并获取其修改日期?

sql-server - 将临时表中的多个值插入到表中

SQL Server 2000 相当于 GROUP_CONCAT 函数

sql - 为什么对 @@rowcount 的两次调用会返回两个不同的值?

t-sql - TSQL 2个可选参数

sql - 修改多条件情况下的选择查询

android - 下载文件超时

c# - .net + SQL + 超时问题