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 SERVER
或ALTER ANY LOGIN ON SERVER
- setupadmin 或 sysadmin 固定服务器角色的成员身份
另请参阅
目录视图 (Transact-SQL)
链接服务器目录视图 (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)
sp_addremotelogin (Transact-SQL)