如何在SQL SERVER跨服务器查询数据库

如何在SQL SERVER跨服务器查询数据库,第1张

--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select from ITSV数据库名dbo表名
--导入示例
select into 表 from ITSV数据库名dbo表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '
--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset
--查询示例
select from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名dbo表名)
--生成本地表
select into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名dbo表名)
--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名dbo表名)
select from 本地表
--更新本地表
update b
set b列A=a列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名dbo表名)as a inner join 本地表 b
on acolumn1=bcolumn1
--openquery用法需要创建一个连接
--首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select
FROM openquery(ITSV, 'SELECT FROM 数据库dbo表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT FROM 数据库dbo表名 ')
select from 本地表
--更新本地表
update b
set b列B=a列B
FROM openquery(ITSV, 'SELECT FROM 数据库dbo表名 ') as a
inner join 本地表 b on a列A=b列A
--3、opendatasource/openrowset
SELECT
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' )testdboroy_ta
--把本地表导入远程表
insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ')数据库dbo表名
select from 本地表

配置数据库:使用SQL版管理软件,运行程序前,需先配置数据库连接。
点击软件目录下的
ODB_settingexe
图标,d出界面
服务器名称:填写已安装的SQL数据库服务名,默认为本地服务;
数据库类型:选择SQL;
超时时间秒:默认为30秒;
数据库路径:数据库文件安装目录,默认存放为软件解压目录,可根据需要更改;
验证方式:选择SQL数据库安装时用户所指定的验证方式,默认为系统登录验证。
注:数据库安装时若禁止混合验证,需要输入sa用户密码进行验证。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10865195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存