一些返回的记录的长度大于目标列的长度。增加目标列的长度。要进一步调试,请在 SQL Server 上运行以下查询。这将为您提供避免此错误所需的目标列的最小长度。
Select
max(len(definition ))
From
sys.sql_modules M
Join
(Select
name
from
sys.objects O
where
type_desc = 'SQL_SCALAR_FUNCTION')T
on
'%' + T.name + '%' Like '%' + M.definition +'%'
我注意到在用户评论后,您的模式超过了 8000 个字符的限制,因为定义列是 varchar(max) 并且必须超过 8000 个字符的长度。
'%' + T.name + '%' Like '%' + M.definition +'%'
MSDN
pattern - 是要在 match_expression 中搜索的特定字符串,并且可以包含以下有效的通配符。模式最多可以是 8,000 字节。
你可能感兴趣的是
SELECT definition
FROM sys.sql_modules AS M
JOIN
(
SELECT name
FROM sys.objects AS O
WHERE type_desc = 'SQL_SCALAR_FUNCTION'
) AS T
ON M.definition LIKE '%'+T.name+'%'