Can anybody let me know plz

  • How to change script we have to get 80% used (20% available) this way alerts disk space alerts*/

    --exec usp_DiskFreeSpaceAlert 1024,2048

    create PROCEDURE usp_DiskFreeSpaceAlert

    @DriveCBenchmark int = 1024,

    @OtherDataDriveBenchmark int = 2048

    AS

    --By: Haidong "Alex" Ji This procedure sends out an alert message when hard disk space is below a predefined value. This procedure can be scheduled to run daily so that DBA can act quickly to address this issue.

    IF EXISTS (SELECT * FROM tempdb..sysobjects

    WHERE id = object_id(N'[tempdb]..[#disk_free_space]'))

    DROP TABLE #disk_free_space

    CREATE TABLE #disk_free_space (

    DriveLetter CHAR(1) NOT NULL,

    FreeMB INTEGER NOT NULL)

    DECLARE @DiskFreeSpace INT

    DECLARE @DriveLetter CHAR(1)

    DECLARE @AlertMessage VARCHAR(500)

    DECLARE @MailSubject VARCHAR(100)

    /* Populate #disk_free_space with data */

    INSERT INTO #disk_free_space

    EXEC master..xp_fixeddrives

    SELECT @DiskFreeSpace = FreeMB FROM #disk_free_space where DriveLetter = 'C'

    IF @DiskFreeSpace < @DriveCBenchmark

    Begin

    SET @MailSubject = 'Drive C free space is low on ' + @@SERVERNAME

    SET @AlertMessage = 'Drive C on ' + @@SERVERNAME + ' has only ' + CAST(@DiskFreeSpace AS VARCHAR) + ' MB left. Please free up space on this drive. C drive usually has OS installed on it. Lower space on C could slow down performance of the server'

    -- Send out email

    --EXEC master..xp_sendmail @recipients = 'MyEmail@MyCompany.com',

    --

    --@subject = @MailSubject,

    --

    --@message = @AlertMessage

    exec msdb..sp_send_dbmail @profile_name ='test01',@recipients ='xyz@gmail.com; xyz@capgemini.com',@subject=@MailSubject,@body =@AlertMessage

    End

    DECLARE DriveSpace CURSOR FAST_FORWARD FOR

    select DriveLetter, FreeMB from #disk_free_space where DriveLetter not in ('C')

    open DriveSpace

    fetch next from DriveSpace into @DriveLetter, @DiskFreeSpace

    WHILE (@@FETCH_STATUS = 0)

    Begin

    if @DiskFreeSpace < @OtherDataDriveBenchmark

    Begin

    set @MailSubject = 'Drive ' + @DriveLetter + ' free space is low on ' + @@SERVERNAME

    set @AlertMessage = @DriveLetter + ' has only ' + cast(@DiskFreeSpace as varchar) + ' MB left. Please increase free space for this drive immediately to avoid production issues'

    -- Send out email

    --

    --EXEC master..xp_sendmail @recipients = 'MyEmail@MyCompany.com',

    --

    --@subject = @MailSubject,

    --

    --@message = @AlertMessage

    exec msdb..sp_send_dbmail @profile_name ='test01',@recipients ='xyz@gmail.com; xyz@capgemini.com',@subject=@MailSubject,@body =@AlertMessage

    End

    fetch next from DriveSpace into @DriveLetter, @DiskFreeSpace

    End

    close DriveSpace

    deallocate DriveSpace

    DROP TABLE #disk_free_space

    GO

  • Do not post duplicate threads.

    All replies here

    http://www.sqlservercentral.com/Forums/Topic868403-145-1.aspx


    Bru Medishetty

    Blog -- LearnSQLWithBru

    Join on Facebook Page Facebook.comLearnSQLWithBru

    Twitter -- BruMedishetty

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply