gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:54:35 26 4
gpt4 key购买 nike

给定远程服务器“生产”(当前可通过 IP 访问)和本地数据库“开发”,我如何使用 T-SQL 将 INSERT 从“生产”运行到“开发” ?

我使用的是 MS SQL 2005,这两个数据库的表结构有很大不同,因此我需要手动编写一些迁移脚本。

更新:

T-SQL 真的不是我的菜。我尝试了以下(不知道我在做什么):

EXEC sp_addlinkedserver 
@server = N'20.0.0.1\SQLEXPRESS',
@srvproduct=N'SQL Server' ;

GO

EXEC sp_addlinkedsrvlogin '20.0.0.1\SQLEXPRESS', 'false',
'Domain\Administrator', 'sa', 'saPassword'

SELECT * FROM [20.0.0.1\SQLEXPRESS].[DatabaseName].[dbo].[Table]

我得到了错误:

Login failed for user ''. The user is not associated with a trusted SQL Server connection.

最佳答案

创建一个 linked server然后使用 4 部分表示法

insert table
select <column names>
from LinkedserverName.DatabaseName.SchemaName.TableName

你也可以使用OPENROWSET

例子

insert table
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks2008R2.HumanResources.Department
ORDER BY GroupName, Name') AS a;

试试这个来创建登录名

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'20.0.0.1\SQLEXPRESS',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'sa',
@rmtpassword='saPassword'

关于sql - 使用 T-Sql,如何从远程服务器上的一个表插入本地服务器上的另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4521670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com