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]

Sobre Marcos Freccia

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

Publicado em março 26, 2013, em Administração, Boas Praticas, DBA NewBie, Scripts, SQL Server, VirtualPass e marcado como , , . Adicione o link aos favoritos. 1 comentário.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: