2010-08-18 183 views
0

我使用SQL查询分析器一体机(A)上建立从数据库中的报表上创建一个T-SQL临时表,我想在数据库服务器上创建一个临时表另一台机器(B)和与所述数据加载它从机A.另一台服务器机

更具体地,我有在计算机A上运行的报告(machine.a.com),从模式TST拉动。使用SQL查询分析器,我登录到服务器在machine.a.com,然后有机会获得TST模式:

USE tst; 
SELECT * 
FROM prospect; 

我想创建从该查询窗口,一个临时表,只有我愿意它建立在另一台机器上(称为machine.b.com)。我会用什么语法?我的猜测是这样的:

CREATE TABLE machine.b.com.#temp_prospect_list(name varchar(45) Not Null, id decimal(10) Not Null); 

然后我想加载具有这样的新表:

INSERT INTO machine.b.com.#temp_prospect_list VALUES (
    USE tst; 
    SELECT * 
    FROM prospect;); 
+1

我想你误会表是什么温度。他们只对当前会话有效。即使你能做到,我也确信它不会达到你想要的。使用REAL表,然后它是有道理的。 – Fosco 2010-08-18 17:47:06

+0

我可以使用真正的表作为替代。语法有很大的不同?我想创建一个永久表,你只需要使用一个没有前缀#号的表名... – dvanaria 2010-08-18 17:52:19

回答

0

的语法来访问T-SQL远程服务器是完全合格具有以下任何表名(括号包括在必要时):

[LinkedServer].[RemoteDatabase].[User].[Table] 

因此,举例来说,以访问另一服务器上的表中的一个服务器上运行SELECT语句:

SELECT * FROM [machine.b.com].tst.dbo.table7; 
相关问题