SQL-빠른 팁 #12 - 사용 가능한 디스크 공간

6558 단어 tsqlmssqlsqlserversql

SQL Server 팁과 요령



이것은 제가 1년 동안 축적한 일련의 빠른 팁과 요령 중 일부이며 다른 사람들에게 유용할 수 있다고 생각합니다.
비슷한 짧은 팁과 요령이 있으면 의견을 남겨주세요.

사용 가능한 디스크 공간



데이터베이스 서버의 디스크 공간이 부족하다는 것은 매우 나쁜 일입니다. 하루, 일주일 또는 한 달 전체를 엉망으로 만들 수있는 일종의 쇼 토퍼입니다.
따라서 디스크 공간이 부족할 경우 경고하는 일종의 모니터링이 있어야 합니다. 모든 것을 모니터링하는 값비싼 기업용 올인클루시브 소프트웨어를 구입하거나 쿼리를 실행하여 사용 가능한 디스크 공간에 대한 정보를 가져온 다음 숫자가 포함된 이메일을 보내는 예약된 작업을 구현하여 소규모로 시작할 수 있습니다.
아래의 첫 번째 스크립트는 데이터베이스가 있는 드라이브에 얼마나 많은 디스크 공간이 남아 있는지 보여주고 두 번째 스크립트는 현재 데이터베이스에 할당된 디스크 공간과 파일 그룹에서 사용 가능한 여유 공간을 보여줍니다.

SELECT DISTINCT dovs.volume_mount_point AS Drive, CONVERT(INT,dovs.available_bytes/1048576.0) AS [Free Space In MB]
  FROM sys.master_files mf
 CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.FILE_ID) dovs
 ORDER BY [Free Space In MB] ASC

SELECT DS.name [Filegroup name],
       DF.name [Filename],
       SUBSTRING(DF.physical_name, 1, 1) [Drive],
       DF.physical_name [Physical name],
       size/128 [Total size in MB],
       size/128.0 - CAST(FILEPROPERTY(DF.name, 'SpaceUsed') AS int)/128.0 [Available space in MB],
       CAST(FILEPROPERTY(DF.name, 'SpaceUsed') AS int)/128.0 [Actual space used in MB],
       (CAST(FILEPROPERTY(DF.name, 'SpaceUsed') AS int)/128.0)/(size/128)*100. [% Space used]
  FROM sys.database_files DF
  LEFT OUTER JOIN sys.data_spaces DS ON DF.data_space_id = DS.data_space_id
 ORDER BY DF.Name ASC;


좋은 웹페이지 즐겨찾기