大型 CLR 使用者定義型別
適用於:SQL Server
Azure SQL 資料庫 Azure SQL 受控執行個體
Azure Synapse Analytics
Platform System (PDW)
在 SQL Server 2005,Common Language Runtime (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 的內容,但不必具現化 Managed 物件。 如果是這種情況,您可以使用自訂序列化,將伺服器上的 UDT 值轉換為用戶端熟知的格式。
對於擁有現有資料存取程式碼的應用程式,您可以透過原生 API 擷取 UDT,並使用混合模式應用程式中的 C++ CLI Interop 進行具現化,藉以利用用戶端上的 CLR UDT 行為。