大型 CLR 用户定义类型
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)
在 SQL Server 2005 中,公共语言运行时 (CLR) 中的用户定义类型 (UDT) 已限制为最大 8,000 字节。 这一限制在 SQL Server 2008 (10.0.x) 和更高版本中已取消。 CLR UDT 现在以针对大型对象 (LOB) 类型的类似方式处置。 也就是说,小于或等于 8,000 字节的 UDT 在行为上与 SQL Server 2005 中相同,但支持更大的 UDT 并且将其大小报告为“无限制”。
有关详细信息,请参阅大型 CLR 用户定义类型 (OLE DB)。
用例
对于 OLE DB,对大型 UDT 的支持包括能够通过使用 ISequentialStream 绑定在服务器之间传送 UDT 值。
小于或等于 8,000 字节的 UDT 在行为上与 SQL Server 2005 中相同。 对于 OLE DB,仍可以通过使用 ISequentialStream 绑定来流式传输小型 UDT。
有时候,本机代码将必须理解 CLR UDT 的内容,但将不必实例化托管对象。 在此情况下,您可以使用自定义序列化将服务器上的 UDT 值转换为客户端的已知格式。
对于具有现有数据访问代码的应用程序,您可以通过在本机 API 中检索 UDT 并通过在混合模式应用程序中使用 C++ CLI interop 实例化它们,在客户端上利用 CLR UDT 行为。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈