sys.servers (Transact-SQL)

已注册的每个链接服务器或远程服务器都对应一行,并且 server_id = 0 的本地服务器也在表中对应一行。

列名

数据类型

说明

server_id

int

链接服务器的本地 ID。

name

sysname

server_id = 0 时,这表示服务器名称。

server_id >0 时,这表示链接服务器的本地名称。

product

sysname

链接服务器的产品名。“SQL Server”表示这是另一个 SQL Server 实例。

provider

sysname

用于连接到链接服务器的 OLE DB 访问接口名称。

data_source

nvarchar(4000)

OLE DB 数据源连接属性。

location

nvarchar(4000)

OLE DB 位置连接属性。如果没有,则为 NULL。

provider_string

nvarchar(4000)

OLE DB 访问接口字符串连接属性。

除非调用方拥有 ALTER ANY LINKED SERVER 权限,否则为 NULL。

catalog

sysname

OLEDB 目录连接属性。如果没有,则为 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

上次更改服务器信息的日期。

权限

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

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

创建链接服务器或远程服务器时,SQL Server 将创建一个到 public 服务器角色的默认登录映射。也就是说在默认情况下,所有登录名都可以查看所有链接服务器和远程服务器。若要限制这些服务器的可见性,请通过执行 sp_droplinkedsrvlogin 并将 locallogin 参数指定为 NULL 来删除默认登录映射。

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

  • ALTER ANY LINKED SERVER 或 ALTER ANY LOGIN ON SERVER

  • setupadminsysadmin 固定服务器角色的成员身份