Hi,
I have the following Insert Statement that is taking a long long time and is still running (past 4 hours).. I run it last night and this morning I received the error message;
There is insufficient memory available in the buffer pool
So, I restarted the server again to clear any cache and re-run the query.. Still running
N/B - the server has 2 TB of space so - space is not an issue.
The insert statement is;
INSERT INTO dbo.EmisDiary(DiaryGuidDigest,PatientID,ConsultationID,StaffID,DiaryEntryDate, MedicalCodeID, Duration)
SELECT DiaryGuidDigest,PatientID,ConsultationID,StaffID,DiaryEntryDate, MedicalCodeID, Duration
FROM dbo.EmisDiaryExtraction WITH (tablock)
WHERE MedicalCodeID IS NOT NULL
The query itself (dbo.EmisDiaryExtraction) is;
SELECT EMISJun15Btch1.dbo.Diary.DiaryGuidDigest, dbo.EmisPatient.PatientID, dbo.EmisConsultation.ConsultationID, dbo.EmisStaff.StaffID,
EMISJun15Btch1.dbo.Diary.EffectiveDateTime AS DiaryEntryDate, dbo.CPRDLkupMedical.MedicalCodeID, EMISJun15Btch1.dbo.Diary.DurationTerm AS Duration
FROM EMISJun15Btch1.dbo.Diary WITH (tablock) INNER JOIN
dbo.EmisPatient ON EMISJun15Btch1.dbo.Diary.PatientGuidDigest = dbo.EmisPatient.PatientGuidDigest INNER JOIN
dbo.EmisStaff ON EMISJun15Btch1.dbo.Diary.AuthorisingUserRoleGuidDigest = dbo.EmisStaff.StaffGuidDigest LEFT OUTER JOIN
dbo.CPRDLkupMedical ON (EMISJun15Btch1.dbo.Diary.SnomedCTConceptId = dbo.CPRDLkupMedical.Snomed OR
EMISJun15Btch1.dbo.Diary.SnomedCTConceptId IS NULL AND EMISJun15Btch1.dbo.Diary.SnomedCTConceptId IS NULL) AND
ISNULL(CASE WHEN LEFT(EMISJun15Btch1.dbo.Diary.EmisCode, 7) = 'EMISATT' THEN 'EMISATT'
WHEN LEFT(EMISJun15Btch1.dbo.Diary.EmisCode, 5) = 'PCSDT' THEN 'PCSDT'
ELSE EMISJun15Btch1.dbo.Diary.EmisCode END, N'(novalue)') COLLATE SQL_Latin1_General_CP1_CS_AS = ISNULL(dbo.CPRDLkupMedical.Emiscode,
N'(novalue)') COLLATE SQL_Latin1_General_CP1_CS_AS AND (EMISJun15Btch1.dbo.Diary.SnomedCTDescriptionId = dbo.CPRDLkupMedical.SnomedDescription OR
EMISJun15Btch1.dbo.Diary.SnomedCTDescriptionId IS NULL AND dbo.CPRDLkupMedical.SnomedDescription IS NULL) AND ISNULL(EMISJun15Btch1.dbo.Diary.Term,
N'(novalue)') = ISNULL(dbo.CPRDLkupMedical.Term, N'(novalue)') AND
ISNULL(CASE WHEN LEFT(EMISJun15Btch1.dbo.Diary.ReadCode, 5) = 'PCSDT' THEN 'PCSDT'
WHEN LEFT(EMISJun15Btch1.dbo.Diary.ReadCode, 7) = 'EMISATT' THEN 'EMISATT'
ELSE EMISJun15Btch1.dbo.Diary.ReadCode END, N'(novalue)') COLLATE SQL_Latin1_General_CP1_CS_AS = ISNULL(dbo.CPRDLkupMedical.Readcode,
N'(novalue)') COLLATE SQL_Latin1_General_CP1_CS_AS LEFT OUTER JOIN
dbo.EmisConsultation ON EMISJun15Btch1.dbo.Diary.ConsultationGuidDigest = dbo.EmisConsultation.ConsultationGuidDigest
Please could someone look into this for me.
Thank you so much
Regards