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이니, 순서를 바꿀 수도 없고..
혹시 좋은 방법이 있을까요?
( ¾Æ´Ò ¼öµµ ÀÖ½À´Ï´Ù. ^^
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'
)
¤¾¤¾ ´ñ±Û Áֽñâ Àü¿¡ ´äÀ» ã¾Ò½À´Ï´Ù~! ´ñ±Ûµµ Âü°íÇÏ°Ú½À´Ï´Ù °¨»çÇÕ´Ï´Ù!