问题描述
Msg 8152,Level 16,State 4,Line 1
字符串或二进制数据将被截断
经过一些研究,我尝试使用 TRACE FLAG 460,使用以下命令:
INSERT...
VALUES...
OPTION (QUERYTRACEON 460);
这给出了与之前相同的错误,所以我尝试使用以下命令在服务器级别打开标志:
DBCC TRACEON(460,-1);
同样,输出没有变化。但是当我检查 flagstatus 时,它提供了所有正确的信息:
DBCC TRACESTATUS(460);
TraceFlag Status Global Session
460 1 1 0
有谁知道如何让 Trace Flag 460 正常工作?我的服务器信息如下:
Edition: Developer Edition (64-bit)
ProductVersion: 14.0.2037.2
ResourceLastUpdateDateTime: 2020-11-02 21:20:26.783
ResourceVersion: 14.00.2037
BuildClrVersion: v4.0.30319
解决方法
你检查过documentation吗??
它清楚地说:
注意:此跟踪标志适用于 SQL Server 2017 (14.x) CU12 及更高版本 版本
这意味着 SQL Server 2017 的构建版本号必须为 14.0.3045.24 或更高 - 您似乎没有。
因此,您需要在您的机器上安装至少 CU12(或更好:最新的 CU22 - https://www.microsoft.com/en-us/download/details.aspx?id=56128)才能使其正常工作
请参阅:SQL Server 2017 build versions - 有关 SQL Server 2017(及其各种 CU)的正式版本号的所有详细信息