为什么在本地服务器上使用它OPENQUERY不好?
技术问答
253 人阅读
|
0 人回复
|
2023-09-14
|
我正在编写一个脚本,它应该在一堆服务器周围运行,并选择包括本地服务器在内的一堆数据。选择所需的数据SQL非常复杂,所以我正在编写和使用临时视图OPENQUERY句子获取数据,所以我最终循环了以下句子:8 k9 f; Y+ j# l* s. {# K0 s/ R
exec('INSERT INTO tabl SELECT * FROM OPENQUERY(@Server,@AdHocView)')但是,我听说在本地服务器上使用OPENQUERY是皱眉。有人能详细解释为什么吗?
( K" Z* |/ b1 z. r 3 ]& x9 p# X1 [; ~" v( {
解决方案: , @4 i6 _# }" Z$ E
虽然查询可以返回多个结果集,但是OPENQUERY回到第一个结果集。) R2 @0 J \, A; ]4 B
OPENQUERY其参数不接受变量。. S7 X M. h. \. T& ]% q- H
OPENQUERY扩展存储过程不能用于链接服务器。但是,扩展存储过程可以使用链接服务器上的四个名称。
$ R% y5 L$ n- V" p/ Y+ M如果sp_addlinkedserver存储过程在同一脚本中使用,远程服务器上使用的凭证将硬编码到脚本中,任何有副本的人都可以看到参考:
2 A& S* ^9 D, T8 `/ D' }9 f公开查询 |
|
|
|
|
|