Du måste ange DATETIME-värden i enstaka citattecken. Och eftersom din fråga är i en sträng i sig, måste dessa enkla citattecken dubbleras / escapes enligt följande (och du bör förmodligen också sätta den första parameterns värde i escaped-enkla-citattecken eftersom det helt klart är en sträng).
Du bör också fullständigt kvalificera namnet på den lagrade proceduren med [DatabaseName].[SchemaName].
.
Och eftersom vcs_gauge
proc använder Dynamic SQL, du måste ange WITH RESULT SETS
klausul. För mer information om denna klausul, se MSDN-sidan för 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} );
');