如何使用SQL语句链接另一台服务器? (sql 链接另一台服务器 语句)

在企业级应用程序中,经常需要使用 SQL Server 连接到不同的服务器。例如,在一个公司的数据中心中,可能需要连接到其他设施或国家的服务器,以便访问分布式数据。在本文中,我们将讨论如何使用 T-SQL 语句连接到其他 SQL Server 实例以及其他的服务器。

使用 SQL Server Management Studio 连接到另一台服务器

您可以使用 SQL Server Management Studio(SS)中的“新建查询”窗口连接到其他服务器。在新的查询窗口中,单击菜单栏上的“对象资源管理器”选项卡。

在“对象资源管理器”中,单击“连接到服务器”。在“连接到服务器”对话框中,您需要指定要连接的服务器名称和身份验证方式。您可以在此处选择 Windows 身份验证或 SQL Server 身份验证方式。

如果您选择 Windows 身份验证,则使用 SS 所运行的帐户连接到目标服务器。如果您选择 SQL 身份验证方式,则需要提供一个用户名和密码。

在指定要连接的服务器信息后,单击“连接”按钮即可建立与目标服务器的连接。

使用 OpenRowset 函数连接到另一台服务器

除了使用 SS 连接到其他服务器之外,您还可以使用 T-SQL 语句中的 OpenRowset 函数。OpenRowset 函数可以从其他服务器的表中检索数据,并在您的服务器上创建一个新表。

OpenRowset 函数的语法如下:

SELECT *

FROM OPENROWSET(‘SQLNCLI’, ‘Server=;Trusted_Connection=yes;’,

‘SELECT * FROM ‘)

其中,SQLNCLI 是指 Microsoft SQL Server Native Client(一个 OLE DB 驱动程序),Server 选项指定要连接的远程服务器的名称,Trusted_Connection 选项设置要使用 Windows 身份验证(输入用户名和密码可更改为 SQL Server 身份验证)。

如果您要从另一个数据库目录中检索数据,则应在“SELECT”查询中使用完全限定的表名,如 [database_name].[schema_name].[table_name]。

在运行此查询之后,将创建一个新表以检查查询中指定的列数据。

使用 Linked Server 连接到另一台服务器

我们看一下使用 Linked Server 连接到其他服务器的方法。Linked Server 是 SQL Server 中的一个重要功能,它允许从一个服务器连接到另一个服务器,并在两个服务器之间传递数据。

需要在您的服务器上配置 Linked Server。此配置由系统管理员完成。

一旦 Linked Server 配置完成,您可以在 T-SQL 中使用它。例如,以下查询将检索联接到 Linked Server “remote_server” 的表中的所有数据:

SELECT *

FROM remote_server…

其中,、 和

是要检索的表的名称。

这篇文章介绍了三种使用 T-SQL 语句连接到其他服务器的方法:使用 SS 中的“对象资源管理器”连接、使用 OpenRowset 函数和使用 Linked Server。

相关问题拓展阅读:

SQL SERVER 数据库 怎么从一个服务器一个表中把数据插入到另一个服务器中的一个表内

楼主您好您的意思实际上是SQLserver的分布式查询:如果一个项目需要二至多台服务器,而我们又必须从几台服务器中将数据取出来,这就必须用分布式查询!

在这里有两个概念:本地数据源、远程数据源!

本地数据源指的是单个服务器上的数据而远程数据源指的是另一个SQL实例上的数据。

如何跨服务器取数呢?

一、

如果经常访问或数据量大,建议用链接服务器–创建链接服务器

exec sp_addlinkedserver ”srv_lnk”,””,”祥耐SQLOLEDB”,”远程服务器名或ip地址”

exec sp_addlinkedsrvlogin ”srv_lnk”,”false”,null,”用户名”,”密码”go

–查询示例:

select * from srv_lnk.数据库名.dbo.表名

–导入示例:

select * into 表 from srv_lnk.数据库名.dbo.表名go–以后不再使用时删除链接服务器

exec sp_dropserver ”srv_lnk”,”droplogins”

二、

–如果只是临时访问,可以直接用openrowset

–查询示例:

select * from openrowset(”SQLOLEDB”,”sql服务器名”;”用户名”;”密码”,数据库名.dbo.表名)

–导入示例:

select * into 表 from openrowset(”SQLOLEDB”,”sql服务器名”;”用户名”;”密码”,数据库名.dbo.表名)

如何在企业管理器中设置呢?

SQL实例—>安全性—>链接服务器—>右键新建链接服务器常规中输入链接服务器的名字,选其它数据源,选SQLOLEDB,数据源写上,一般写IP地址再选安全性—–》选本地登陆—-》模拟打勾用此安全上下文进行,输入用户与密码。

常见问题:1.在建立完链接服务器后,我们进行查询操作例:我们已对DFLD的服务器做了链接,紧接着我们想访问它中PUBS数据库谨拆春中的Authors表Select * From DFLD.PUBS..Authors经常会出二类问题

1.提示 异类查御携询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这 些选项,然后重新发出查询。 这种提示是因为没有将ANSI_NULLS与ANSI_WARNINGS打开 SET ANSI_NULLS ON SET ANSI_WARNINGS ON Select * From DFLD.PUBS..Authors–这样就可以了!

2.提示 某机器MSDTC服务不可用 这种提示很简单,只需要将MSDTC服务打开就是了!注:需要双方均打开MSDTC服务,默认不打开

楼主您好您的意思实际上是SQLserver的分布式查询:如果一个项目需要二至多台服务器,而我们又必须从几台服务器中将数据取出来,这就必须用分布式查询!

在这里有两个概念:本地数据源、远程数据源!

本地数据源指的是单个服务器上的数据而远程数据源指的是另一个SQL实例上的数据。

如何跨服务器取数呢?

一、

如果经常访问或数据量大,建议用链接服务器–创建链接服务器

exec sp_addlinkedserver ”srv_lnk”,””,”SQLOLEDB”,”远程服务器名或ip地址”

exec sp_addlinkedsrvlogin ”srv_lnk”,”false”,null,”用户名”,”密码”go

–查询示例:

select * from srv_lnk.数据库名.dbo.表名

–导入示例:

select * into 表 from srv_lnk.数据库名.dbo.表名go–以后不再使用时删除链接服务器

exec sp_dropserver ”srv_lnk”,”droplogins”

二、

–如果只是临时访问,可以直接用openrowset

–查询示例:

select * from openrowset(”SQLOLEDB”,”sql服务器名”;”用户名”;”密码”,数据库名.dbo.表名)

–导入示例:

select * into 表 from openrowset(”SQLOLEDB”,”sql服务器名”;”用户名”;”密码”,数据库名.dbo.表名)

如何在企业管理器中设置呢?

SQL实例—>安全性—>链接服务器—>右键新建链接服务器常规中输入链接服务器的名字,选其祥耐它数据源,选SQLOLEDB,数据源写上,一般写IP地址再选安全性—–》选本地登陆—-》模拟打勾用此安全上下文进行,输入用户与密码。

常见问题:1.在建立完链接服务器后,我们进行查询操作例:我们已对DFLD的服务器做了链接,紧接着我们想访问它中PUBS数据库中的Authors表Select * From DFLD.PUBS..Authors经常会出二类问题

1.提示 异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这 些选项,然后重新发出查询。 这种提示是因谨拆春为没有将ANSI_NULLS与ANSI_WARNINGS打开 SET ANSI_NULLS ON SET ANSI_WARNINGS ON Select * From DFLD.PUBS..Authors–这样就可以了!

2.提示 某机器MSDTC服务不可用 这种提示很简单,只需要御携将MSDTC服务打开就是了!注:需要双方均打开MSDTC服务,默认不打开

1、在服务器3上建立服务器1、服务器2 的连接服务器

–exec sp_addlinkedserver ‘信碰注册名’,”,’SQLOLEDB’,’远程数据库名’

–exec sp_addlinkedsrvlogin ‘注册名’,’false’,null,’用滑敬谈户名’,’密码’

比如建立后服务器1和服务稿蔽器2 的注册名分别是S1和S2 那么

insert into 表3

(

a3,b3,c3,d3

)

select a.a1,a.b1,b.c2,b.d2

from s1..dbo. a ,s2..dbo. b

yanxiao410| 四级

说的思路是正确的

你没有说你用的是哪个版本的中拍sql server

我想在server sql中, sql 语句连接另外一个服务器上mysql的其中一个表..

这个你应该是需要新建一个db links

orcale中是在辩拍掘这里设置。sql server,我就不太清楚携核了。希望对贺培你有帮助~~~

sql 链接另一台服务器 语句的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sql 链接另一台服务器 语句,如何使用SQL语句链接另一台服务器?,SQL SERVER 数据库 怎么从一个服务器一个表中把数据插入到另一个服务器中的一个表内,我想在server sql中, sql 语句连接另外一个服务器上mysql的其中一个表..的信息别忘了在本站进行查找喔。


数据运维技术 » 如何使用SQL语句链接另一台服务器? (sql 链接另一台服务器 语句)