BUG: SP_ADD_JOBSTEP Does Not Recognize Server Names Longer Than 30 Characters (310639)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q310639
BUG #: 354710 (SHILOH_BUGS)

SYMPTOMS

When you use the msdb..sp_add_jobstep stored procedure to add a job step, if the server name (NetBIOS name + \Instance name) exceeds 30 characters, msdb..sp_add_jobstep may fail with the following error:
Error 14234: The specified '@server' is invalid" (valid values are returned by sp_helpserver).
For example, this error may be returned when you configure a replication distribution server or when you run the Create Job Wizard on a server with a name that exceeds 30 characters.

CAUSE

The msdb..sp_add_jobstep stored procedure assigns the datatype NVARCHAR(30) to the parameter @server. It is possible to install SQL Server 2000 with a server name longer than 30 characters. For example, the server NetBIOS name might be "MSSUPPORTSQL010" and the SQL Server instance name might be "MSTVSQLINSTANCE01". The NetBIOS name and instance name would be separated with a backslash (\) like this MSSUPPORTSQL010\MSSQLINSTANCE01.

WORKAROUND

To work around this problem, make sure that the server name (NetBIOS name + \Instance name) does not exceed 30 characters.

Here is a quote from the "Instance Name" topic in SQL Server Books Online:

"Important: It is recommended that instance names be kept to less than 10 characters. Instance names can appear in the user interface of various SQL Server and system tools; shorter names are more readable."

STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000.

Modification Type:MinorLast Reviewed:9/26/2005
Keywords:kbHotfixServer kbQFE kbbug kbpending KB310639