SQLSERVER 本地查询更新操作远程数据库的代码

复制代码 代码如下:

–pk

select * from sys.key_constraints where object_id = object_id(‘tb’)

–fk

select * from sys.foreign_keys where parent_object_id =object_id(‘tb’)

–创建链接服务器

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 a.column1=b.column1

–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=密码 ‘ ).test.dbo.roy_ta

—————————————————————————————

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐