1 Introduction

The SQL Server CLR types serialization formats are the binary formats of the GEOGRAPHY, GEOMETRY, HIERARCHYID, and common language runtime (CLR) user-defined type (UDT) structures that are managed by the protocol server. The protocol server provides the geography, geometry, and hierarchyid protocol server data types as well as the CLR UDTs that use these structures.

The geography and geometry protocol server data types implement the OpenGIS Consortium’s (OGC) Simple Feature Specification (SFS) [OGCSFS] section 8. Thus, the content of these structures closely mirrors the SFS.

The hierarchyid protocol server data type represents a position in a certain hierarchy. The content of an individual entry of this data type within a column of hierarchyid data does not represent a hierarchy tree, and therefore it is the application that needs to generate and assign values in such a way that will represent the desired relationship between rows in the column.

CLR UDTs enable users to extend the protocol server type system by creating new types. These types can include any fields and methods defined by the user. The exact structure depends on the user who is implementing CLR UDTs. The protocol client program has to contain the knowledge of the internal structure of each CLR UDT before it can read that type’s binary format.

Sections 1.7 and 2 of this specification are normative. All other sections and examples in this specification are informative.