È necessario racchiudere i valori DATETIME tra virgolette singole. E poiché la tua query è in una stringa stessa, quelle virgolette singole devono essere raddoppiate/escape come segue (e probabilmente dovresti anche inserire il valore del primo parametro in virgolette singole con escape poiché è chiaramente una stringa).
Dovresti anche qualificare completamente il nome della procedura memorizzata con [DatabaseName].[SchemaName].
.
E dal momento che vcs_gauge
proc utilizza Dynamic SQL, è necessario specificare il WITH RESULT SETS
clausola. Per ulteriori informazioni su questa clausola, vedere la pagina MSDN per EXECUTE .
SELECT *
INTO #tmpTable
FROM OPENQUERY([WIN2K8\SQL2K12],
N'EXEC [DatabaseName].[SchemaName].vcs_gauge
@gauge_name = ''vs1_bag'',
@first_rec_time = ''2014-09-01 09:00:00'',
@last_rec_time = ''2014-09-01 10:00:00''
WITH RESULT SETS ( { column_specification} );
');