가끔 DB서버가 언제 재 시작 되었는지 확인할 때가 있습니다.
재 시작 확인 방법은 SQL 최신 로그 생성일자, 로그 데이터 확인, 이벤트 로그 확인 등
여러 방법이 있겠지만, 아래 스크립트를 이용해 확인 가능합니다.
아시다시피 SQL Server가 재 시작 되면, tempdb는 매번 재 생성됩니다.
--SQL Server 2000
USE master
GO
DECLARE @db_cr_date DATETIME,
@hour int,
@minut int,
@days int
SELECT @db_cr_date=crdate
FROM sysdatabases
WHERE NAME='tempdb'
SET @minut = DATEDIFF (mi,@db_cr_date,GETDATE())
SET @days= @minut / 1440
SET @hour = (@minut / 60) - (@days * 24)
SET @minut= @minut - ( (@hour + (@days * 24)) * 60)
Select @@SERVERNAME
+N' 서버가'
+ CAST(@db_cr_date as varchar(30))
+ N' 재시작되었고현재: '
+ ltrim(str(@days)) +N' 일,'
+ ltrim(str(@hour)) +N' 시간, '
+ ltrim(str(@minut)) + N' 분이흘렀습니다. ' as [Total uptime]
--SQL Server 2005 이상
DECLARE @db_cr_date DATETIME,
@hour int,
@minut int,
@days int
SELECT @db_cr_date=crdate
FROM master.sys.sysdatabases
WHERE NAME='tempdb'
SET @minut = DATEDIFF (mi,@db_cr_date,GETDATE())
SET @days= @minut / 1440
SET @hour = (@minut / 60) - (@days * 24)
SET @minut= @minut - ( (@hour + (@days * 24)) * 60)
Select @@SERVERNAME
+N' 서버가'
+ CAST(@db_cr_date as varchar(30))
+ N' 재시작되었고현재: '
+ ltrim(str(@days)) +N' 일,'
+ ltrim(str(@hour)) +N' 시간, '
+ ltrim(str(@minut)) + N' 분이흘렀습니다. ' as [Total uptime]
SQL Server 2000과 2005 이상의 스크립트 차이는 시스템 카탈로그명이 달라졌을 뿐
동일합니다. ㅎㅎ
Reference : http://www.sqlservercentral.com/scripts/Administration/93335
'SQL Server > Tips' 카테고리의 다른 글
SQL Server Missing Indexes (0) | 2012.12.13 |
---|---|
SQL Server Backup all Databses (0) | 2012.12.13 |
SQL Server SSMS 블록 선택 (0) | 2012.12.13 |
SQL Server OUTPUT 절 (0) | 2012.12.13 |
SQL Server 테이블 반환 매개변수 (0) | 2012.08.20 |