I need to know the maximum character length for the name of an instance of a SQL Server for the following versions (if there is a difference between them.)
(I am working on an application that will communicate with SQL Server via the DMO/SMO APIs and need to validate user input.)
After much Googling and BOL searching I have not been able to find a definitive answer. I have found forum questions and responses (on other, lesser sites) but the values in those responses have ranged from 16 to 128 characters and none provided supporting documentation or links.
It seems that this should be an easy find but it has eluded me. Any help would be much appreciated.
Instance names for SQL Server are limited to 16 characters
http://msdn.microsoft.com/en-us/library/ms143531(v=SQL.105).aspx
It doesn't list SQL Server 2000 online but looking at the BOL that I have installed for SQL Server 2000 it is also limited to 16 characters.
EDIT
Use this screen to add and maintain instances of Microsoft® SQL Server™ 2000.
Options
Default
When selected, a default instance of SQL Server 2000 is installed. Click Next to proceed with the install process.
When cleared, you can install or maintain a named instance of SQL Server 2000.
Note If this check box is not enabled, Setup has detected a default instance of SQL Server on this computer. The default instance could be an installation of SQL Server 6.5, SQL Server version 7.0, or it could be the default instance of SQL Server 2000, already installed. Only one installation of SQL Server, any version, can be the default instance at any one time. For more information, see Multiple Instances of SQL Server.
Instance Name
Enter a new instance name, or the name of the instance to maintain. Review and follow the rules for instance names.
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.
**Instance Naming Rules **
An instance name is not case-sensitive.
An instance name cannot be the terms Default or MSSQLServer.
Instance names must follow the rules for SQL Server identifiers and cannot be reserved keywords.
Instance names are limited to 16 characters.
The first character in the instance name must be a letter, an ampersand (&), an underscore (_), or a number sign (#). Acceptable letters are those defined by the Unicode Standard 2.0, which includes Latin characters a-z and A-Z, in addition to letter characters from other languages.
Subsequent characters can be:
Letters as defined in the Unicode Standard 2.0.
Decimal numbers from either Basic Latin or other national scripts.
The dollar sign ($), a number sign (#), or an underscore (_).
Embedded spaces or special characters are not allowed in instance names. Neither is the backslash (), a comma (,), a colon (:), or the at sign (@).
Warning Only characters that are valid in the current Microsoft Windows® code page can be used in instance names in SQL Server 2000. If a Unicode character not supported under the current code page is used, an error occurs.