Como verificar automaticamente SQL Server Configurações e correção de não conformidades

Compartilhe agora:

Você pode concluir uma auditoria rápida de SQL Serverda configuração em todos os servidores da sua Empresa. O script será útil para corrigir automaticamente configurações não compatíveis

Crie três tabelas:

SQL Server 2014Vamos criar 3 tabelas. Na primeira tabela, estaremos salvando SQL Server Nome da configuração e seu valor recomendado. Esta tabela atuará como tabela de origem para comparação. Se você estiver usando o SQL 2014, não deixe de cuidar do item de configuração, ou seja, “backup checksum default”. Por padrão, o valor é definido como zero, mas o valor recomendado é 1 e você pode defini-lo facilmente usando o comando EXEC sp_configure. Se for definido como 1, sempre que SQL Server lê páginas para o backup, ele também verifica todas as somas de verificação de página existentes.

Na segunda tabela, salvaremos os nomes dos servidores do nosso ambiente SQL. A última tabela será usada como a tabela de log e armazenará dados de configuração de servidores remotos e comparará com nossa tabela de origem, ou seja, a primeira tabela.

Correção automática

Gerenciador de configuração SQLAtravés de um cursor, o script lerá cada nome de servidor da segunda tabela e criará um Linked server para cada servidor. Com a ajuda do servidor vinculado, os dados de configuração são lidos de cada servidor e carregados na tabela de log, ou seja, a terceira tabela. A configuração e seu valor de cada linha da tabela de log são comparados com a tabela de origem. Se o valor não for compatível, a configuração é corrigida automaticamente com o valor recomendado por meio do sqlcmd. Nesse script, o autofix é definido apenas para a memória máxima do servidor. A mesma regra pode ser aplicada para outras configurações.

No entanto em caso de corrompido SQL Server db você não seria capaz de auditar automaticamente SQL Server configurações. Nesse caso, você pode usar SQL server ferramentas de recuperação, como Datanumen SQL recovery ferramenta.

CREATE TABLE TBL0 ( cname VARCHAR(200) ,cvalue BIGINT ) INSERT INTO TBL0 SELECT NAME ,cast(value AS BIGINT) FROM sys.configurations CREATE TABLE TBL1 (cservername VARCHAR(200)) --Insert into TBL1 values ​​('SRVR1') CREATE TABLE TBL2 ( csvrname VARCHAR(200) ,cname VARCHAR(200) ,cvalue BIGINT ,cminvalue BIGINT ,cmaxvalue BIGINT ,cvalinuse BIGINT ,cstatus VARCHAR(200) ) DECLARE @cmd NVARCHAR(2000) DECLARE @vsvrname VARCHAR(200) DECLARE @ vuser VARCHAR(100) DECLARE @vpwd VARCHAR(100) SET @vsvrname = 'SRVR1' SET @vuser = 'linkedserveruser' SET @vpwd = 'linkedserveruserpassword' SET @cmd = 'EXEC sp_addlinkedserver @server=''' + @vsvrname + '''' PRINT @cmd EXEC (@cmd) SET @cmd = 'EXEC sp_addlinkedsrvlogin ''' + @vsvrname + ''', ''false'', NULL, ''' + @vuser + ''', ' '' + @vpwd + '''' PRINT @cmd EXEC (@cmd) INSERT INTO TBL2 ( csvrname ,cname ,cvalue ,cminvalue ,cmaxvalue ,cvalinuse ) SELECT @@servername AS 'Servername' ,NAME ,cast(value AS BIGINT ) ,cast(mínimo AS BIGINT) ,cast(máximo AS BIGINT) ,cast(value_in_use AS BIGINT) FROM [CPH-MSSQL07-T].master.sys.configurations SELECT * FROM TBL2 DECLARE @cur1svrname VARCHAR(200) DECLARE @cur1name VARCHAR(500) DECLARE @cur1value BIGINT DECLARE CUR1 CURSOR FOR SELECT csvrname ,cname ,cvalue FROM TBL2 OPEN CUR1 FETCH NEXT FROM CUR1 INTO @cur1svrname ,@cur1name ,@cur1value WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @sname VARCHAR(500) DECLARE @svalue BIGINT SET @svalue = ( SELECT cvalue FROM TBL0 WHERE cname = @cur1name ) IF @cur1value <> @svalue BEGIN DECLARE @cmd2 VARCHAR(1000) SET @cmd2 = 'SQLCMD -S ' + @cur1svrname + ' -E - Q "EXEC sp_configure ''max server memory (MB)'',' + cast(@svalue AS VARCHAR(100)) + '"' -- Print @cmd2 EXEC xp_cmdshell @cmd2 UPDATE TBL2 SET cstatus = 'WAS NON COMPLIANT. NOW FIXED' WHERE csvrname = @cur1svrname AND cname = @cur1name END FETCH NEXT FROM CUR1 INTO @cur1svrname ,@cur1name ,@cur1value END CLOSE CUR1 DEALLOCATE CUR1

Introdução do autor:

Neil Varley é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo reparar corrupção de e-mail do Outlook pst e produtos de software de recuperação do Excel. Para mais informações visite www.datanumen.com

Compartilhe agora:

Uma resposta para “Como verificar automaticamente SQL Server Configurações e correção de não conformidades”

  1. Olá a todos, é a minha primeira visita a este site, e o parágrafo é realmente frutífero a meu favor, continuem assimostesses tipos de conteúdo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *