While 99% of what you do in SQL is supported in SQL Azure, there is a small list of things you’ll have to redesign, or at least reconsider before implementing your code on SQL Azure. The following is a list of items that are well documented, but I want to create a more complete list. If you run into problems in your SQL Azure installation, let me know about them. By learning these incompatibilities before you go into a new project, you should be able to save yourself some time. You’ll be able to go right to the problem, and create corrections, or workarounds to get the job done.
Without further ado, the list:
SQL Server 2008 Features Not Supported by SQL Azure
- Change Data Capture
- Data Auditing
- Data Compression
- Extended Events
- External Key Management / Extensible Key Management
- FILESTREAM Data
- Integrated Full-Text Search
- Large User-Defined Aggregates (UDAs)
- Large User-Defined Types (UDTs)
- Performance Data Collection (Data Collector)
- Policy-Based Management
- Resource Governor
- Sparse Columns
- Spatial data with GEOGRAPHY and GEOMETRY data types
- SQL Server Replication
- Transparent Data Encryption
SQL Server 2005 Features Not Supported by SQL Azure
- Common Language Runtime (CLR) and CLR User-Defined Types
- Database Mirroring
- Service Broker
- Table Partitioning
- Typed XML and XML indexing is not supported. The XML data type is supported by SQL Azure.
Other SQL Server Features Not Supported by SQL Azure
- Backup and Restore
- Extended Stored Procedures
- WITH (NOLOCK), and possibly other locking hints
I’m continuing to build out a new web service on top of SQL Azure. During that process I’ll continue to add to this list. I’ve already shared some problems I’ve run into with simply using the Import and Export wizard. My current step has be building a SSIS package to read in XML data from a published datasource and write the results to my SQL Azure instance. So far, the issues I’ve found are more to do with the XML than with SQL Azure.
If you’re in the middle of a project that includes SQL Azure, what problems have you found? Send them in, and we can discuss them and develop workarounds together!