回答

收藏

使用T-Sql,如何从远程服务器上的一个表插入本地服务器上的另一个表?

技术问答 技术问答 295 人阅读 | 0 人回复 | 2023-09-14

给定远程服务器“生产”(当前可通过IP访问)和本地数据库“开发”,如何INSERT使用T-SQL从“生产”运行到“开发”?$ u5 \2 E7 c" B+ _( d* a! D, z
我使用的是MS SQL 2005,这两个数据库之间的表结构有很大不同,因此需要我手动编写一些迁移脚本。
! ~$ u% t0 \2 _& E! y更新:
- J/ W) `# u; y% f$ c6 ET-SQL确实不是我的包。我尝试了以下操作(不知道自己在做什么):
6 X# e# R. d* g' ]2 {EXEC sp_addlinkedserver
  L9 f8 e( n6 A9 F0 H# H    @server = N'20.0.0.1\SQLEXPRESS',
) v) B& K( C5 b/ J% q% f    @srvproduct=N'SQL Server' ;& f% D+ ]& d" A# U/ f; k# c
GO
2 b6 Y. T, F1 H- t: H) |EXEC sp_addlinkedsrvlogin '20.0.0.1\SQLEXPRESS', 'false',
! D; b, F3 J% P6 A    'Domain\Administrator', 'sa', 'saPassword'
9 Q5 f: ^" ^* z! t/ L, ASELECT * FROM [20.0.0.1\SQLEXPRESS].[DatabaseName].[dbo].[Table]; E( A7 l$ D) z4 Y
我得到了错误:% s# v( A' @, }$ f
- c2 ?  I, V' U: i. r/ V
用户“”登录失败。该用户未与受信任的SQL Server连接关联。) y4 x0 d% g5 M, O2 t
- p( z* i& d5 s" ~* z: Z6 a- I2 b" y
               
1 ^: ~+ j$ n2 k- X6 H解决方案:" j" q# i: u3 Z' D7 Y
               
5 t3 Z9 F" C$ m! i& s" w5 `  o  _6 t8 j' Q9 s5 z7 [
% h8 v3 }( J9 f
                创建一个链接的服务器,然后使用4部分符号; |, Y8 E- [! ^3 ]% y" C: Y8 {1 T
insert table
1 a+ N7 {% [0 g/ j. ~# T9 Sselect ) ^- r2 ]& d4 b/ }: h( Z/ x
from LinkedserverName.DatabaseName.SchemaName.TableName
7 g7 u  p6 Z" t( y0 j您也可以使用OPENROWSET
$ A. C) ~( M* D; z& g例子
* B* h, {% z; c" ginsert table
8 |( y/ e( t+ a8 M5 @6 PSELECT a.*
( d+ {2 K8 k7 R$ K& f. D& G5 k" b7 k8 m; EFROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
# v, H2 n4 v7 P; u     'SELECT GroupName, Name, DepartmentID) I0 @6 G* v/ \4 q+ u' `' U0 X' a
      FROM AdventureWorks2008R2.HumanResources.Department: e8 S  [+ ]2 ^5 I4 D% l+ @
      ORDER BY GroupName, Name') AS a;; t! x1 n3 _, y# ~( _7 r
试试这个来创建登录名1 m0 Y) _: h8 _3 v0 l( z0 W9 Q. B
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'20.0.0.1\SQLEXPRESS',
5 ], J7 `: _0 p6 Y. D# p@useself=N'False',$ [* Z/ }  d6 C; [9 e7 A% }) B
@locallogin=NULL,
4 z& F8 O' k7 U2 O8 o2 b4 C@rmtuser=N'sa',
+ y$ T' j0 L5 Z& E5 }/ T: f% S@rmtpassword='saPassword'
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则