More SQL Server 2005 FAQs

I found a few more answers to some questions that came up during the ISV Community Days Tour.

Q. Will there be an XML data type in SQL Mobile?
A. No. In Beta 2 there is not an XML data type. If you replicate a SQL Server table with a XML datatype it converts it to ntext in the SQL Mobile database. You can see more information at the end of this article.

Q. Can you index a managed UDT column? If so, does it index on what the implemented ToString() provides?
A. Yes; we can define constraints on UDTs (PKs, FKs): constraints are implemented with indexes; the “key” is created with the serialized value; when you create the UDT, you must define how the value is going to be serialized: Format.Native or Format.UserDefined. If you select UserDefined format, you must implement the Sql.IBinarySerialize interface coding the methods Read and Write to serializate and deserializate the value. You can create an index on the column, as long as SQL knows which value to index, and this is what you decide when you select how to serialize the UDT.

Q. I’ve heard that Intellisense is gone, will we see it back in any form? Maybe for just T-SQL or system sprocs?
A. It was dropped when Beta2 came; I think we will not have it in any form.

Q. I’ve been hearing scary things about the scalability of managed UDTs – anything public on this yet? Some students are thinking that since Microsoft dropped ObjectSpaces, this is an alternative.
A. We must think about UDT as an extension of scalar types (date, time, points and so); we should not think of UDT as extension of business objects (Employee, Address, Contact,…). For this release, CLR UDTs are meant to be a mechanism to create new scalar data types, not complex objects, so it is NOT a replacement for ObjectSpaces. Balaji published a white paper which talks about this.