1. 程式人生 > >MSSQL-跨伺服器之間複製資料方法

MSSQL-跨伺服器之間複製資料方法

開啟SQL相關配置

SQL Server 阻止了對元件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。

1.開啟Ad Hoc Distributed Queries元件,在sql查詢編輯器中執行如下語句:
 
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

    2.關閉Ad Hoc Distributed Queries元件,在sql查詢編輯器中執行如下語句:


exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

---------------------------------

=====示例=========

--查詢遠端
--select * from openrowset( 'SQLOLEDB', '166.62.xx.xx'; 'userid'; 'pwd', databaseName.dbo.admin)
/* */
--insert openrowsetopenrowset( 'SQLOLEDB', '166.62.xx.xx'; 'userid'; 'pwd', databaseName.dbo.admin)
select count(id) from carsets_co_uk_server.dbo.ProContent as spro where spro.ProductItemNo not in(select tpro.ProductItemNo from openrowset( 'SQLOLEDB', '166.62.xx.xx'; 'userid'; 'pwd', databaseName.dbo.admin) as tpro)


----複製查詢方法---

不同伺服器資料庫之間的資料操作

>>方法一
--建立連結伺服器 exec sp_addlinkedserver  'ITSV ', '', 'SQLOLEDB', '遠端伺服器名或ip地址'exec sp_addlinkedsrvlogin'ITSV ', 'false',null,'使用者名稱 ', '密碼'--查詢示例 select *from ITSV.資料庫名.dbo.表名

--匯入示例 select *intofrom ITSV.資料庫名.dbo.表名

--以後不再使用時刪除連結伺服器exec sp_dropserver 'ITSV '

, 'droplogins'

--- 方法二----

--連線遠端/區域網資料(openrowset/openquery/opendatasource)
--
1、openrowset --查詢示例 select *fromopenrowset('SQLOLEDB ', 'sql伺服器名'; '使用者名稱'; '密碼',資料庫名.dbo.表名)

--生成本地表 select *intofromopenrowset( 'SQLOLEDB ','sql伺服器名 '; '使用者名稱'; '密碼',資料庫名.dbo.表名)

--把本地表匯入遠端表insert openrowset( 'SQLOLEDB ','sql伺服器名 '; '使用者名稱'; '密碼',資料庫名.dbo.表名)
select *from 本地表

--更新本地表 update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ','sql伺服器名 '; '使用者名稱'; '密碼',資料庫名.dbo.表名)as ainnerjoin 本地表 b
on a.column1=b.column1

--openquery用法需要建立一個連線--首先建立一個連線建立連結伺服器exec sp_addlinkedserver  'ITSV ', '', 'SQLOLEDB', '遠端伺服器名或ip地址'--查詢 select *FROM openquery(ITSV,  'SELECT *  FROM 資料庫.dbo.表名')
--把本地表匯入遠端表insert openquery(ITSV,  'SELECT *  FROM 資料庫.dbo.表名')
select *from 本地表
--更新本地表 update b
set b.列B=a.列B
FROM openquery(ITSV,  'SELECT * FROM 資料庫.dbo.表名') as
inner join 本地表 b on a.列A=b.列A

--3、opendatasource/openrowsetSELECT *FROM opendatasource( 'SQLOLEDB ''Data Source=ip/ServerName;User ID=登陸名;Password=密碼' ).test.dbo.roy_ta
--把本地表匯入遠端表insert opendatasource( 'SQLOLEDB ''Data Source=ip/ServerName;User ID=登陸名;Password=密碼').資料庫.dbo.表名
select *from

相關推薦

MSSQL伺服器之間複製資料方法

開啟SQL相關配置 SQL Server 阻止了對元件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用

SQL server不同伺服器之間複製資料

如果兩臺伺服器要複製資料,有兩種方法,我這裡先介紹一種: 劃重點:前提是本地伺服器能ping通遠端伺服器,不然一切白搭 下面開工: 本地伺服器建立遠端伺服器的連結服務: exec addlinkedserver '遠端伺服器別名','','S

SQLServer中伺服器資料庫之間資料操作

首先必須理解一個概念: select * from sys.servers         (檢視系統表,看原來的伺服器名) 要想跨域就必須在以上資訊中可以檢索到! 怎樣新增? --建立連結伺服器  exec sp_addlinkedserver   'ITS

使用scp命令在mac本機和linux伺服器之間傳輸資料

命令不復雜: 1、從伺服器下載檔案  scp [email protected]:/path/filename /tmp/local_destination  2、上傳本地檔案到伺服器  scp /path/local_filename [email

Vulkan Cookbook 第四章 12 在緩衝區之間複製資料

在緩衝區之間複製資料 在Vulkan中,為了將資料上傳到緩衝區,我們不僅限於記憶體對映技術。既使繫結到它們的記憶體物件是從不同的記憶體型別分配的,也可以在緩衝區之間賦值資料。 譯者注:示例程式碼點選此處 怎麼做... 1.獲取命令緩衝區的控制代碼。將其儲存在名為command_buf

Flume伺服器實時採集資料

整體架構如下圖,有兩臺伺服器,在伺服器之間傳輸一般用avro 或者Thrift比較多,這裡選擇avro source和sink: 一、Flume配置 1.在A伺服器新建aserver.conf #伺服器A(192.168.116.10) a1.sources = r1 a1.sin

Android:客戶端和伺服器之間傳輸資料加密

       Android客戶端與伺服器進行資料傳輸時,一般會涉及到兩類資料的加密情況,一類是隻有建立者才能知道的資料,比如密碼;另一類是其他比較重要的,但是可以逆向解密的資料。        第一類:密碼類的資料,為了讓使用者放心註冊,密碼類的資料的加密一般都是經過

sqlserver伺服器備份表資料

跨伺服器資料庫 資料查詢可以用 openrowset ,用法如下: select * into  表名 from openrowset ('SQLOLEDB' , '資料庫IP' ; '賬號' ; '密碼' ,資料庫名稱.dbo.表名) . 如果發現下面錯誤: 訊息 152

伺服器,表資料同步方式!

過程:PLSQL——>Database links——>新建一個dblink 新建dblink具體步驟: 1、資料庫連線       所有者:XXX(比如:EAPS)       名稱:XXX(辨識度高點的名字,比如:EAPS_LINK) 2、連線到

Mysql-兩個表之間複製資料

想把一個數據庫中表中資料複製到另一個數據庫或者同一個資料庫中可以採取以下方法: 1.表結構相同的表,且在同一資料庫(如,table1,table2) Sql :insert into table1 select * from table2 (完全複製)       inser

伺服器之間傳輸資料

linux 伺服器之間互相傳遞檔案,向伺服器傳遞資料的方法很多,介紹一下 scp的用法:  scp -r /root/lk  [email protected]:/home/lk/cpfi

快取一致性和伺服器查詢的資料異構解決方案canal

當你的專案資料量上去了之後,通常會遇到兩種情況,第一種情況應是最大可能的使用cache來對抗上層的高併發,第二種情況同樣也是需要使用分庫 分表對抗上層的高併發。。。逼逼逼起來容易,做起來並不那麼樂觀,由此引入的問題,不見得你有好的解決方案,下面就具體分享下。 一:儘可

伺服器 快速 匯入資料表記錄 Insert into SELECT

Use DataBaseName /*開啟Ad Hoc Distributed Queries元件 exec sp_configure 'show advanced options',1 reco

HBase叢集複製資料的另一種方法

2012-08-14 http://abloz.com date:2012.8.14 上一篇文章《hbase 複製備份資料》 中提到用工具CopyTable來在叢集間複製資料。另外還有一種更暴力的方式,來共享HBase備份表。

關於兩個伺服器資料庫之間資料幾種方法實踐

以前資料庫和環境相關的都是開發之前都是開發LEADER 搞定了,今天自己搞本地資料庫做測試,由於表比較多,資料比較多, 所以在用了很多種資料同步的方法,現在總結下下面幾種方法的感受 1.通過轉儲SQL 檔案,通過轉儲表結構和資料SQL 檔案的方式 ,然後匯入到本地的資料庫    缺點:

不同伺服器資料庫之間資料操作--複製同步(整理版)

以下實現複製步驟(以快照複製為例) 執行平臺SQL SERVER 2005 一、準備工作: 1.建立一個 WINDOWS 使用者,設定為管理員許可權,並設定密碼,作為釋出快照檔案的有效訪問使用者。 2.在SQL SERVER下實現釋出伺服器和訂閱伺服器的通訊正常(即可以互訪)。開啟1433埠,

多臺sql server 伺服器之間資料的同步、分發、複製

<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> 利用資料庫複製技術 實現資料

Windows:本地電腦與遠端伺服器之間不能複製貼上解決方法

步驟1: 步驟2 在伺服器上開啟工作管理員(Ctrl+Alt+Del或者是Ctrl+Shift+Esc,也可以右鍵點選工作列,選擇工作管理員開啟),檢視程序,找到 rdpclip.exe 程序,

sql serve 伺服器查詢資料方法

 今天在做sql server 的資料查詢時,需要用到跨伺服器連線,在這裡記錄一下,如何在sql server 中,使用跨伺服器查詢的方法,有以下步驟。 /*建立中間資料庫連結 exec sp_addlinkedserver 'MiddleData', ' ', 'SQ

mongodb 快速複製資料到 另外一臺伺服器

源伺服器 192.168.1.100   27017 目標伺服器 192.168.1.100   27018   源伺服器  目標伺服器  配置成 主從模式 ,就可以實現無需(匯出 匯入 資料)