最新主題最新主題  行事曆行事曆  搜尋論壇搜尋  幫助幫助
自訂搜尋
  註冊註冊  登入登入
技術通報
 心靈的交叉點 : 侑昌資訊/隆達資訊 : 技術通報
>
主題: SQL 的 sp_addlinkedserver 、sp_dropserver 使用方法 回覆主題 發表新主題
作者 訊息
leader
管理階層
管理階層
頭像

註冊: 2006/十一月/15
發表: 338
引用 leader 回覆bullet 主題: SQL 的 sp_addlinkedserver 、sp_dropserver 使用方法
    發表於︰ 2012/八月/16 在 12:02pm

sp_addlinkedserver

建立連結伺服器。連結伺服器可讓您對 OLE DB 資料來源存取分散式異質性查詢。

sp_addlinkedserver
  @server = 'server' ,
    -- 要建立的連結伺服器名稱。
  @srvproduct = 'product_name' ,
    -- 加入的 OLE DB 資料來源產品名稱。
    -- nvarchar(128),預設值是 NULL。
  @provider = 'provider_name' ,
    -- 唯一程式化識別碼 (PROGID)。
    -- nvarchar(128),預設值是 NULL。
  @datasrc = 'data_source' ,
    -- 資料來源名稱。
    -- nvarchar(4000),DBPROP_INIT_DATASOURCE 屬性。
  @location = 'location' ,
    -- 資料庫位置。
    -- nvarchar(4000),預設值是 NULL,DBPROP_INIT_LOCATION 屬性。
  @provstr = 'provider_string' ,
    -- 連接字串,用來識別唯一資料來源。
    -- nvarchar(4000),預設值是 NULL,DBPROP_INIT_PROVIDERSTRING 屬性。

  @catalog = 'catalog'
    -- 所用的目錄。
    -- 是 sysname,預設值是 NULL,DBPROP_INIT_CATALOG 屬性。

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

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

* 資料來源產品名稱如果是 SQL Server,則不必指定 provider_name、data_source、location、provider_string 和 catalog。

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

sp_dropserver

從 SQL Server 本機執行個體上的已知遠端和連結伺服器清單中移除伺服器。

sp_dropserver
  @server = 'server' ,
    -- 要移除的伺服器
  @droplogins = {'droplogins' | NULL}
    -- 如果指定了 droplogins,也必須移除 server 的相關遠端和連結伺服器登入
    -- char(10),預設值是 NULL。

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

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

* 若要在移除伺服器時移除伺服器的所有遠端和連結伺服器登入,請使用 droplogins 引數。

[範例] 連接到 SQL Server,建立一個名叫 SEATTLESales 的連結伺服器。

EXEC sp_addlinkedserver
  'SEATTLESales',
  N'SQL Server'

[範例] 連接到 Microsoft Access 2002-2003

EXEC sp_addlinkedserver
   @server = 'SEATTLE Mktg',
  @provider = 'Microsoft.Jet.OLEDB.4.0',
  @srvproduct = 'OLE DB Provider for Jet',
  @datasrc = 'C:\MSOffice\Access\Samples\Northwind.mdb'

[範例] 連接到 Microsoft Access 2007

EXEC sp_addlinkedserver
  @server = 'SEATTLE Mktg',
  @provider = Microsoft.ACE.OLEDB.12.0',
  @srvproduct = 'OLE DB Provider for ACE',
  @datasrc = 'C:\MSOffice\Access\Samples\Northwind.accdb'

[範例] 連接到 Microsoft Excel 1997 - 2003

EXEC sp_addlinkedserver
  'ExcelShare',
  'Jet 4.0',
  'Microsoft.Jet.OLEDB.4.0',
  '\\MyServer\MyShare\Spreadsheets\DistExcl.xls',
  NULL,
  'Excel 5.0'

[範例] 連接到 Microsoft Excel 2007

EXEC sp_addlinkedserver 
  @server = N'ExcelDataSource',   @srvproduct=N'ExcelData',
  @provider=N'Microsoft.ACE.OLEDB.12.0',   @datasrc=N'C:\DataFolder\People.xlsx',   @provstr='EXCEL 12.0' ;

[範例] 連接到 Oracle,建立一個名為 LONDON Mktg 的連結伺服器

EXEC sp_addlinkedserver
  @server = 'LONDON Mktg',
  @srvproduct = 'Oracle',
  @provider = 'MSDAORA',
  @datasrc = 'MyServer'

[範例] 連接到 ODBC,建立一個名為 SEATTLE Payroll 的連結伺服器

EXEC sp_addlinkedserver
  @server = 'SEATTLE Payroll',
  @srvproduct = '',
  @provider = 'MSDASQL',
  @datasrc = 'LocalServer'

[範例] 連接到 DB2

EXEC sp_addlinkedserver
  @server='DB2',
  @srvproduct='Microsoft OLE DB Provider for DB2',
  @catalog='DB2',
  @provider='DB2OLEDB',
  @provstr='Initial Catalog=PUBS;
    Data Source=DB2;
    HostCCSID=1252;
    Network Address=XYZ;
    Network Port=50000;
    Package Collection=admin;
    Default Schema=admin;'

[範例] 連接到 文字檔

--Create a linked server.
EXEC sp_addlinkedserver
  txtsrv,
  'Jet 4.0',
  'Microsoft.Jet.OLEDB.4.0',
  'c:\data\distqry',
  NULL,
  'Text'
GO

--Set up login mappings.
EXEC sp_addlinkedsrvlogin txtsrv, FALSE, Admin, NULL
GO

--List the tables in the linked server.
EXEC sp_tables_ex txtsrv
GO

--Query one of the tables: file1#txt
--using a four-part name.

SELECT *
FROM txtsrv...[file1#txt]

[範例] 移除遠端伺服器 ACCOUNTS 和所有相關聯的遠端登入。

EXEC sp_dropserver 'ACCOUNTS', 'droplogins';
IP IP已記錄
回覆主題 發表新主題
列印預覽 列印預覽

論壇跳轉
不可以 在本版發表新主題
不可以 在本版回覆主題
不可以 在本版刪除您的發言
不可以 在本版編輯您的發言
不可以 在本版建立投票
不可以 在本版投票



頁面執行時間為 0.063 秒。
  
Page Rank Check
 服務地址:台中市北區梅川西路三段39巷18號五樓之十 服務電話:886-4-22927366
 電子郵件:yoursun@yoursun.com.tw 版權所有 © 2006 侑昌資訊股份有限公司