在SQL Server数据库之间进行数据导入导出
摘自:http://kb.cnblogs.com/page/94464/
第一导出导入某个表的数据
导入数据
SELECT*INTO authors1
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=192.168.18.252;User ID=sa;Password=abc'
).pubs.dbo.authors
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=192.168.18.252;User ID=sa;Password=abc'
).pubs.dbo.authors
导出数据
INSERT INTO OPENDATASOURCE(
'SQLOLEDB',
'Data Source=192.168.18.252;User ID=sa;Password=abc'
).test.dbo.authors select*from pubs.dbo.authors
'SQLOLEDB',
'Data Source=192.168.18.252;User ID=sa;Password=abc'
).test.dbo.authors select*from pubs.dbo.authors
在这条语句中OPENDATASOURCE(...)可以理解为SQL
Server的一个服务,.pubs.dbo.authors是这个服务管理的一个数据库的一个表authors。使用INSERT
INTO时OPENDATASOURCE(...)后跟的表必须存在。
也可以将以上的OPENDATASOURCE换成OPENROWSET
INSERTINTOOPENROWSET('SQLOLEDB','192.168.18.252';'sa';'abc', 'select * from test.dbo.kk')
SELECT*FROM pubs.dbo.authors
SELECT*FROM pubs.dbo.authors
使用OPENROWSET要注意一点,'192.168.18.252';'sa';'abc'中间是";",而不是","。OPENDATASOURCE和OPENROWSET都不接受参数变量。
第二