日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

深入SqlServer2008 數(shù)據(jù)庫同步的兩種方式(Sql JOB)的分析介紹_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣

推薦:基于B-樹和B+樹的使用:數(shù)據(jù)搜索和數(shù)據(jù)庫索引的詳細介紹
本篇文章介紹了,基于B-樹和B+樹的使用:數(shù)據(jù)搜索和數(shù)據(jù)庫索引的詳細分析。需要的朋友參考下

 

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

 

1、SQL JOB的方式

 

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

 

刪除連接存儲過程參數(shù)用法如下:

 

a)sp_droplinkedsrvlogin

 

語法

 

sp_addlinkedsrvlogin [ @rmtsrvname =] 'rmtsrvname'

 

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

 

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

 

參數(shù)

 

[@rmtsrvname =] 'rmtsrvname'

 

是應(yīng)用登錄映射的鏈接服務(wù)器名稱。rmtsrvname 的數(shù)據(jù)類型為 sysname,沒有默認設(shè)置。

 

[@useself =] 'useself'

 

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

 

[ @locallogin =] 'locallogin'

 

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

 

[@rmtuser =] 'rmtuser'

 

當 useself 為 false時,用來連接 rmtsrvname 的用戶名,rmtuser 的數(shù)據(jù)類型為 sysname,默認設(shè)置為 NULL。

 

[@rmtpassword =] 'rmtpassword'

 

與 rmtuser 相關(guān)的密碼。rmtpassword 的數(shù)據(jù)類型為 sysname,默認設(shè)置為 NULL。

 

返回代碼值

 

0(成功)或 1(失敗)

 

注釋:

 

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

 

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

 

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

 

用法示例:

 

EXEC sp_droplinkedsrvlogin 'DBLink',Null

 

b)sp_dropserver

 

從本地 Microsoft® SQL Server™ 上的已知遠程和鏈接服務(wù)器列表中刪除服務(wù)器。

 

語法

 

sp_dropserver [ @server =] 'server'

 

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

 

參數(shù)

 

[@server =] 'server'

 

將被刪除的服務(wù)器。server 的數(shù)據(jù)類型為 sysname,沒有默認值。server 必須已經(jīng)存在。

 

[@droplogins =] 'droplogins' | NULL

 

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

 

返回代碼值

 

0(成功)或 1(失敗)

 

注釋

 

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

 

不能在用戶定義的事務(wù)內(nèi)執(zhí)行 sp_dropserver

 

權(quán)限

 

只有 sysadminsetupadmin 固定服務(wù)器角色的成員才可以執(zhí)行 sp_dropserver。

 

用法示例:

 

EXEC sp_dropserver 'DBLink'

 

建立連接存儲過程參數(shù)用法如下:

 

a)sp_addlinkedserver

 

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

 

語法

 

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

 

[ ,[ @provider =] 'provider_name']

 

[ ,[ @datasrc =] 'data_source']

 

[ ,[ @location =] 'location']

 

[ ,[ @provstr =] 'provider_string']

 

[ ,[ @catalog =] 'catalog']

 

參數(shù)

 

[ @server =] 'server'

 

要創(chuàng)建的鏈接服務(wù)器的本地名稱,server 的數(shù)據(jù)類型為 sysname,沒有默認設(shè)置。

 

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

 

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

 

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

 

[ @srvproduct =] 'product_name'

 

要添加為鏈接服務(wù)器的 OLE DB 數(shù)據(jù)源的產(chǎn)品名稱。product_name 的數(shù)據(jù)類型為 nvarchar(128),默認設(shè)置為 NULL。如果是 SQL Server,則不需要指定 provider_name、data_source、location、provider_string 以及目錄。

 

[ @provider =] 'provider_name'

 

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

 

[ @datasrc =] 'data_source'

 

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

 

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

 

[ @location =] 'location'

 

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

 

[ @provstr =] 'provider_string'

 

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

 

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

 

[ @catalog =] 'catalog'

 

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

 

返回代碼值

 

0(成功)或 1(失敗)

 

結(jié)果集

 

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

 

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

 

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

 

Server added.

 

用法示例:

 

EXEC sp_addlinkedserver 'DBLink', ' ', 'SQLOLEDB', "10.0.222.12"

 

b)sp_addlinkedsrvlogin

 

創(chuàng)建或更新本地 Microsoft® SQL Server™ 實例上的登錄與鏈接服務(wù)器上遠程登錄之間的映射。

 

語法

 

sp_addlinkedsrvlogin [ @rmtsrvname =] 'rmtsrvname'

 

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

 

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

 

參數(shù)

 

[@rmtsrvname =] 'rmtsrvname'

 

是應(yīng)用登錄映射的鏈接服務(wù)器名稱。rmtsrvname 的數(shù)據(jù)類型為 sysname,沒有默認設(shè)置。

 

[@useself =] 'useself'

 

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

 

rmtsrvname,而忽略 rmtuser 和 rmtpassword 參數(shù)。false 值指定 rmtuser 和 rmtpassword 參數(shù)用來連接到特定 locallogin 的 rmtsrvname。

 

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

 

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

 

[ @locallogin =] 'locallogin'

 

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

 

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

 

SQL Server 的權(quán)限。

 

[@rmtuser =] 'rmtuser'

 

當 useself 為 false時,用來連接 rmtsrvname 的用戶名,rmtuser 的數(shù)據(jù)類型為 sysname,默認設(shè)置為 NULL。

 

[@rmtpassword =] 'rmtpassword'

 

與 rmtuser 相關(guān)的密碼。rmtpassword 的數(shù)據(jù)類型為 sysname,默認設(shè)置為 NULL。

 

返回代碼值

 

0(成功)或 1(失敗)

 

注釋

 

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

 

務(wù)器登錄鏈接服務(wù)器的登錄憑據(jù)。

 

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

 

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

 

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

 

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

 

sp_addlinkedsrvlogin創(chuàng)建一個預(yù)設(shè)的登錄映射。

 

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

 

在客戶端和發(fā)送服務(wù)器上安全帳戶委托是可用的。

 

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

 

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

 

而不是由本地服務(wù)器決定。

 

不能從用戶定義的事務(wù)中執(zhí)行 sp_addlinkedsrvlogin

 

權(quán)限

 

只有 sysadminsecurityadmin 固定服務(wù)器角色的成員才可以執(zhí)行 sp_addlinkedsrvlogin。

 

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

 

介紹完建立連接的方式,下面正式介紹SQL JOB的開發(fā)。直接用步驟介紹了。

 

a)新建作業(yè)。如下圖:

 

a、 新建作業(yè)。如下圖:

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

 

 

d、 進行作業(yè)的第一個步驟------建立數(shù)據(jù)庫連接操作。如下圖:

 

 

 

 

 

 

 

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

 

 

e、設(shè)置作業(yè)執(zhí)行計劃

 

 

 

 

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

 

g、完成后作業(yè)下面就多了剛開發(fā)的作業(yè)。如下:

 

 

 

 

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

 

 

 

 

 

 

 

 

 

分享:sql server多行數(shù)據(jù)拼接的實例方法
sql server多行數(shù)據(jù)拼接的實例方法,需要的朋友可以參考一下

來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2013-04-29
相關(guān)Mssql數(shù)據(jù)庫教程