2017-07-19 79 views
1

我有一个SQL Azure数据库服务器与2个数据库,我需要从第一个数据库的表中插入记录到另一个数据库中的另一个表。两个数据库都位于同一台服务器上,具有相同的安全设置/登录名。不能从一个表插入记录到其他数据库中的另一个表

我曾尝试:

INSERT INTO DatabaseB.dbo.TableB (ColumnA, ColumnB) 
SELECT TableA.ColumnA, TableA.ColumnB 
FROM DatabaseA.dbo.TableA 

当我运行SQL与SSMS我得到:

Msg 40515, Level 15, State 1, Line 16 
Reference to database and/or server name in 'DatabaseB.dbo.TableB ' is not supported in this version of SQL Server. 

回答

3

跨数据库的查询,如你试图做一个不被支持与SQL数据库,除了只读弹性查询。你需要执行两个单独的操作。

具体SQL Server和SQL数据库之间的T-SQL差别为here

关于弹性查询的信息:here

+0

“两个独立的操作”是什么意思? – Manu

+2

意思是,你需要先对数据库A进行查询,然后对数据库B执行插入操作。独立。使用单独的连接字符串/数据库上下文。如上所述,您无法在单个查询中桥接两个数据库(不管凭据是否相同)。 –

+0

首先对数据库A执行查询,将结果暂时存储在“某处”(?),然后将结果复制到数据库B中的表中。正确? – Manu

相关问题