sp_addlinkedsrvlogin

建立或更新 SQL Server 本機執行個體登入與遠端伺服器安全性帳戶之間的對應。

sp_addlinkedsrvlogin
  @rmtsrvname = 'rmtsrvname' ,
    -- 登入對應所套用的連結伺服器名稱。
    -- 是 sysname,沒有預設值。
  @useself = 'TRUE' | 'FALSE' | 'NULL' ,
    -- 模擬本機登入或明確提交登入和密碼。
    -- varchar(8),預設值是 TRUE。
  @locallogin = 'locallogin' ,
    -- 本機伺服器上的登入。
    -- 是 sysname,預設值是 NULL。
  @rmtuser = 'rmtuser' ,
    -- 當 @useself 是 FALSE 時,用來連接 rmtsrvname 的遠端登入。
    -- 是 sysname,預設值是 NULL。
  @rmtpassword = 'rmtpassword'
    -- 與 rmtuser 相關聯的密碼。
    -- 是 sysname,預設值是 NULL。

傳回碼值0 (成功) 或 1 (失敗)

* 連結伺服器資料紀錄於 master.dbo.sysxlogins 中。

sp_droplinkedsrvlogin

移除在執行 SQL Server 之本機伺服器的登入與連結伺服器的登入之間的現有對應。

sp_droplinkedsrvlogin
  @rmtsrvname = 'rmtsrvname' ,
    -- SQL Server 登入對應所套用的連結伺服器名稱。
    -- 是 sysname,沒有預設值。
  @locallogin = 'locallogin'
    -- 對應至連結伺服器 rmtsrvname 之本機伺服器的 SQL Server 登入。
    -- 是 sysname,沒有預設值。
    -- 如果是 NULL,則 sp_addlinkedserver 所建立的預設對應 (這個對應會將本機伺服器上所有的登入,對應至連結伺服器上的登入) 會被刪除。

傳回碼值0 (成功) 或 1 (失敗)

 權限:需要伺服器的 ALTER ANY LINKED SERVER 權限。

[範例] 利用本身的使用者認證來連接連結伺服器 Accounts

EXEC sp_addlinkedsrvlogin 
  'Accounts',
  'true'

[範例] 以確保 Windows 使用者 Domain\Mary 利用登入 MaryP 和密碼 d89q3w4u,來連接連結伺服器 Accounts。

 EXEC sp_addlinkedsrvlogin
  'Accounts',
  'false',
  'Domain\Mary',
  'MaryP',
  'd89q3w4u'

[範例] 移除從本機伺服器到連結伺服器 Accounts 的登入 Mary 對應。

 EXEC sp_droplinkedsrvlogin
  'Accounts',
  'Mary'

[範例] 移除原先在連結伺服器 Accounts 執行 sp_addlinkedserver 而建立的預設登入對應。

EXEC sp_droplinkedsrvlogin 
  'Accounts',
  NULL

參考來源:
sp_addlinkedsrvlogin (Transact-SQL)
sp_droplinkedsrvlogin (Transact-SQL)

sys.syslogins (Transact-SQL)

創作者介紹
創作者 tsuozoe 的頭像
tsuozoe

隨便寫寫的新天地

tsuozoe 發表在 痞客邦 留言(0) 人氣()