Stored procedure
ALTER PROCEDURE Proc_DayShift
AS
insert into #Punching_History SELECT * FROM SERVER2.MARS.DBO.TABLE1
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
SET ANSI_WARNINGS OFF
GO
The above stored procedure is showing error as
Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query
semantics. Enable these options and then reissue your query.
I added the server1
from server2
using linked server, when I run the query like this
SELECT * FROM SERVER2.MARS.DBO.TABLE1
It's executing and showing results.
When I run the query using stored procedure, it is showing this error message.
How to rectify this issue. what wrong in my query…?
Best Answer
The message mentions two settings. The first setting,
ansi_nulls
, is remembered from when the stored procedure was created. Make sure it's on when you runcreate procedure
:The second setting,
ansi_warnings
, should be enabled on the connection that calls the procedure:Or alternatively, set
ansi_warnings
inside the procedure:For more information see this MSDN article: