Fun with SQL Server sys.messages

Oopps! Upgrade your browser pretty please. Oopps! Upgrade your browser pretty please.

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:

(Columns are: message_id, language,severity, is_event_logged and text)

35412	1033	16	0	CloudDB Async Transport
35413	1033	16	0	CloudDB Async Transport Forwarder
40147	1033	16	0	Stored procedure '%.*ls' is only for CloudDB.
40166	1033	16	0	A CloudDB reconfiguration is going on and all new user transactions are aborted. 
40167	1033	21	1	A paired CloudDB fabric node failed and database %d must be shutdown. 
40572	1033	16	0	Cannot obtain primary partition lock for CloudDB auto partition upgrade.
40573	1033	16	0	Cannot upgrade CloudDB auto partitions in database '%.*ls' because the physical database is read only.

Here are some some more samples:

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