<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SqlServer2008 數據庫同步的兩種方式(Sql JOB)

         數據庫同步是一種比較常用的功能。以下結合我自己的體會整理的,如果有理解不完全或者有誤的地方望大牛不理賜教。下面介紹的就是數據庫同步的兩種方式:

        1、SQL JOB的方式 

        sql Job的方式同步數據庫就是通過SQL語句,將一個數據源中的數據同步到目標數據庫中。特點是它可以靈活的通過SQL的方式進行數據庫之間的同步操作。可以在制定的時間時間作為任務計劃自動執行。缺點是需要寫SQL來進行操作。既然是數據庫之間的同步就涉及到數據庫之間的連接。建立連接是同步的第一步。SQL Server建立連接可以通過系統存儲過程建立【是否還有其他方式,我還不清楚】。存儲過程有以下幾個:sp_droplinkedsrvlogin、sp_dropserver、sp_addlinkedserver、sp_addlinkedsrvlogin。前面兩個是刪除數據庫之間連接的,后兩個是建立數據庫之間連接的。

          刪除連接存儲過程參數用法如下:

      a)sp_droplinkedsrvlogin

      語法

      sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
          [ , [ @useself = ] 'useself' ]
          
      [ , [ @locallogin = ] 'locallogin' ]

          [ , [ @rmtuser = ] 'rmtuser' ]
          
      [ , [ @rmtpassword = ] 'rmtpassword' ]

      參數

      [@rmtsrvname =] 'rmtsrvname'

      是應用登錄映射的鏈接服務器名稱。rmtsrvname 的數據類型為 sysname,沒有默認設置。

      [@useself =] 'useself'

      決定用于連接到遠程服務器的登錄名稱。useself 的數據類型為 varchar(8),默認設置為 TRUE。true 值指定 SQL Server 驗證的登錄使用其自己的憑據以連接到 rmtsrvname,而忽略 rmtuserrmtpassword 參數。false 值指定 rmtuserrmtpassword 參數用來連接到特定 localloginrmtsrvname。如果 rmtuserrmtpassword 也設置為 NULL,則連接鏈接服務器不需使用任何登錄或密碼。對于 Windows NT 身份驗證登錄而言,useself true 則無效,除非 Microsoft Windows NT? 環境支持安全帳戶委托,并且,提供程序支持 Windows 身份驗證(此時不再需要創建值為 true 的映射,不過創建仍然有效)。

      [ @locallogin =] 'locallogin'

      本地服務器上的登錄。locallogin 的數據類型為 sysname,默認設置為 NULL。NULL 值指定此條目將應用于所有連接到 rmtsrvname 的本地登錄。如果值不為 NULL,則 locallogin 可以是一個 SQL Server 登錄或 Windows NT 用戶。必須授予 Windows NT 用戶直接訪問 SQL Server 或通過其作為已授予訪問權限的組的成員來訪問 SQL Server 的權限。

      [@rmtuser =] 'rmtuser'

      useselffalse 時,用來連接 rmtsrvname 的用戶名,rmtuser 的數據類型為 sysname,默認設置為 NULL。

      [@rmtpassword =] 'rmtpassword'

      rmtuser 相關的密碼。rmtpassword 的數據類型為 sysname,默認設置為 NULL。

      返回代碼值

      0(成功)或 1(失敗)

      注釋:

      當用戶登錄到本地服務器并執行分布式查詢,以訪問鏈接服務器上的表時,本地服務器必須登錄鏈接服務器上,代表該用戶訪問該表。使用 sp_addlinkedsrvlogin 來指定本地服務器登錄鏈接服務器的登錄憑據。

      本地服務器上所有登錄和鏈接服務器上的遠程登錄之間的默認映射通過執行 sp_addlinkedserver 自動創建。默認映射說明連接到鏈接服務器代表的登錄時,SQL Server 使用本地登錄的用戶憑據(等同于將鏈接服務器的 @useself 設置為 true 時執行 sp_addlinkedsrvlogin)。使用 sp_addlinkedsrvlogin 只可以更改特定的本地服務器的默認映射或添加新映射。若要刪除默認映射或任何其它映射,請使用 sp_droplinkedsrvlogin

      當所有下列條件存在時,SQL Server 可以自動地使用正在發出查詢的用戶的 Windows NT 安全憑據(Windows NT 用戶名稱和密碼),以連接到鏈接服務器,而不是必須使用 sp_addlinkedsrvlogin 創建一個預設的登錄映射。

        用法示例:

      EXEC sp_droplinkedsrvlogin 'DBLink',Null

      b)sp_dropserver

      從本地 Microsoft? SQL Server? 上的已知遠程和鏈接服務器列表中刪除服務器。

      語法

      sp_dropserver [ @server = ] 'server'
          [ , [ @droplogins = ] { 'droplogins' | NULL} ]

      參數

      [@server =] 'server'

      將被刪除的服務器。server 的數據類型為 sysname,沒有默認值。server 必須已經存在。

      [@droplogins =] 'droplogins' | NULL

      指明如果指定了 droplogins,那么對于 server,那些相關的遠程及鏈接服務器登錄也將被刪除。@droplogins 的數據類型為 char(10),帶有默認值 NULL。

      返回代碼值

      0(成功)或 1(失敗)

      注釋

      如果某個服務器有相關的遠程及鏈接服務器登錄條目,當在該服務器上運行 sp_dropserver 時,會導致一條錯誤信息,該消息說明:在刪除遠程或鏈接服務器之前,必須先刪除相關的登錄。當刪除服務器時,為了刪除服務器的所有遠程及鏈接服務器登錄,請使用 droplogins 參數。

      不能在用戶定義的事務內執行 sp_dropserver

      權限

      只有 sysadminsetupadmin 固定服務器角色的成員才可以執行 sp_dropserver

      用法示例:

      EXEC sp_dropserver 'DBLink'

          建立連接存儲過程參數用法如下:

      a)sp_addlinkedserver

      創建一個鏈接的服務器,使其允許對分布式的、針對 OLE DB 數據源的異類查詢進行訪問。在使用 sp_addlinkedserver 創建鏈接的服務器之后,此服務器就可以執行分布式查詢。如果鏈接服務器定義為 Microsoft? SQL Server?,則可執行遠程存儲過程。

      語法

      sp_addlinkedserver [ @server = ] 'server'
          
      [ , [ @srvproduct = ] 'product_name' ]

          [ , [ @provider = ] 'provider_name' ]
          [ , [ @datasrc = ] 'data_source' ]
          [ , [ @location = ] 'location' ]
          [ , [ @provstr = ] 'provider_string' ]
          [ , [ @catalog = ] 'catalog' ]

      參數

      [ @server = ] 'server'

      要創建的鏈接服務器的本地名稱,server 的數據類型為 sysname,沒有默認設置。

      如果有多個 SQL Server 實例,server 可以為 servername\instancename。此鏈接的服務器可能會被引用為下面示例的數據源:

      SELECT *FROM    [servername\instancename.]pubs.dbo.authors. 
      

      如果未指定 data_source,則服務器為該實例的實際名稱。

      [ @srvproduct = ] 'product_name'

      要添加為鏈接服務器的 OLE DB 數據源的產品名稱。product_name 的數據類型為 nvarchar(128),默認設置為 NULL。如果是 SQL Server,則不需要指定 provider_namedata_sourcelocationprovider_string 以及目錄。

      [ @provider = ] 'provider_name'

      與此數據源相對應的 OLE DB 提供程序的唯一程序標識符 (PROGID)。provider_name 對于安裝在當前計算機上指定的 OLE DB 提供程序必須是唯一的。provider_name 的數據類型為nvarchar(128),默認設置為 NULL。OLE DB 提供程序應該用給定的 PROGID 在注冊表中注冊。

      [ @datasrc = ] 'data_source'

      由 OLE DB 提供程序解釋的數據源名稱。data_source 的數據類型為 nvarchar(4000),默認設置為 NULL。data_source 被當作 DBPROP_INIT_DATASOURCE 屬性傳遞以便初始化 OLE DB 提供程序。

      當鏈接的服務器針對于 SQL Server OLE DB 提供程序創建時,可以按照 servername\instancename 的形式指定 data_source,它可以用來連接到運行于特定計算機上的 SQL Server 的特定實例上。servername 是運行 SQL Server 的計算機名稱,instancename 是用戶將被連接到的特定 SQL Server 實例的名稱。

      [ @location = ] 'location'

      OLE DB 提供程序所解釋的數據庫的位置。location 的數據類型為 nvarchar(4000),默認設置為 NULL。location 作為 DBPROP_INIT_LOCATION 屬性傳遞以便初始化 OLE DB 提供程序。

      [ @provstr = ] 'provider_string'

      OLE DB 提供程序特定的連接字符串,它可標識唯一的數據源。provider_string 的數據類型為 nvarchar(4000),默認設置為 NULL。Provstr 作為 DBPROP_INIT_PROVIDERSTRING 屬性傳遞以便初始化 OLE DB 提供程序。

      當針對 Server OLE DB 提供程序提供了鏈接服務器后,可將 SERVER 關鍵字用作 SERVER=servername\instancename 來指定實例,以指定特定的 SQL Server 實例。servername 是 SQL Server 在其上運行的計算機名稱,instancename 是用戶連接到的特定的 SQL Server 實例名稱。

      [ @catalog = ] 'catalog'

      建立 OLE DB 提供程序的連接時所使用的目錄。catalog 的數據類型為sysname,默認設置為 NULL。catalog 作為 DBPROP_INIT_CATALOG 屬性傳遞以便初始化 OLE DB 提供程序。

      返回代碼值

      0(成功)或 1(失敗)

      結果集

      如果沒有指定參數,則 sp_addlinkedserver 返回此消息:

      Procedure 'sp_addlinkedserver' expects parameter '@server', which was not supplied.
      

      使用適當 OLE DB 提供程序和參數的 sp_addlinkedserver 返回此消息:

      Server added.
      
      用法示例:
      EXEC sp_addlinkedserver 'DBLink', ' ', 'SQLOLEDB', "10.0.222.12"


      b)sp_addlinkedsrvlogin

      創建或更新本地 Microsoft? SQL Server? 實例上的登錄與鏈接服務器上遠程登錄之間的映射。

      語法

      sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
          [ , [ @useself = ] 'useself' ]
          
      [ , [ @locallogin = ] 'locallogin' ]

          [ , [ @rmtuser = ] 'rmtuser' ]
          
      [ , [ @rmtpassword = ] 'rmtpassword' ]

      參數

      [@rmtsrvname =] 'rmtsrvname'

      是應用登錄映射的鏈接服務器名稱。rmtsrvname 的數據類型為 sysname,沒有默認設置。

      [@useself =] 'useself'

      決定用于連接到遠程服務器的登錄名稱。useself 的數據類型為 varchar(8),默認設置為 TRUE。true 值指定 SQL Server 驗證的登錄使用其自己的憑據以連接到


       rmtsrvname,而忽略 rmtuserrmtpassword 參數。false 值指定 rmtuserrmtpassword 參數用來連接到特定 localloginrmtsrvname


      如果 rmtuserrmtpassword 也設置為 NULL,則連接鏈接服務器不需使用任何登錄或密碼。對于 Windows NT 身份驗證登錄而言,useself true 則無效,


      除非 Microsoft Windows NT? 環境支持安全帳戶委托,并且,提供程序支持 Windows 身份驗證(此時不再需要創建值為 true 的映射,不過創建仍然有效)。

      [ @locallogin =] 'locallogin'

      本地服務器上的登錄。locallogin 的數據類型為 sysname,默認設置為 NULL。NULL 值指定此條目將應用于所有連接到 rmtsrvname 的本地登錄。如果值不為 NULL,


      locallogin 可以是一個 SQL Server 登錄或 Windows NT 用戶。必須授予 Windows NT 用戶直接訪問 SQL Server 或通過其作為已授予訪問權限的組的成員來訪問


      SQL Server 的權限。


      [@rmtuser =] 'rmtuser'


      useselffalse 時,用來連接 rmtsrvname 的用戶名,rmtuser 的數據類型為 sysname,默認設置為 NULL。


      [@rmtpassword =] 'rmtpassword'


      rmtuser 相關的密碼。rmtpassword 的數據類型為 sysname,默認設置為 NULL。

      返回代碼值

      0(成功)或 1(失敗)

      注釋

      當用戶登錄到本地服務器并執行分布式查詢,以訪問鏈接服務器上的表時,本地服務器必須登錄鏈接服務器上,代表該用戶訪問該表。使用 sp_addlinkedsrvlogin 來指定本地服


      務器登錄鏈接服務器的登錄憑據。

      本地服務器上所有登錄和鏈接服務器上的遠程登錄之間的默認映射通過執行 sp_addlinkedserver 自動創建。默認映射說明連接到鏈接服務器代表的登錄時,SQL Server


      使用本地登錄的用戶憑據(等同于將鏈接服務器的 @useself 設置為 true 時執行 sp_addlinkedsrvlogin)。使用 sp_addlinkedsrvlogin 只可以更改特定的本地服務器


      的默認映射或添加新映射。若要刪除默認映射或任何其它映射,請使用 sp_droplinkedsrvlogin

      當所有下列條件存在時,SQL Server 可以自動地使用正在發出查詢的用戶的 Windows NT 安全憑據(Windows NT 用戶名稱和密碼),以連接到鏈接服務器,而不是必須使用

      sp_addlinkedsrvlogin 創建一個預設的登錄映射。

      1. 使用 Windows 身份驗證模式,用戶連接到 SQL Server。

      2. 在客戶端和發送服務器上安全帳戶委托是可用的。

      3. 提供程序支持 Windows 身份驗證模式(例如,運行于 Windows NT 上的 SQL Server)。

      使用映射(此映射通過在本地 SQL Server 上執行 sp_addlinkedsrvlogin 定義)的鏈接服務器執行身份驗證后,遠程數據庫中單獨對象的權限由鏈接服務器決定,


      而不是由本地服務器決定。

      不能從用戶定義的事務中執行 sp_addlinkedsrvlogin

      權限

      只有 sysadminsecurityadmin 固定服務器角色的成員才可以執行 sp_addlinkedsrvlogin

      用法示例
      EXEC sp_addlinkedsrvlogin 'DBLink', 'false',null, 'ILM', '111111

      介紹完建立連接的方式,下面正式介紹SQL JOB的開發。直接用步驟介紹了。
      a)新建作業。如下圖:

      a、  新建作業。如下圖:

      b、  點擊【新建作業】對話框的【常規】選項卡,填寫 SQL JOB的名稱。如下圖

      c、  點擊【新建作業】對話框的【步驟】選項卡,填寫 步驟名稱。




      d、  進行作業的第一個步驟------建立數據庫連接操作。如下圖:


      e、  進行作業的第下一個步驟。如下圖:

      e、設置作業執行計劃

      f、點擊確定,完成SQL JOB的開發。

      g、完成后作業下面就多了剛開發的作業。如下:

      h、作業制作完成后,可以立即讓它執行。如果不讓它執行,它也會在按照制定頻率執行。測試作業:




            2、發布、訂閱。

          發布訂閱下節再介紹吧。這節東西有點多了。哈哈

      其中幾個存儲過程的參數參照了資料。有興趣了解更多的可以參考下面的地址:

      參考:

      http://www.yesky.com/imagesnew/software/tsql/ts_sp_drop_9c1e.htm

      http://www.yesky.com/imagesnew/software/tsql/ts_sp_drop_59v2.htm

      http://www.yesky.com/imagesnew/software/tsql/ts_sp_adda_8gqa.htm

      http://www.yesky.com/imagesnew/software/tsql/ts_sp_adda_6e26.htm

      posted @ 2011-05-27 16:59  tyb1222  閱讀(28641)  評論(7)    收藏  舉報
      主站蜘蛛池模板: 伊人春色激情综合激情网| 国产精品爽爽爽一区二区| 二区三区亚洲精品国产| 免费a级毛片18以上观看精品| 欧美日韩精品久久久免费观看| 亚洲国产欧美在线看片一国产 | 一本大道久久东京热AV| 白嫩少妇bbw撒尿视频| 99久热在线精品视频| 国产最新精品系列第三页| 中文字幕日韩精品国产| 亚洲熟妇自偷自拍另欧美| 成人午夜在线观看日韩| 国产乱码日韩精品一区二区| 国产精品一区在线蜜臀| 国产一区二区三区怡红院| 中文字幕国产精品二区| 亚洲成色在线综合网站| 四虎国产精品久久免费地址| 性欧美乱熟妇xxxx白浆| 国产中文三级全黄| 精品久久综合日本久久网| 中文字幕少妇人妻精品| 亚洲精品无amm毛片| 欧美日韩精品一区二区三区高清视频 | 年轻女教师hd中字3| 日韩精品一区二区在线视| 欧美野外伦姧在线观看| 高潮迭起av乳颜射后入| 亚洲国产精品综合久久网络| 精品无码一区在线观看| 日本精品一区二区不卡| 国产精品无码av天天爽播放器 | 中文字幕日韩国产精品| 亚洲免费成人av一区| 国产精品毛片一区二区| 亚洲国产精品久久久天堂麻豆宅男 | 国产对白老熟女正在播放| 激情五月日韩中文字幕| 亚洲中文字幕日韩精品| 深夜免费av在线观看|