use*_*321 2 sql-server-2005 sql-server sql-server-2008-r2 varbinary
在 SQL Server 2005 和 2008 R2 中,我调用了一个存储过程,该存储过程的 out 参数定义为varbinary(max)
. 根据 .out 参数返回 10020 字节DATALENGTH
。
但是,如果我尝试定义大于 8000 字节的 varbinary,例如 varbinary(10000),则 SQL Server 会出错。例如
The size (10000) given to the type 'varbinary' exceeds the maximum allowed for any data type (8000).
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?SQL Server 如何返回超过数据类型允许的字节数?SQL Server 是否在幕后使用其他一些数据类型来保存 > 8000 字节?