运行查询,列出所有数据库中的所有表。但是,它会挂起并且无法完成:
DECLARE @TableList TABLE ( ServerName VARCHAR(50),
DatabaseName VARCHAR(50),
SchemaName VARCHAR(50),
TableName VARCHAR(50) )
DECLARE @SQL VARCHAR(250)
SET @SQL =
'SELECT
@@SERVERNAME, ''?'', s.name, t.name
FROM
[?].sys.tables t
INNER JOIN sys.schemas s
ON t.schema_id = s.schema_id
'
INSERT INTO @TableList
EXEC sp_msforeachdb @SQL
SELECT * FROM @TableList
WHERE TableName LIKE '%%'
ORDER BY DatabaseName, SchemaName, TableName
如果我更改代码的动态SQL部分以选择TOP 350行,则代码完成。然而,除此之外(甚至是1),查询将挂起。
有什么想法吗?
答案 0 :(得分:0)
完美无瑕,无需任何改变。你有一些特定的错误吗?我有一个错误引用databasename,因为我们的一些数据库有超过50个char名称。也许这就是你遇到的问题之一。
可能是锁定/阻止问题?