192.168.1.100上有兩個儲存過程,proca和procb,
proca呼叫了procb,
procb中呼叫了192.168.1.200上某資料庫的表進行查詢
在192.168.1.100的查詢分析器裡執行procb,結果和速度都很正常
在192.168.1.100的查詢分析器裡執行proca,等待非常久都沒有結果,造成查詢分析器死掉
儲存過程如下:
create procedure dbo.procb
asbegin
select holidayday from [192.168.1.200].cms.dbo.outtime
endgo
create procedure dbo.proca
asbegin
create table #tbl (holidayday datetime)
insert into #tbl exec procb
select * from #tbl
drop table #tbl
endgo
把procb中呼叫192.168.1.200表的語句用本地資料庫表代替(也就是不存在分布式查詢),執行
proca和procb都很正常,儲存過程修改如下:
create procedure dbo.procb
asbegin
-----------select holidayday from [192.168.1.200].cms.dbo.outtime
select holidayday from cms.dbo.tmfholidaysched_hai
endgo
create procedure dbo.proca
asbegin
create table #tbl (holidayday datetime)
insert into #tbl exec procb
select * from #tbl
drop table #tbl
endgo
我還做了另外乙個測試,儲存過程修改如下,就是呼叫內嵌儲存過程時,不進行資料集插入表操作,這樣也能順利執行,但是這樣就無法獲得子儲存過程返回的資料集了:
create procedure dbo.procb
asbegin
select holidayday from [192.168.1.200].cms.dbo.outtime
endgo
create procedure dbo.proca
asbegin
create table #tbl (holidayday datetime)
exec procb
select * from #tbl
drop table #tbl
endgo
不知道究竟什麼原因造成的,我想跟分布式查詢可能有一定關係,還請各位賜教!!多謝了!
分布式查詢
sql server所謂的分布式查詢 distributed query 是能夠訪問存放在同一部計算機或不同計算機上的sql server 或不同種類的資料來源,從概念上來說分布式查詢與普通查詢區別 它需要連線多個mssql伺服器也就是具有多了資料來源.實現在伺服器跨域或跨伺服器訪問.而這些查詢是否...
分布式查詢
exec sp addlinkedserver server servera srvproduct provider sqloledb datasrc 192.168.0.28 exec sp addlinkedsrvlogin rmtsrvname servera useself false rm...
分布式查詢
sql server所謂的分布式查詢 distributed query 是能夠訪問存放在同一部計算機或不同計算機上的sql server 或不同種類的資料來源,從概念上來說分布式查詢與普通查詢區別 它需要連線多個mssql伺服器也就是具有多了資料來源.實現在伺服器跨域或跨伺服器訪問.而這些查詢是否...