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

发布时间:2019-12-04编辑:佚名阅读(1655)

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

--创建链接服务器
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.表名)

--插入示例:
INSERT INTO 表名
SELECT * FROM OPENROWSET('SQLOLEDB', 'sql服务器名'; '用户名'; '密码', 数据库名.dbo.表名)

--导入示例:
SELECT * INTO 表名 FROM OPENROWSET('SQLOLEDB', 'sql服务器名'; '用户名'; '密码', 数据库名.dbo.表名)

可能碰到问题:

SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用“Ad Hoc Distributed Queries”。有关启用“Ad Hoc Distributed Queries”的详细信息,请搜索 SQL Server 联机丛书中的“Ad Hoc Distributed Queries”。

--启用Ad Hoc Distributed Queries:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
--使用完成后,关闭Ad Hoc Distributed Queries:
EXEC sp_configure 'Ad Hoc Distributed Queries', 0;
RECONFIGURE;
EXEC sp_configure 'show advanced options', 0;
RECONFIGURE;


  关键字:SQL SERVER数据库从一个服务器一个表插入到另一个服务器中的一个表


鼓掌

0

正能量

0

0

呵呵

0


评论区