E quando você nao tem Policy Based Management

Olá Pessoal,

O post de hoje é algo bem simples, mas que pode ser bastante pratico no dia-a-dia. Todos aqui sabemos que o Policy Based Management foi criado a partir do SQL Server 2008 para suprir uma grande necessidade de automatização que precisamos na vida de um DBA. Mas o que vocês devem se perguntar é quando não temos essa ferramenta para nos ajudar, o que devemos fazer para ter a mesma facilidade?

Acho que a resposta mais simples é: Scripts + Jobs

Então hoje vou compartilhar um script que criei para alguns servidores de SQL Server 2005 para desativar a opção de AUTO_CLOSE. Quem me acompanha sabe que já escrevi sobre o AUTO_CLOSE a algum tempo atras e como essa opção ativada no servidor não é uma boa pratica, precisamos realizar verificações desse comportamento. Abaixo segue o script que deverá ajudar vocês nesse caso.

declare @DatabaseName varchar(100)
declare @statement nvarchar(500)

   create table #databaseList 
        (
              databaseID        int
            , databaseName      varchar(128)
            , scanStatus        bit
        );

Insert Into #databaseList
        Select database_id
            , name
            , 0 -- not scanned
        From sys.databases
        Where is_auto_close_on = 1 -- AUTO_CLOSE ON
            And [state] = 0 -- state must be ONLINE
            And is_read_only = 0;  -- cannot be read_only

WHILE(SELECT COUNT(*) FROM #databaseList WHERE scanStatus = 0)>0
begin
SELECT TOP 1 @DatabaseName = databaseName
FROM #databaseList WHERE scanStatus = 0

set @statement = 'ALTER DATABASE ' + QUOTENAME(@DatabaseName) +
 ' SET AUTO_CLOSE OFF WITH NO_WAIT'
exec sp_executesql @statement
UPDATE #databaseList SET scanStatus = 1
WHERE @DatabaseName = databaseName

END
DROP TABLE #databaseList

O que fazer depois disso? É simples, basta criar um job que execute este script conforme sua necessidade.

Até mais,
Marcos Freccia
Dell
[MTA|MCTS|MCITP|MCT SQL Server 2008]

Advertisements

About Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Posted on March 26, 2013, in Administração, Boas Praticas, DBA NewBie, Scripts, SQL Server, VirtualPass and tagged , , . Bookmark the permalink. 1 Comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: