Fun with SQL Server sys.messages

Sometimes I like to poke around inside SQL Server just for fun. Today I looked at the differences between SQL Server 2008R2 and SQL Server 2012 errormessages, located in sys.messages. I used the following query:

SELECT * FROM sys.messages WHERE language_id = 1033
AND message_id NOT IN(SELECT message_id FROM [localhostsql2008r2].MASTER.sys.messages WHERE language_id = 1033)

That gave me 1616 rows back, but I suspect that some of these errormessages are not really new in SQL 2012, but rater have a new message_id. But, there are plenty of interesting messages left anyway, giving insight to functionality and maybe giving ideas. Many of the are related to SQL Azure, and are probably present because SQL Server and SQL Azure shares the same codebase.

Here are some that indicates that SQL Azure might have been called CloudDB internally:

687 1033 16 0 Cannot compress a nchar or nvarchar column that has an odd number of bytes.
1482 1033 10 0 Database mirroring failed to get snapshot synchrinization lock.
1793 1033 16 0 Cannot federate a temporary table.
1795 1033 16 0 Nullable column '%.*ls' cannot be used to federate the table '%.*ls'.
1796 1033 16 0 Computed column '%.*ls' cannot be used to federate the table '%.*ls'.
1797 1033 16 0 Sparse column '%.*ls' cannot be used to federate the table '%.*ls'.
1798 1033 16 0 Federated tables cannot be created in a non-federated database.
1799 1033 16 0 Column '%.*ls' cannot be used to federate the table '%.*ls' because it does not match the federation key type.
1841 1033 16 0 CREATE DATABASE failed. CONTAINMENT clause cannot be used with the FOR ATTACH option.
4190 1033 16 0 PIVOT operator is not allowed in the recursive part of a recursive common table expression '%.*ls'.
4194 1033 15 0 RANGE is only supported with UNBOUNDED and CURRENT ROW window frame delimiters.
5287 1033 10 0 DBCC THROWERROR bypass exception. This is an informational message only. No user action is required.
5284 1033 16 0 The replicated index '%.*ls' (object ID %d) and one or more of its clones do not contain the same rows.
5283 1033 10 0 The Cross Rowset check on columnstore index object ID %d, index ID %d, partition ID %I64d. Drop and recreate the columnstore index.
5901 1033 16 0 One or more recovery units belonging to database '%.*ls' failed to generate a checkpoint. This is typically caused by lack of system resources such as disk or memory, or in some cases due to database corruption. Examine previous entries in the error log for more detailed information on this failure.
8658 1033 17 0 Cannot start the columnstore index build because it requires at least %I64d KB, while the maximum memory grant is limited to %I64d KB per query in workload group '%ls' (%ld) and resource pool '%ls' (%ld). Retry after modifying columnstore index to contain fewer columns, or after increasing the maximum memory grant limit with Resource Governor.
8659 1033 16 0 Cannot create the clustered index "%.*ls" on view "%.*ls" because for clustered indexes on aggregate views without GROUP BY, the only distribution option supported is DISTRIBUTION=NONE.
8674 1033 16 0 The query processor is unable to produce a plan. The table '%.*ls' is unavailable because the heap is corrupted. Take the database offline to rebuild the table and heap, and then run the query processor again.
8675 1033 17 1 A timeout occurred while waiting for remote memory resources to execute the query in resource pool '%ls' (%ld). Rerun the query.
8676 1033 16 0 Invalid plan.
10146 1033 16 0 Cannot create %S_MSG on the view '%.*ls' because it uses the SEMANTICSIMILARITYTABLE, SEMANTICKEYPHRASETABLE or SEMANTICSIMILARITYDETAILSTABLE function.
10746 1033 15 0 The FORCESCAN hint is specified simultaneously with the FORCESEEK hint. Remove one of the hints and resubmit the query.
10747 1033 15 0 The parameterized FORCESEEK hint cannot be simultaneously used with INDEX hints or a non-parameterized FORCESEEK hint on the same object. Use either INDEX hints and a non-parameterized FORCESEEK hint or use a parameterized FORCESEEK hint without INDEX hints for each table or view.
10748 1033 15 0 There are multiple FORCESEEK hints specified on the same table or view. Remove the extra FORCESEEK hints and resubmit the query.
10749 1033 15 0 The FORCESEEK hint cannot be used with index 0. Correct the index provided to the FORCESEEK hint and resubmit the query.
10750 1033 15 0 The FORCESCAN hint cannot be used with more than one INDEX hint. Remove the extra INDEX hints and resubmit the query.
12104 1033 15 0 ALTER DATABASE CURRENT failed because '%.*ls' is a system database. System databases cannot be altered by using the CURRENT keyword. Use the database name to alter a system database.
33426 1033 16 0 INSERT, UPDATE, DELETE, or MERGE to FileTable '%.*ls' is not allowed inside a trigger on a FileTable.
35217 1033 16 0 The thread pool for AlwaysOn Availability Groups was unable to start a new worker thread because there are not enough available worker threads. This may degrade AlwaysOn Availability Groups performance. Use the "max worker threads" configuration option to increase number of allowable threads.
35223 1033 16 0 Cannot add %d availability replica(s) to availability group '%.*ls'. The availability group already contains %d replica(s), and the maximum number of replicas supported in an availability group is %d.
35225 1033 16 0 Could not process the operation. The instance of SQL Server is running under WOW64 (Windows 32-bit on Windows 64-bit), which does not support AlwaysOn Availability Groups. Reinstall SQL Server in the native 64-bit edition, and re-enable AlwaysOn Availability Groups. Then, restart the SQL Server service, and retry the operation. For information about how to enable and disable AlwaysOn Availability Groups, see SQL Server Books Online.
35226 1033 16 0 Could not process the operation. AlwaysOn Availability Groups has not started because the instance of SQL Server is not running as a service. Restart the server instance as a service, and retry the operation.
35239 1033 16 0 The ALTER DATABASE SET HADR SUSPEND (or SET HADR RESUME) statement failed on database '%.*ls' of availability group '%.*ls''. Either the availability group does not contain the specified database, or the database has not joined the availability group, or the database has not yet started. Reenter the command after the database is online and has joined the availability group.'
35260 1033 16 0 During an attempted database recovery, an availability database manager was not found for database id %d with availability group ID %d and group database ID %ls. Recovery was terminated. The most likely cause of this error is that the availability group manager is not running, but the cause could be a metadata error. Ensure that the availability group manager and the WSFC cluster are started, and retry the recovery operation.
35261 1033 16 0 Attempt to perform an AlwaysOn Availability Groups operation on a system database, '%ls', failed. System databases are not supported by AlwaysOn Availability Groups.
35262 1033 17 1 Skipping the default startup of database '%.*ls' because the database belongs to an availability group (Group ID: %d). The database will be started by the availability group. This is an informational message only. No user action is required.
35263 1033 16 0 During the undo phase, a function call (%ls) to the primary replica returned an unexpected status (Code: %d). Check for a possible cause in the SQL Server error log for the primary replica. If an error occurred on the primary database, you might need to suspend the secondary database, fix the issue on the primary database, and then resume the database.
35264 1033 10 0 AlwaysOn Availability Groups data movement for database '%.*ls' has been suspended for the following reason: "%S_MSG" (Source ID %d; Source string: '%.*ls'). To resume data movement on the database, you will need to resume the database manually. For information about how to resume an availability database, see SQL Server Books Online.
35265 1033 10 0 AlwaysOn Availability Groups data movement for database '%.*ls' has been resumed. This is an informational message only. No user action is required.
35266 1033 10 0 AlwaysOn Availability Groups connection with %S_MSG database established for %S_MSG database '%.*ls' on the availability replica with Replica ID: {%.8x-%.4x-%.4x-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x}. This is an informational message only. No user action is required.
35267 1033 10 0 AlwaysOn Availability Groups connection with %S_MSG database terminated for %S_MSG database '%.*ls' on the availability replica with Replica ID: {%.8x-%.4x-%.4x-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x}. This is an informational message only. No user action is required.
35301 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot be unique. Create the columnstore index without the UNIQUE keyword or create a unique index without the COLUMNSTORE keyword.
35302 1033 15 0 CREATE INDEX statement failed because specifying sort order (ASC or DESC) is not allowed when creating a columnstore index. Create the columnstore index without specifying a sort order.
35305 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot be created on a view. Consider creating a columnstore index on the base table or creating an index without the COLUMNSTORE keyword on the view.
35307 1033 15 0 CREATE INDEX statement failed because column '%.*ls' on table '%.*ls' is a computed column and a columnstore index cannot be created on a computed column. Consider creating a nonclustered columnstore index on a subset of columns that does not include the column.
35308 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot be a filtered index. Consider creating a columnstore index without the predicate filter.
35309 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot be created on a sparse column. Consider creating a nonclustered columnstore index on a subset of columns that does not include any sparse columns.
35311 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot have included columns. Create the columnstore index on the desired columns without specifying any included columns.
35312 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot be created on a column with filestream data. Consider creating a nonclustered columnstore index on a subset of columns that does not include any columns with filestream data.
35313 1033 15 0 CREATE INDEX statement failed because specifying FILESTREAM_ON is not allowed when creating a columnstore index. Consider creating a columnstore index on columns without filestream data and omit the FILESTREAM_ON specification.
35314 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot be created on a column set. Consider creating a nonclustered columnstore index on a subset of columns in the table that does not contain a column set or any sparse columns.
35315 1033 15 0 CREATE INDEX statement failed because a columnstore index cannot be created in this edition of SQL Server. See Books Online for more details on feature support in different SQL Server editions.
35316 1033 15 0 CREATE INDEX statement failed because a columnstore index must be partition-aligned with the base table. Create the columnstore index using the same partition function and same (or equivalent) partition scheme as the base table. If the base table is not partitioned, create a nonpartitioned columnstore index.
35317 1033 15 0 CREATE INDEX statement failed because specifying %S_MSG is not allowed when creating a columnstore index. Consider creating a columnstore index without specifying %S_MSG.
35318 1033 15 0 CREATE INDEX statement failed because the %S_MSG option is not allowed when creating a columnstore index. Create the columnstore index without specifying the %S_MSG option.
35320 1033 15 0 CREATE INDEX statement failed because specifying DATA_COMPRESSION is not allowed when creating a columnstore index. Consider creating a columnstore index without specifying DATA_COMPRESSION. Columnstore indexes are always compressed automatically.
35325 1033 15 0 ALTER TABLE statement failed because the definition of a column cannot be changed if the column is part of a columnstore index. Consider dropping the columnstore index, altering the column, then creating a new columnstore index.
35326 1033 15 0 ALTER INDEX statement failed because a columnstore index cannot be reorganized. Reorganization of a columnstore index is not necessary.
35327 1033 15 0 ALTER INDEX REBUILD statement failed because specifying %S_MSG is not allowed when rebuilding a columnstore index. Rebuild the columnstore index without specifying %S_MSG.
35328 1033 15 0 ALTER INDEX REBUILD statement failed because the %S_MSG option is not allowed when rebuilding a columnstore index. Rebuild the columnstore index without specifying the %S_MSG option.
35329 1033 15 0 ALTER INDEX REBUILD statement failed because specifying DATA_COMPRESSION is not allowed when rebuilding a columnstore index. Rebuild the columnstore index without specifying DATA_COMPRESSION. Columnstore indexes are always compressed automatically.
35330 1033 16 0 %S_MSG statement failed because data cannot be updated in a table with a columnstore index. Consider disabling the columnstore index before issuing the %S_MSG statement, then rebuilding the columnstore index after %S_MSG is complete.
35334 1033 15 0 DBCC DBREINDEX failed because specifying FILLFACTOR is not allowed when creating or rebuilding a columnstore index. Rebuild the columnstore index without specifying FILLFACTOR.
35336 1033 15 0 CREATE INDEX statement failed because specifying key list is missing when creating an index. Create the index with specifying key list .
35337 1033 16 0 UPDATE STATISTICS failed because statistics cannot be updated on a columnstore index. UPDATE STATISTICS is valid only when used with the STATS_STREAM option.
35338 1033 16 0 Clustered columnstore index is not supported.
35339 1033 16 0 Multiple nonclustered columnstore indexes are not supported.
35340 1033 16 0 Conversion between columnstore index and relational index is not supported.
35341 1033 16 0 CREATE INDEX statement failed. A columnstore index cannot include a decimal or numeric data type with a precision greater than 18. Reduce the precision of column '%.*ls' to 18 or omit column '%.*ls'.
35342 1033 16 0 CREATE INDEX statement failed. A columnstore index cannot include a datetimeoffset data type with a precision greater than 2. Reduce the precision of column '%.*ls' to 2 or omit column '%.*ls'.
35343 1033 15 0 CREATE INDEX statement failed. Column '%.*ls'has a data type that cannot participate in a columnstore index. Omit column '%.*ls'.
35344 1033 16 0 MERGE clause of ALTER PARTITION statement failed because two nonempty partitions containing a columnstore index cannot be merged. Consider disabling the columnstore index before issuing the ALTER PARTITION statement, then rebuilding the columnstore index after ALTER PARTITION is complete.
35345 1033 16 0 MERGE clause of ALTER PARTITION statement failed because two partitions on different filegroups cannot be merged if either partition contains columnstore index data. Consider disabling the columnstore index before issuing the ALTER PARTITION statement, then rebuilding the columnstore index after ALTER PARTITION is complete.
35346 1033 16 0 SPLIT clause of ALTER PARTITION statement failed because the partition is not empty. Only empty partitions can be split in when a columnstore index exists on the table. Consider disabling the columnstore index before issuing the ALTER PARTITION statement, then rebuilding the columnstore index after ALTER PARTITION is complete.
35347 1033 16 0 The stored procedure, sp_tableoption failed because a table with a nonclustered columnstore index cannot be altered to use vardecimal storage format. Consider dropping the columnstore index.
35348 1033 16 0 CREATE INDEX statement failed because table '%.*ls' uses vardecimal storage format. A columnstore index cannot be created on a table using vardecimal storage. Consider rebuilding the table without vardecimal storage.
35349 1033 16 0 TRUNCATE TABLE statement failed because table '%.*ls' has a columnstore index on it. A table with a columnstore index cannot be truncated. Consider dropping the columnstore index then truncating the table.
35350 1033 16 0 CREATE INDEX statement failed because a columnstore index on a partitioned table must be partition-aligned with the base table. Consider dropping the columnstore index before creating a new clustered index.
35351 1033 16 0 DROP INDEX statement failed because a columnstore index on a partitioned table must be partition-aligned with the base table (heap). Consider dropping the columnstore index before dropping a clustered index.
35352 1033 16 0 %S_MSG statement failed because the operation cannot be performed online on a table with a columnstore index. Perform the operation without specifying the ONLINE option or drop (or disable) the columnstore index before performing the operation using the ONLINE option.
35353 1033 16 0 %s cannot be enabled on a table with a columnstore index. Consider dropping columnstore index '%s' on table '%s'.
35354 1033 16 0 CREATE INDEX statement failed because a columnstore index cannot be created on a table enabled for %S_MSG. Consider disabling %S_MSG and then creating the columnstore index.
35355 1033 16 0 CREATE INDEX statement failed. Column '%.*ls' is either a primary key or a partitioning key that must be included, but a columnstore index cannot include a decimal or numeric data type with a precision greater than 18. Consider reducing the precision of column '%.*ls' to 18.
35356 1033 16 0 CREATE INDEX statement failed. Column '%.*ls' is either a primary key or a partitioning key that must be included, but a columnstore index cannot include a datetimeoffset data type with a precision greater than 2. Consider reducing the precision of column '%.*ls' to 2.
35357 1033 15 0 CREATE INDEX statement failed. Column '%.*ls' is either a primary key or a partitioning key that must be included, but '%.*ls'has a data type that cannot participate in a columnstore index.
40014 1033 16 0 Multiple databases can not be used in the same transaction.
40034 1033 16 0 CSN being added must be equal last CSN+1. The new CSN is (%d,%I64d), the current CSN is (%d,%I64d).
40131 1033 16 0 Partition key type '%.*ls' is not supported. Only BIGINT, UNIQUEIDENTIFIER, and VARBINARY(n) (0