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服务,默认不打开

时间: 2024-11-01 03:56:03

SQL SERVER 数据库跨服务器查询插入数据的相关文章

SQL SERVER数据库跨服务器数据导入

今天从服务器导入到本地表数据,因为跨服务器,所以用特殊的方法 ---根据原表创建新表,并且把数据导入select * into 表 from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名) ---已经有表结构insert into 表 select* from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名) 如果本地Ad Hoc Distributed Quer

SQL Server 实现跨服务器查询的方式

干货如下: exec sp_addlinkedserver 'ITSV', '', 'SQLOLEDB', 'crs.***.com,6598' exec sp_addlinkedsrvlogin 'ITSV', 'false',null, 'sa', 'password' --Exec sp_droplinkedsrvlogin 'ITSV',Null --删除映射(录与链接服务器上远程登录之间的映射) --Exec sp_dropserver 'ITSV' --删除远程服务器链接 Selec

转:SQL SERVER数据库中实现快速的数据提取和数据分页

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名 [Gid] [int] IDENTITY (1, 1) NOT NULL , --本表的id号,也是主键 [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,  --红头文件

缓存一致性和跨服务器查询的数据异构解决方案canal

当你的项目数据量上去了之后,通常会遇到两种情况,第一种情况应是最大可能的使用cache来对抗上层的高并发,第二种情况同样也是需要使用分库 分表对抗上层的高并发...逼逼逼起来容易,做起来并不那么乐观,由此引入的问题,不见得你有好的解决方案,下面就具体分享下. 一:尽可能的使用Cache 比如在我们的千人千面系统中,会针对商品,订单等维度为某一个商家店铺自动化建立大约400个数据模型,然后买家在淘宝下订单之后,淘宝会将订单推 送过来,订单会在400个模型中兜一圈,从而推送更贴切符合该买家行为习惯的

Sql Server数据库设计高级查询

-------------------------------------第一章  数据库的设计------------------------------------- 软件开发周期:     (1)需求分析     (2)概要设计     (3)详细设计     (4)编码     (5)集成测试     (6)上线运行     (7)后期维护 1,数据库设计步骤:     (1)收集信息     (2)标识对象(确定数据库中有哪些表)     (3)标识对象的属性(确定每个表中的例)  

SQL Server 常用跨库查询,sqlserver跨库

博客出处:http://www.bkjia.com/sjkqy/984843.html 1.临时使用方法  OpenRowset A. 使用有 SELECT 的OPENROWSET 与 Microsoft OLE DB Provider for SQL Server     以下范例使用 Microsoft OLE DB Provider for SQL Server,以存取命名为 remote1 的远程数据服务器上 pubs 数据库的 authors 表.从 datasource.user_i

SQL Server 常用跨库查询

1.临时使用方法  OpenRowset A. 使用有 SELECT 的OPENROWSET 与 Microsoft OLE DB Provider for SQL Server 以下范例使用 Microsoft OLE DB Provider for SQL Server,以存取命名为 remote1 的远程数据服务器上 pubs 数据库的 authors 表.从 datasource.user_id 与 password 初始化提供者,且使用 SELECT 查询数据表. SELECT * F

SQL Server数据库的T-SQL查询语句

一.SQL简介 在进行数据管理时,使用SSMS进行数据维护有可视化.方便的优点,但是在批量维护或重复维护数据时,每次都需要使用SSMS不但不方便,而且容易出错.通过编写SQL语句来维护数据库便于解决重复或批量维护数据的难题. 1.SQL和T-SQL SQL是Structured Query Language的缩写,即结构化查询语言.SQL广泛地被采用说明了它的优势,它使全部用户,包括应用程序员.数据库管理员和终端用户受益匪浅. 1)非过程化语言 SQL是一个非过程化的语言,因为它一次处理一个记录

SQL Server 向堆表中插入数据的过程

堆表中  IAM 记录着的数据页,表的各个数据页之间没有联系.也就是说一个页面它不会知道自己的前一页是谁,也不知道自己的后一页是谁. 插入数据时先找到IAM页,再由pfs(page free space)决定插入到哪里!