Caught following error messages in SQL Server error log:Procedure sp_fulltext_load_thesaurus_file, Line 41, Message: The data type of substitution parameter 1 does not match the expected type of the format specification.sys.sp_fulltext_load_thesaurus_file contains following code block (@lcid is input variable to the procedure, its datatype is INT): IF (@thesaurusFilePath IS NULL) BEGIN RAISERROR(30048, 16, 1, @lcid) ENDSimple execution of the following code fails:DECLARE @lcid INT =15;RAISERROR(30048, 16, 1, @lcid);Error message is: Msg 2786, Level 16, State 1, Line 2The data type of substitution parameter 1 does not match the expected type of the format specification.And indeed, if we query sys.messages for message_id = 30048, we'll see that it expects 2 substitute variables, first of them string and only second int. So following code works fine:DECLARE @lcid INT =15RAISERROR(30048, 16, 1, 'abcd', @lcid) Checked the issue for SQL Server 2008 R2 SP2 and for SQL Server 2012 - same bug in both.
Product Language
Version
Category
Operating System
Operating System Language
Steps to Reproduce
Actual Results
Expected Results
Platform
Virtualization
Please wait...