13

我有一个我连接到的服务器 SourceServer,它有一个链接服务器 TargetServer。

插入语句应该如何(我需要引用链接服务器、数据库、命名空间、表):

//Connected to [SourceServer]

USE [SourceDatabase]

DECLARE @HelloWorld NVARCHAR(255)

SELECT @HelloWorld = Name From dbo.Names where Id = 1

INSERT INTO [TargetServer].[TestDatabase].dbo.TestTable (Name)   VALUES (@HelloWorld)

此语句执行时出现异常:

Too many prefixes.

更新:上面的语法工作正常,问题是用于连接到链接服务器的 sql 用户的密码过期:)

4

3 回答 3

22
INSERT INTO [TargetServer].[TestDatabase].[dbo].TestTable (Name)
SELECT Name From [SourceServer].[SourceDatabase].[dbo].[Names] where Id = 1
于 2012-06-22T09:00:38.303 回答
0
select * into [TargetServer].[TestDatabase].[dbo].TestTable
 From [SourceServer].[SourceDatabase].[dbo].[Names]
于 2016-08-03T18:26:58.663 回答
0

如果 Target 中已经存在目标表架构,请使用以下代码

INSERT INTO [TargetLinkedServerName].[TestDatabase].[dbo].[TargetTestTable] 
SELECT * From [SourceLinkedServerName].[SourceDatabase].[dbo].[SourceTestTable]

如果 Target 中已经没有目标表架构,请使用下面的代码(此代码将在 Target 中创建新表,就像源表一样)

select * into [TargetLinkedServerName].[TestDatabase].[dbo].[TargetTestTable] 
 From [SourceLinkedServerName].[SourceDatabase].[dbo].[SourceTestTable]
于 2020-02-13T08:28:54.107 回答