SQLデータベース間のデータ同期、データ間のクロスデータベースの更新

 

 

コードをコピー
  1 -リンクサーバーを作成
  2 
  3 Execのsp_addlinkedserverを'ITSV'、 ''、 'SQLOLEDB'、 'リモートサーバー名またはIPアドレス' 
  4 
  5 Execのsp_addlinkedsrvloginがをITSV ''偽'NULL、'ユーザ名''パスワードを' 
  6。
  7。   
  8。
  9 -クエリ例
 10 
 。11 SELECT * ITSV .dboデータベーステーブル名から。
 12は
 13である   
 14 
 15 -インポート例
 16 
 ... 17 SELECT * ITSV INTOテーブル名.dboデータベーステーブルから
 18である
 19。   
 20 
 21 -もはや使用しませんリンクサーバーの削除
 22 
 23 Execのsp_dropserverを'をITSV'、 'droplogins'
 24 
 25   
 26である
 27 -接続/リモートLANデータ(OPENROWSET / OPENQUERY / OPENDATASOURCE)
 28
 --1 29、OPENROWSET 
 30 
 31である   
 32 
 33は、 -クエリ例
 34で
 OPENROWSETから35 SELECT *( 'SQLOLEDB'、 'SQLサーバー名'。; 'ユーザ名'、 'パスワード'、.dboデータベーステーブル名)
 36 
 37 [   
 38は、
 39 -盛-コスト面
 40 
 41は、SELECTで*テーブルにOPENROWSETから(「SQLOLEDB」。 「のSQL サーバ名」;「ユーザ名」「パスワード」、データベーステーブル名.dbo名)
 42は、
 43さ   
 44れている
 45 -リモートテーブルにローカルテーブル
 46は、
 「ユーザ名」;; 47 INSERT OPENROWSET(「SQLOLEDB」、「SQLサーバー名」「パスワード」データベース名.dbo。テーブル名) 
 48 
 49 SELECT *ローカルテーブルから
 50 
 51は、   
 52である
 53である-ローカルテーブル更新
 54である
 55 B更新
 56れる
 57 = SET列B列Aです。 
 58
 OPENROWSET( 'SQLOLEDB'、59 'のSQL サーバー名'、 'ユーザ名' ;. 'パスワード'、.dboデータベーステーブル名)内のようなローカルテーブルBに参加する
 60 
 61 a.column1 b.column1 ONである= 
 62である
 63であります   
 64 
 65の使用は、接続を作成する必要があり--openquery 
 66 
 67   
 68 
 69 -作成するために、サーバーに接続された第一のリンクを作成する
 70 
 71はsp_addlinkedserverをExecの「ITSV」で、「」、「SQLOLEDB」、「リモートサーバー名またはIPアドレスを」
 72 
 73がされて-クエリ
 74 
 75 SELECT * 
 76 
 77 OPENQUERY FROM(ITSV、 'SELECT * .dboデータベーステーブル名FROM')
 78の
 79 -リモートテーブルにローカルテーブル
 80 
 。81 INSERT OPENQUERY(ITSV、「SELECT *データベーステーブルから.dbo名') 
 82 
 ローカルテーブルから83 SELECT *
 84
 85 -ローカルテーブル更新
 86 
 87更新B 
 88 
 89 B SET。カラムB =。カラムB 
 90 
 91 AS OPENQUERY(ITSV、 'SELECT *データベース.dbo FROM表')である   
 92 
 =。列Aのローカル表Bに参加し93インナー。B列は、
 94 
 95   
 96 
 97 --- 3、OPENDATASOURCE / OPENROWSET 
 98 
 99 SELECT * 
100 
OPENDATASOURCE FROM 101( 'SQLOLEDB'は、 'データソースIP /サーバー名を=; =ユーザーIDのログイン名、パスワード=パスワード').TESTを。 dbo.roy_ta 
102 
103 -リモート・テーブルにローカルテーブル
104 
105 INSERT OPENDATASOURCE( 'SQLOLEDB'、 'データがソースIP /サーバー名を=; =ユーザーIDのログイン名、パスワード=パスワード').dboデータベーステーブル名。
106 
107から*を選択
コードをコピー

 以下の二つの実装上で実行エラーの場合。

EXECます。sp_configure「高度な表示オプション」、1つの
再構成
のexecます。sp_configure「アドホック分散クエリ」、1つの
再構成

クロステーブルの更新テーブルデータ

コードをコピー
幹部sp_addlinkedserverを「ITSV」、「」 「SQLOLEDB」、「サーバー\ SQLEXPRESS」 - ストアドプロシージャリモートデータベース接続を作成

sp_dropserverを--exec「をITSV」、「droplogins 」 - 行は、ストアドプロシージャを削除しません
 
-更新ローカルテーブルの
更新Bの
SET b.Levels = a.Levels、b.Plogons = a.Plogons 
OPENQUERY(ITSV、 'LandSection.dbo.LandLevel SELECT * FROM')AS FROM   
インナー参加[DBO]。[landlevel] B ON .ID = b.ID
コードをコピー
 
 
 
 
 
実行エラーアドホック分散クエリがある場合: 

启用アドホック分散クエリ:
EXECます。sp_configure「高度な表示オプション」、1つの
再構成
のexecます。sp_configure「アドホック分散クエリ」、1つの
再構成

关闭アドホック分散クエリ:
EXEC sp_configureの「アドホック分散クエリ」、0
再構成
のexecます。sp_configure「高度な表示オプション」0
再設定

 

コードをコピー
  1 -リンクサーバーを作成
  2 
  3 Execのsp_addlinkedserverを'ITSV'、 ''、 'SQLOLEDB'、 'リモートサーバー名またはIPアドレス' 
  4 
  5 Execのsp_addlinkedsrvloginがをITSV ''偽'NULL、'ユーザ名''パスワードを' 
  6。
  7。   
  8。
  9 -クエリ例
 10 
 。11 SELECT * ITSV .dboデータベーステーブル名から。
 12は
 13である   
 14 
 15 -インポート例
 16 
 ... 17 SELECT * ITSV INTOテーブル名.dboデータベーステーブルから
 18である
 19。   
 20 
 21 -もはや使用しませんリンクサーバーの削除
 22 
 23 Execのsp_dropserverを'をITSV'、 'droplogins'
 24 
 25   
 26である
 27 -接続/リモートLANデータ(OPENROWSET / OPENQUERY / OPENDATASOURCE)
 28
 29 --1、OPENROWSET
 30 
 31である   
 32 
 33は、 -クエリ例
 34で
 OPENROWSETから35 SELECT *( 'SQLOLEDB'、 'SQLサーバー名'。; 'ユーザ名'、 'パスワード'、.dboデータベーステーブル名)
 36 
 37 [   
 38は、
 39 -盛-コスト面
 40 
 41は、SELECTで*テーブルにOPENROWSETから(「SQLOLEDB」。 「のSQL サーバ名」;「ユーザ名」「パスワード」、データベーステーブル名.dbo名)
 42は、
 43さ   
 44れている
 45 -リモートテーブルにローカルテーブル
 46は、
 「ユーザ名」;; 47 INSERT OPENROWSET(「SQLOLEDB」、「SQLサーバー名」「パスワード」データベース名.dbo。テーブル名) 
 48 
 49 SELECT *ローカルテーブルから
 50 
 51は、   
 52である
 53である-ローカルテーブル更新
 54である
 55 B更新
 56れる
 57 = SET列B列Aです。
 58 
 OPENROWSETから59( 'SQLOLEDB'、 'SQLサーバー名'、 'ユーザ名' ;. 'パスワード'、.dboデータベーステーブル名)内のローカルテーブルBに参加するように
 60 
 61 a.column1 = b.column1 ONで
 62れます
 63は、   
 64 
 65の使用は、接続を作成する必要が--openquery 
 66 
 67   
 68 
 作成するために、サーバーに接続された第一のリンクを作成- 69 
 70 
 71は「sp_addlinkedserverをExecの「ITSV」です」、「SQLOLEDB」、「リモートサーバー名またはIPアドレスを」
 72 
 73です- -クエリ
 74 
 75 SELECT * 
 76 
 77 OPENQUERY FROM(ITSV、 'SELECT * .dboデータベーステーブル名FROM')
 78 
 79 -リモートテーブルにローカルテーブル
 80 
 81 INSERT OPENQUERY(ITSV、「SELECT * FROMデータベース.dbo。テーブル名') 
 82 
 ローカルテーブルから83 SELECT * 
 84
 85 -ローカルテーブル更新
 86 
 87更新B 
 88 
 89 B SET。カラムB =。カラムB 
 90 
 91 AS OPENQUERY(ITSV、 'SELECT *データベース.dbo FROM表')である   
 92 
 =。列Aのローカル表Bに参加し93インナー。B列は、
 94 
 95   
 96 
 97 --- 3、OPENDATASOURCE / OPENROWSET 
 98 
 99 SELECT * 
100 
OPENDATASOURCE FROM 101( 'SQLOLEDB'は、 'データソースIP /サーバー名を=; =ユーザーIDのログイン名、パスワード=パスワード').TESTを。 dbo.roy_ta 
102 
103 -リモート・テーブルにローカルテーブル
104 
105 INSERT OPENDATASOURCE( 'SQLOLEDB'、 'データがソースIP /サーバー名を=; =ユーザーIDのログイン名、パスワード=パスワード').dboデータベーステーブル名。
106 
107から*を選択
コードをコピー

 以下の二つの実装上で実行エラーの場合。

EXECます。sp_configure「高度な表示オプション」、1つの
再構成
のexecます。sp_configure「アドホック分散クエリ」、1つの
再構成

クロステーブルの更新テーブルデータ

コードをコピー
幹部sp_addlinkedserverを「ITSV」、「」 「SQLOLEDB」、「サーバー\ SQLEXPRESS」 - ストアドプロシージャリモートデータベース接続を作成

sp_dropserverを--exec「をITSV」、「droplogins 」 - 行は、ストアドプロシージャを削除しません
 
-更新ローカルテーブルの
更新Bの
SET b.Levels = a.Levels、b.Plogons = a.Plogons 
OPENQUERY(ITSV、 'LandSection.dbo.LandLevel SELECT * FROM')AS FROM   
インナー参加[DBO]。[landlevel] B ON .ID = b.ID
コードをコピー
 
 
 
 
 
実行エラーアドホック分散クエリがある場合: 

启用アドホック分散クエリ:
EXECます。sp_configure「高度な表示オプション」、1つの
再構成
のexecます。sp_configure「アドホック分散クエリ」、1つの
再構成

关闭アドホック分散クエリ:
EXEC sp_configureの「アドホック分散クエリ」、0
再構成
のexecます。sp_configure「高度な表示オプション」0
再設定

おすすめ

転載: www.cnblogs.com/kelly1314/p/11454250.html