Home | User-Defined Functions | Tips & Tricks | SQL Server 2005 | Forums | Frequently Asked Questions | Practice Test |    
Home > SQL Server Error Messages > Errors 1 - 500
SQL Server Error Messages - Errors 1 - 500

SQL Server Error Messages - Errors 1 - 500

A message number uniquely identifies each error message and the error message text describes the problem.  The error message text often includes placeholders for information (such as object names) to be inserted in the error message when it is displayed.  Unfortunately, the error message text does not tell you how to solve or work around the problem.  In this series of Error Messages list, we will try to provide you with ways on how to overcome or work around certain error messages.

Some error messages are self-explanatory and can easily be fixed, such as "Invalid object name".  Others are harder to fix or work around, especially by those who are new to SQL Server.  It is the intent of this page and succeeding pages (to come) to assist you in addressing or working around SQL Server error messages.

Error Severity Description
1 10 Version date of last upgrade: 10/11/90.
21 10 Warning: Fatal error %d occurred at %S_DATE. Note the error and time, and contact your system administrator.
102 15 Incorrect syntax near '%.*ls'.
103 15 The %S_MSG that starts with '%.*ls' is too long. Maximum length is %d.
104 15 ORDER BY items must appear in the select list if the statement contains a UNION operator.
105 15 Unclosed quotation mark before the character string '%.*ls'.
106 16 Too many table names in the query. The maximum allowable is %d.
107 15 The column prefix '%.*ls' does not match with a table name or alias name used in the query.
108 15 The ORDER BY position number %ld is out of range of the number of items in the select list.
109 15 There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
110 15 There are fewer columns in the INSERT statement than values specified in the VALUES clause.  The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
111 15 '%ls' must be the first statement in a query batch.
112 15 Variables are not allowed in the %ls statement.
113 15 Missing end comment mark '*/'.
114 15 Browse mode is invalid for a statement that assigns values to a variable.
116 15 Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
117 15 The %S_MSG name '%.*ls' contains more than the maximum number of prefixes. The maximum is %d.
118 15 Only members of the sysadmin role can specify the %ls option for the %ls statement.
119 15 Must pass parameter number %d and subsequent parameters as '@name = value'. After the form '@name = value' has been used, all subsequent parameters must be passed in the form '@name = value'.
120 15 The select list for the INSERT statement contains fewer items than the insert list. The number of SELECT values must match the number of INSERT columns.
121 15 The select list for the INSERT statement contains more items than the insert list. The number of SELECT values must match the number of INSERT columns.
122 15 The %ls option is allowed only with %ls syntax.
123 15 Batch/procedure exceeds maximum length of %d characters.
124 15 CREATE PROCEDURE contains no statements.
125 15 Case expressions may only be nested to level %d.
128 15 The name '%.*ls' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.
129 15 Fillfactor %d is not a valid percentage; fillfactor must be between 1 and 100.
130 16 Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
131 15 The size (%d) given to the %S_MSG '%.*ls' exceeds the maximum allowed for any data type (%d).
132 15 The label '%.*ls' has already been declared. Label names must be unique within a query batch or stored procedure.
133 15 A GOTO statement references the label '%.*ls' but the label has not been declared.
134 15 The variable name '%.*ls' has already been declared. Variable names must be unique within a query batch or stored procedure.
135 15 Cannot use a BREAK statement outside the scope of a WHILE statement.
136 15 Cannot use a CONTINUE statement outside the scope of a WHILE statement.
137 15 Must declare the variable '%.*ls'.
138 15 Correlation clause in a subquery not permitted.
139 15 Cannot assign a default value to a local variable.
140 15 Can only use IF UPDATE within a CREATE TRIGGER statement.
141 15 A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations.
142 15 Incorrect syntax for definition of the '%ls' constraint.
143 15 A COMPUTE BY item was not found in the order by list. All expressions in the compute by list must also be present in the order by list.
144 15 Cannot use an aggregate or a subquery in an expression used for the group by list of a GROUP BY clause.
145 15 ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
146 15 Could not allocate ancillary table for a subquery. Maximum number of tables in a query (%d) exceeded.
147 15 An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.
148 15 Incorrect time syntax in time string '%.*ls' used with WAITFOR.
149 15 Time value '%.*ls' used with WAITFOR is not a valid value. Check date/time syntax.
150 15 Both terms of an outer join must contain columns.
151 15 '%.*ls' is an invalid money value.
153 15 Invalid usage of the option %.*ls in the %ls statement.
154 15 %S_MSG is not allowed in %S_MSG.
155 15 '%.*ls' is not a recognized %ls option.
156 15 Incorrect syntax near the keyword '%.*ls'.
157 15 An aggregate may not appear in the set list of an UPDATE statement.
159 15 For DROP INDEX, you must give both the table and the index name, in the form tablename.indexname.
160 15 Rule does not contain a variable.
161 15 Rule contains more than one variable.
163 15 The compute by list does not match the order by list.
164 15 GROUP BY expressions must refer to column names that appear in the select list.
165 16 Privilege %ls may not be granted or revoked.
166 15 'CREATE VIEW' does not allow specifying the database name as a prefix to the object name.
167 16 Cannot create a trigger on a temporary object.
168 15 The %S_MSG '%.*ls' is out of the range of computer representation (%d bytes).
169 15 A column has been specified more than once in the order by list. Columns in the order by list must be unique.
170 15 Line %d: Incorrect syntax near '%.*ls'.
171 15 Cannot use SELECT INTO in browse mode.
172 15 Cannot use HOLDLOCK in browse mode.
173 15 The definition for column '%.*ls' must include a data type.
174 15 The %ls function requires %d arguments.
177 15 The IDENTITY function can only be used when the SELECT statement has an INTO clause.
178 15 A RETURN statement with a return value cannot be used in this context.
179 15 Cannot use the OUTPUT option when passing a constant to a stored procedure.
180 15 There are too many parameters in this %ls statement. The maximum number is %d.
181 15 Cannot use the OUTPUT option in a DECLARE statement.
182 15 Table and column names must be supplied for the READTEXT or WRITETEXT utility.
183 15 The scale (%d) for column '%.*ls' must be within the range %d to %d.
185 15 Data stream is invalid for WRITETEXT statement in bulk form.
186 15 Data stream missing from WRITETEXT statement.
188 15 Cannot specify a log device in a CREATE DATABASE statement without also specifying at least one non-log device.
189 15 The %ls function requires %d to %d arguments.
191 15 Some part of your SQL statement is nested too deeply. Rewrite the query or break it up into smaller queries.
192 16 The scale must be less than or equal to the precision.
193 15 The object or column name starting with '%.*ls' is too long. The maximum length is %d characters.
194 15 A SELECT INTO statement cannot contain a SELECT statement that assigns values to a variable.
195 15 '%.*ls' is not a recognized %S_MSG.
196 15 SELECT INTO must be the first query in an SQL statement containing a UNION operator.
197 15 EXECUTE cannot be used as a source when inserting into a table variable.
198 15 Browse mode is invalid for statements containing a UNION operator.
199 15 An INSERT statement cannot contain a SELECT statement that assigns values to a variable.
201 16 Procedure '%.*ls' expects parameter '%.*ls', which was not supplied.
202 16 Invalid type '%s' for WAITFOR. Supported data types are CHAR/VARCHAR, NCHAR/NVARCHAR, and DATETIME. WAITFOR DELAY supports the INT and SMALLINT data types.
203 16 The name '%.*ls' is not a valid identifier.
204 20 Normalization error in node %ls.
205 16 All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists.
206 16 Operand type clash: %ls is incompatible with %ls
207 16 Invalid column name '%.*ls'.
208 16 Invalid object name '%.*ls'.
209 16 Ambiguous column name '%.*ls'.
210 16 Syntax error converting datetime from binary/varbinary string.
212 16 Expression result length exceeds the maximum. %d max, %d found.
213 16 Insert Error: Column name or number of supplied values does not match table definition.
214 16 Procedure expects parameter '%ls' of type '%ls'.
217 16 Maximum stored procedure, function, trigger, or view nesting level exceeded (limit %d).
220 16 Arithmetic overflow error for data type %ls, value = %ld.
221 10 FIPS Warning: Implicit conversion from %ls to %ls.
223 11 Object ID %ld specified as a default for table ID %ld, column ID %d is missing or not of type default.
224 11 Object ID %ld specified as a rule for table ID %ld, column ID %d is missing or not of type default.
226 16 %ls statement not allowed within multi-statement transaction.
229 14 %ls permission denied on object '%.*ls', database '%.*ls', owner '%.*ls'.
230 14 %ls permission denied on column '%.*ls' of object '%.*ls', database '%.*ls', owner '%.*ls'.
231 11 No such default. ID = %ld, database ID = %d.
232 16 Arithmetic overflow error for type %ls, value = %f.
233 16 The column '%.*ls' in table '%.*ls' cannot be null.
234 16 There is insufficient result space to convert a money value to %ls.
235 16 Cannot convert a char value to money. The char value has incorrect syntax.
236 16 The conversion from char data type to money resulted in a money overflow error.
237 16 There is insufficient result space to convert a money value to %ls.
238 16 There is insufficient result space to convert the %ls value (= %d) to the money data type.
241 16 Syntax error converting datetime from character string.
242 16 The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
243 16 Type %.*ls is not a defined system type.
244 16 The conversion of the %ls value '%.*ls' overflowed an %hs column. Use a larger integer column.
245 16 Syntax error converting the varchar value to a column of data type int.
248 16 The conversion of the %ls value '%.*ls' overflowed an int column. Maximum integer value exceeded.

Error Severity Description
251 16 Could not allocate ancillary table for query optimization. Maximum number of tables in a query (%d) exceeded.
256 16 The data type int is invalid for the substring function.  Allowed types are: char/varchar, nchar/nvarchar, and binary/varbinary.
257 16 Implicit conversion from data type %ls to %ls is not allowed. Use the CONVERT function to run this query.
259 16 Ad hoc updates to system catalogs are not enabled. The system administrator must reconfigure SQL Server to allow this.
260 16 Disallowed implicit conversion from data type %ls to data type %ls, table '%.*ls', column '%.*ls'. Use the CONVERT function to run this query.
261 16 '%.*ls' is not a recognized function.
262 16 %ls permission denied in database '%.*ls'.
263 16 Must specify table to select from.
264 16 Column name '%.*ls' appears more than once in the result column list.
266 16 Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = %ld, current count = %ld.
267 16 Object '%.*ls' cannot be found.
268 16 Cannot run SELECT INTO in this database. The database owner must run sp_dboption to enable this option.
270 16 Object '%.*ls' cannot be modified.
271 16 Column '%.*ls' cannot be modified because it is a computed column.
272 16 Cannot update a timestamp column.
273 16 Cannot insert a non-null value into a timestamp column. Use INSERT with a column list or with a default of NULL for the timestamp column.
278 16 The text, ntext, and image data types cannot be used in a GROUP BY clause.
279 16 The text, ntext, and image data types are invalid in this subquery or aggregate expression.
280 16 Only text, ntext, and image columns are valid with the TEXTPTR function.
281 16 %d is not a valid style number when converting from %ls to a character string.
282 10 The '%.*ls' procedure attempted to return a status of NULL, which is not allowed. A status of 0 will be returned instead.
283 16 READTEXT cannot be used on inserted or deleted tables within an INSTEAD OF trigger.
284 16 Rules cannot be bound to text, ntext, or image data types.
285 16 The READTEXT, WRITETEXT, and UPDATETEXT statements cannot be used with views or functions.
286 16 The logical tables INSERTED and DELETED cannot be updated.
287 16 The %ls statement is not allowed within a trigger.
288 16 The PATINDEX function operates on char, nchar, varchar, nvarchar, text, and ntext data types only.
291 16 CAST or CONVERT: invalid attributes specified for type '%.*ls'
292 16 There is insufficient result space to convert a smallmoney value to %ls.
293 16 Cannot convert char value to smallmoney. The char value has incorrect syntax.
294 16 The conversion from char data type to smallmoney data type resulted in a smallmoney overflow error.
295 16 Syntax error converting character string to smalldatetime data type.
296 16 The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.
298 16 The conversion from datetime data type to smalldatetime data type resulted in a smalldatetime overflow error.
299 16 The DATEADD function was called with bad type %ls.
301 16 Query contains an outer-join request that is not permitted.
303 16 The table '%.*ls' is an inner member of an outer-join clause. This is not allowed if the table also participates in a regular join clause.
306 16 The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
307 16 Index ID %d on table '%.*ls' (specified in the FROM clause) does not exist.
308 16 Index '%.*ls' on table '%.*ls' (specified in the FROM clause) does not exist.
311 16 Cannot use text, ntext, or image columns in the 'inserted' and 'deleted' tables.
312 16 Cannot reference text, ntext, or image columns in a filter stored procedure.
313 16 An insufficient number of arguments were supplied for the procedure or function %.*ls.
401 16 Unimplemented statement or expression %ls.
403 16 Invalid operator for data type. Operator equals add, type equals text.
409 16 The %ls operation cannot take a %ls data type as an argument.
410 20 COMPUTE clause #%d 'BY' expression #%d is not in the order by list.
411 20 COMPUTE clause #%d, aggregate expression #%d is not in the select list.
420 16 The text, ntext, and image data types cannot be used in an ORDER BY clause.
425 16 Data type %ls of receiving variable is not equal to the data type %ls of column '%.*ls'.
426 16 The length %d of the receiving variable is less than the length %d of the column '%.*ls'.
427 20 Could not load sysprocedures entries for constraint ID %d in database ID %d.
428 20 Could not find row in sysconstraints for constraint ID %d in database ID %d.
429 20 Could not find new constraint ID %d in sysconstraints, database ID %d, at compile time.
430 20 Could not resolve table name for object ID %d, database ID %d, when compiling foreign key.
431 19 Could not bind foreign key constraint. Too many tables involved in the query.
433 20 Could not find CHECK constraint for '%.*ls', although the table is flagged as having one.
436 20 Could not open referenced table ID %d in database ID %d.
437 20 Could not resolve the referenced column name in table ID %d.
438 20 Could not resolve the referencing column name in table ID %d.
439 20 Could not find FOREIGN KEY constraints for table '%.*ls' in database ID %d although the table is flagged as having them.
441 16 Cannot use the '%ls' function on a remote data source.
443 16 Invalid use of 'getdate' within a function.
Invalid use of 'INSERT' within a function.
Invalid use of 'UPDATE' within a function.
444 16 Select statements included within a function cannot return data to a client.
445 16 COLLATE clause cannot be used on expressions containing a COLLATE clause.
446 16 Cannot resolve collation conflict for %ls operation.
447 16 Expression type %ls is invalid for COLLATE clause.
448 16 Invalid collation '%.*ls'.
449 16 Collation conflict caused by collate clauses with different collation '%.*ls' and '%.*ls'.
450 16 Code page translations are not supported for the text data type. From: %d To: %d.
451 16 Cannot resolve collation conflict for column %d in %ls statement.
452 16 COLLATE clause cannot be used on user-defined data types.
453 16 Collation '%.*ls' is supported on Unicode data types only and cannot be set at the database or server level.
455 16 The last statement included within a function must be a return statement.
456 16 Implicit conversion of %ls value to %ls cannot be performed because the resulting collation is unresolved due to collation conflict.
457 16 Implicit conversion of %ls value to %ls cannot be performed because the collation of the value is unresolved due to a collation conflict.

Related Topics: