Eu tenho uma consulta que me informa quanto tempo passou para os registros serem adicionados. Eu também acompanho nesta consulta o tamanho de uma imagem que foi adicionada ao banco de dados. Pelo que vejo, parece que está retornando a imagem inteira do servidor vinculado e calculando o tamanho. Existe uma maneira fácil de fazer com que o cálculo do tamanho ocorra do outro lado do link para que o retorno seja mais rápido?
SELECT
[Date] = CAST(DATEADD(DAY,-@DaysBack,GETDATE()) AS DATE)
,NOTES = N.RPMID
,TimeTaken = DATEDIFF("SECOND",SN.PickedUpDate,SN.ProcessedDate)
,PictureSize = SUM(CAST(DATALENGTH(SI.[Image])AS BIGINT))
,RecordsAdded = CAST(COUNT(*) AS BIGINT)
FROM
DBServer1.DB1.dbo.Notes AS N WITH (NOLOCK)
INNER JOIN DBServer1.DB1.dbo.NoteDistribution AS ND WITH (NOLOCK) ON N.Notes=ND.Notes
INNER JOIN dbo.Submission_Notes AS SN WITH (NOLOCK) ON SN.RetailPlanGuid=N.RPMID
LEFT JOIN DBServer1.DB1.dbo.SavedImage SI WITH (NOLOCK) ON SI.Notes=N.Notes
WHERE
1=1
AND N.RecordStampWhenAdd > CAST(GETDATE()-@DaysBack AS DATE)
AND N.RecordStampWhenAdd < CAST(GETDATE()-@DaysBack+1 AS DATE)
AND DATEDIFF("SECOND",SN.PickedUpDate,SN.ProcessedDate) > 0
GROUP BY
N.RPMID
,DATEDIFF("SECOND",SN.PickedUpDate,SN.ProcessedDate)
A parte em questão é o tamanho da imagem que é retornado. Eu quero que os cálculos lá sejam feitos no servidor onde os dados estão armazenados e apenas que o número me retorne. Qualquer ajuda nisso seria ótimo. Obrigado.