关于linkserver 中使用 nolock
在本地数据库调用link server的数据时,如果用了nolock会出错,Remote table-valued
function calls are not allowed.
这样有如下解决办法
在Link Server中建立一个存储过程
Create PROCEDURE
usp_test
as
BEGIN
SELECT * FROM t_Item (NOLOCK)
END
as
BEGIN
SELECT * FROM t_Item (NOLOCK)
END
在本地数据库中调用
execute sp_serveroption
'linkservername','rpc','true'
go
execute sp_serveroption 'linkservername','rpc out','true'
GO
go
execute sp_serveroption 'linkservername','rpc out','true'
GO
exec linkservername.somedb.dbo.usp_icson_test
execute sp_serveroption
'linkservername','rpc','false'
go
execute sp_serveroption 'linkservername','rpc out','false'
GO !!!
go
execute sp_serveroption 'linkservername','rpc out','false'
GO !!!
浙公网安备 33010602011771号