poorX

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
opendatasource

https://docs.microsoft.com/zh-cn/sql/t-sql/functions/opendatasource-transact-sql?view=sql-server-ver15

SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'DAata Source=ServerName/IP;User Id=UserName;Password=PassWord;').[DbName].[dbo].[TableName]

INSERT INTO OPENDATASOURCE('SQLOLEDB', 'DAata Source=ServerName/IP;User Id=UserName;Password=PassWord;').[DbName].[dbo].[TableName]

注意:OPENDATASOURCE无法使用分区变量$PARTITION

迁移数据

下面是迁移分区数据的示例

SELECT * INTO OPENDATASOURCE().[DstDB].[dbo].[TableName] FROM [LocalDB].[dbo].[TableName] WHERE $PARTITION.Partition_Func(FuncColumnName) = $PARTITION.Partition_Func(Value)
使用限制

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

如果出现上述错误,可进行配置调整:

exec sp_configure 'show advanced options', 1;
reconfigure with override;
exec sp_configure 'Ad Hoc Distributed Queries', 1;
reconfigure with override;
sp_addlinkedserver
posted on 2022-04-24 11:09  poorX  阅读(25)  评论(0编辑  收藏  举报