一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - 深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

2020-06-12 17:37jingxian Sql Server

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

下面介紹的就是數據庫同步的兩種方式:

  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 創建一個預設的登錄映射。

使用 Windows 身份驗證模式,用戶連接到 SQL Server。 在客戶端和發送服務器上安全帳戶委托是可用的。 提供程序支持 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、  新建作業。如下圖:

深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

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


深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

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

深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹 深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

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

深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹 深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

e、  進行作業的第下一個步驟。如下圖:深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

e、設置作業執行計劃

深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

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

g、完成后作業下面就多了剛開發的作業。如下: 深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹 h、作業制作完成后,可以立即讓它執行。如果不讓它執行,它也會在按照制定頻率執行。測試作業: 深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹 深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹 深入SqlServer2008 數據庫同步的兩種方式(Sql JOB)的分析介紹

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美国产日产精品免费视频 | 精品国产成人 | 地址二地址三2021变更 | 日韩免费在线视频观看 | 国产精品视频久久久 | 免费在线观看网址大全 | 亚洲va在线va天堂va偷拍 | 忘忧草秋观看未满十八 | 国产欧美一区二区成人影院 | 成人免费福利网站在线看 | 四虎永久在线精品国产馆v视影院 | 好姑娘在线视频观看免费 | 极品主播的慰在线播放 | 久久中文字幕无线观看 | 青青草色| 嫩草在线视频www免费观看 | 亚洲男人天堂 | 日本人和黑人一级纶理片 | 香蕉在线精品亚洲第一区 | 国产精视频 | 亚洲国产精品一在线观看 | 国产精品亚洲专区在线播放 | 好大好爽好涨太深了小喜 | 欧美日本一区视频免费 | 亚欧日韩 | 欧美国产精品 | zol中关村在线 | 公交车高h | 美女脱了内裤让男生玩屁股 | 特黄a大片免费视频 | 国产成人亚洲综合网站不卡 | 日韩一级精品视频在线观看 | 亚洲一区二区成人 | 天天爽视频 | 欧美日韩国产在线人成dvd | 91看片淫黄大片欧美看国产片 | 先锋资源av| 亚洲经典激情春色另类 | 亚洲美女人黄网成人女 | 精品免费久久久久久成人影院 | 国产精品久久久久久久久久久威 |