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
setupadmin 或 sysadmin 固定服务器角色的成员身份