sp_addserver (Transact-SQL)

定义 SQL Server 本地实例的名称。此存储过程也定义远程服务器。

注意注意

远程服务器功能将在 SQL Server 的下一版本中删除。若要定义链接服务器,请改用 sp_addlinkedserver

主题链接图标Transact-SQL 语法约定

语法

sp_addserver [ @server = ] 'server' 
     [ , [ @local= ] 'local' ] 
     [ , [ @duplicate_ok = ] 'duplicate_OK' ]

参数

  • [ @server = ] 'server'
    服务器的名称。服务器名称必须唯一且必须符合 Microsoft Windows 计算机名称的规则,但不允许包含空格。server 的数据类型为 sysname,无默认值。

    如果计算机上安装了多个 SQL Server 实例,则实例将如同在一个独立服务器上运行。通过以下格式引用 server 来指定命名实例:servername\instancename。

  • [ @local = ] 'LOCAL'
    指定要添加的服务器是本地服务器还是远程服务器。@local 的数据类型为 varchar(10),默认值为 NULL。将 @local 指定为 LOCAL 会将 @server 定义为本地服务器的名称,并使 @@SERVERNAME 函数返回 server 的值。

    SQL Server 安装程序会在安装过程中将此变量设置为计算机名称。建议您不要更改该名称。默认情况下,用户可通过计算机名连接到 SQL Server 的实例而无需额外的配置。

    只有将服务器关闭然后重新启动后,本地的定义才会生效。每个服务器中只能定义一个本地服务器。

  • [ @duplicate_ok = ] 'duplicate_OK'
    指定是否允许重复的服务器名。@duplicate_OK 的数据类型为 varchar(13),默认值为 NULL。@duplicate_OK 只能有 duplicate_OK 或 NULL 这两个值。如果指定了 duplicate_OK 且要添加的服务器名称已经存在,则不会发生错误。如果未使用命名参数,则必须指定 @local

返回代码值

0(成功)或 1(失败)

注释

若要在运行早期版本的 SQL Server 的远程服务器上执行存储过程(远程过程调用),请使用 sp_addserver 添加远程服务器。若要在运行 SQL Server 7.0 版或更高版本的远程服务器上执行存储过程或任何分布式查询,请使用 sp_addlinkedserver 添加服务器。

若要设置或清除服务器选项,请使用 sp_serveroption

在用户定义的事务内不能使用 sp_addserver

权限

要求具有 setupadmin 固定服务器角色的成员身份。

示例

以下示例在本地服务器中为远程服务器 ACCOUNTS 创建一个条目。

sp_addserver 'ACCOUNTS';