mssql 쿼리 관련 질문

   조회 2888   추천 0    

 

select name from sys.databases

except

select distinct database_name from msdb.dbo.backupset WHERE backup_start_date >= DATEADD(hh, -24, GETDATE())

AND backup_start_date < GETDATE()

AND Type = 'D'


이런식으로해서 백업이 안된 데이터베이스만 체크를 하려고 하는데, 데이터베이스 개수가 많을 경우에는

속도가 너무 느리네요.. 

except가 A - B이니, 순서를 바꿀 수도 없고.. 

혹시 좋은 방법이 있을까요? 

짧은글 일수록 신중하게.
DAP박인호 2022-02
아마도 이것이 속도가 조금 빠를 듯
( 아닐 수도 있습니다. ^^
b집합이 클때는 존재 체크조건이 보통 빠름)

select name from sys.databases a WITH(NOLOCK)
WHERE  NOT EXISTS (
SELECT TOP 1 1
from msdb.dbo.backupset  b WITH(NOLOCK)
WHERE b.database_name=a.name
AND backup_start_date >= DATEADD(hh, -24, GETDATE())
AND backup_start_date < GETDATE()
AND Type = 'D'
)
     
L2스위치 2022-02
답변 감사합니다~!

ㅎㅎ 댓글 주시기 전에 답을 찾았습니다~! 댓글도 참고하겠습니다 감사합니다!


QnA
제목Page 618/5730
2015-12   1791243   백메가
2014-05   5266332   정은준1
2009-06   9662   IRIX6530
2020-03   3890   galaxyfamily
2023-03   1724   뭐든팔아요
2015-10   4149   개빈
2014-06   26514   미수맨
2015-10   5076   김건우
01-25   1273   듀얼cpu
2014-07   4842   김동민
2016-10   4424   종이뎁
2009-08   13017   박준승
2023-03   2898   일반유저
02-17   647   엠브리오
02-19   549   이원재K
2009-08   5906   김승권
02-21   798   사랑의베터리
2014-07   5138   김승권
2017-12   4372   나라사랑
2014-07   20375   살어리낙지
2015-11   4625   호걸
2015-11   5850   심우