sys.servers (Transact-SQL)

适用于: SQL Server Azure SQL 托管实例

包含已注册的每个链接服务器或远程服务器的行,以及具有 server_id = 0 的本地服务器的行。

列名称 数据类型 描述
server_id int 链接服务器的本地 ID。
name sysname 当server_id = 0 时,返回的值是服务器名称。

server_id> 0 时,返回的值是链接服务器的本地名称。
product sysname 链接服务器的产品名。 值为“SQL Server”表示 SQL Server 的另一个实例。
提供程序 sysname 用于连接到链接服务器的 OLE DB 访问接口名称。

从 SQL Server 2019 (15.x)开始,“SQLNCLI”值默认映射到 Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL)。 在早期版本中,值“SQLNCLI”映射到 SQL Server Native Client OLE DB 访问接口(SQLNCLI11)。
data_source nvarchar(4000) OLE DB 数据源连接属性。
location nvarchar(4000) OLE DB 位置连接属性。 如果没有,则为 NULL。
provider_string nvarchar(4000) OLE DB 访问接口字符串连接属性。

为 NULL,除非调用方具有 ALTER ANY LINKED SERVER 权限。
catalog sysname OLE DB 目录连接属性。 如果没有,则为 NULL。
connect_timeout int 以秒为单位的连接超时,0 表示没有超时。
query_timeout int 以秒为单位的查询超时,0 表示没有超时。
is_linked bit 0 = 使用 sp_addserver 添加的旧式服务器,具有不同的 RPC 和分布式事务行为。

1 = 标准链接服务器。
is_remote_login_enabled bit 设置 RPC 选项来启用该服务器的传入远程登录。
is_rpc_out_enabled bit 启用(从该服务器的)传出 RPC。
is_data_access_enabled bit 为分布式查询启用服务器。
is_collation_compatible bit 如果没有可用的排序规则信息,则假定远程数据的排序规则与本地数据兼容。
uses_remote_collation bit 如果为 1,则使用远程服务器报告的排序规则;否则,使用下一列指定的排序规则。
collation_name sysname 要使用的排序规则的名称,或者,如果只使用本地排序规则,则为 NULL。
lazy_schema_validation bit 如果为 1,则在启动查询时不检查架构验证。
is_system bit 该服务器只能由内部系统进行访问。
is_publisher bit 服务器为复制发布服务器。
is_subscriber bit 服务器为复制订阅服务器。
is_distributor bit 服务器为复制分发服务器。
is_nonsql_subscriber bit 服务器为非 SQL Server 复制订阅服务器。
is_remote_proc_transaction_promotion_enabled bit 如果是 1,则调用远程存储过程将启动分布式事务,并用 MS DTC 登记该事务。 有关详细信息,请参阅 sp_serveroption (Transact-SQL)
modify_date datetime 上次更改服务器信息的日期。
is_rda_server bit 适用于: 从 SQL Server 2016(13.x)开始。

服务器已启用远程数据存档(已启用 stretch-enabled)。 有关详细信息,请参阅 服务器上的“启用 Stretch Database”。

注解

SQL Server Native Client (SNAC) 未随附:

  • SQL Server 2022 (16.x) 及更高版本
  • SQL Server Management Studio 19 及更高版本

不建议在新应用开发中使用 SQL Server Native Client(SQLNCLI 或 SQLNCLI11)和旧版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB)。

对于新项目,请使用以下驱动程序之一:

对于作为 SQL Server 数据库引擎组件(版本 2012 到 2019)随附的 SQLNCLI,请参阅此支持生命周期特例

权限

除非调用方具有 ALTER ANY LINKED SERVER 权限,否则provider_string中的值始终为 NULL。

查看本地服务器(server_id = 0)不需要权限。

创建链接服务器或远程服务器时,SQL Server 会创建到 公共 服务器角色的默认登录映射。 默认登录映射意味着所有登录名都可以查看所有链接服务器和远程服务器。 若要限制这些服务器的可见性,请通过执行 sp_droplinkedsrvlogin 并为 locallogin 参数指定 NULL 来删除默认登录映射。

如果删除了默认登录映射,则只有已作为链接登录名或远程登录名显式添加的用户才能查看其拥有登录名的链接服务器或远程服务器。 在默认登录映射后查看所有链接服务器和远程服务器需要以下权限:

  • ALTER ANY LINKED SERVERALTER ANY LOGIN ON SERVER
  • setupadmin 或 sysadmin 固定服务器角色的成员身份

另请参阅

目录视图 (Transact-SQL)
链接服务器目录视图 (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)
sp_addremotelogin (Transact-SQL)