sys.servers (Transact-SQL)

針對每個連結或已註冊的遠端伺服器,各包含一個資料列,以及含有一個資料列代表 server_id = 0 的本機伺服器。

資料行名稱

資料類型

描述

server_id

int

連結伺服器的本機識別碼。

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) 固定伺服器角色中的成員資格