15

我需要知道以下版本的 SQL Server 实例名称的最大字符长度(如果它们之间存在差异。)

  • SQL Server 2000
  • SQL 服务器 2005
  • SQL Server 2008
  • SQL Server 2008 R2

(我正在开发一个将通过 DMO/SMO API 与 SQL Server 通信并需要验证用户输入的应用程序。)

经过大量谷歌搜索和 BOL 搜索,我无法找到明确的答案。我找到了论坛问题和回复(在其他较小的网站上),但这些回复中的值从 16 到 128 个字符不等,并且没有提供支持文档或链接。

似乎这应该很容易找到,但它让我望而却步。任何帮助将非常感激。

4

4 回答 4

17

SQL Server 的实例名称限制为 16 个字符

http://msdn.microsoft.com/en-us/library/ms143531(v=SQL.105).aspx

它没有在线列出 SQL Server 2000,但查看我为 SQL Server 2000 安装的 BOL,它也限制为 16 个字符。

SQL Server 2000 - 在线图书

编辑

使用此屏幕添加和维护 Microsoft® SQL Server™ 2000 的实例。

选项

默认

  • 选中后,将安装 SQL Server 2000 的默认实例。单击下一步继续安装过程。

  • 清除后,您可以安装或维护 SQL Server 2000 的命名实例。

    注意 如果未启用此复选框,则安装程序已在此计算机上检测到 SQL Server 的默认实例。默认实例可以是 SQL Server 6.5、SQL Server 7.0 版的安装,也可以是已安装的 SQL Server 2000 的默认实例。在任何时候,只有一个 SQL Server 安装(任何版本)可以成为默认实例。有关详细信息,请参阅 SQL Server 的多个实例。

实例名称

输入新的实例名称或要维护的实例的名称。查看并遵守实例名称的规则。

重要 建议实例名称少于 10 个字符。实例名称可以出现在各种 SQL Server 和系统工具的用户界面中;较短的名称更具可读性。

**实例命名规则**

  • 实例名称不区分大小写。

  • 实例名称不能是术语 Default 或 MSSQLServer。

  • 实例名称必须遵循 SQL Server 标识符的规则,并且不能是保留关键字。

  • 实例名称限制为 16 个字符。

  • 实例名称中的第一个字符必须是字母、与号 (&)、下划线 (_) 或数字符号 (#)。可接受的字母是由 Unicode 标准 2.0 定义的字母,其中包括拉丁字符 az 和 AZ,以及来自其他语言的字母字符。

  • 后续字符可以是:

    • Unicode 标准 2.0 中定义的字母。

    • 来自基本拉丁文或其他国家文字的十进制数字。

    • 美元符号 ($)、数字符号 (#) 或下划线 (_)。

  • 实例名称中不允许嵌入空格或特殊字符。反斜杠 ()、逗号 (,)、冒号 (:) 或 at 符号 (@) 也不是。

警告 只有在当前 Microsoft Windows® 代码页中有效的字符才能用于 SQL Server 2000 中的实例名称。如果使用当前代码页不支持的 Unicode 字符,则会发生错误。

于 2011-03-10T14:06:10.430 回答
2

我在 SQL 2008 R2 中的经验是:

Windows Server 2008 R2 NetBIOS 有 15 个字符的限制。

如果您想要超出此 (@@SERVERNAME) 的 SQL Server 默认实例名称,则必须执行以下操作:

sp_dropserver 'oldname' 去 sp_addserver 'newname_greater_than_15_characters','local' 去

重新启动 MSSQLService,您的新名称将生效。Sysname 是与函数和系统存储过程一起使用的数据类型。

于 2011-12-07T15:12:27.443 回答
0

我看到字符限制的唯一实例是 SQL Server 2012,正如其他人所说,该限制似乎是 16。我有 2008 和 2008 R2 实例,其中名称似乎没有受到限制(例如 MSRS10.MSSQLSERVER_2008),但这可能只是因为我没有尝试超过 23 或 24 个字符。很抱歉,这没有提供来自文档的信息,但我希望它会有所帮助。

于 2014-02-24T18:42:41.410 回答
-2

jl: sp_dropserver 'oldname' go sp_addserver 'newname_greater_than_15_characters','local' go 我相信这是服务器名称而不是实例名称。

于 2018-08-09T20:36:36.477 回答