24 Horas do PASS em Português – Edição 2015

Pessoal!

Nos dias 18 e 19 de novembro de 2015 acontecerá o 24 horas do PASS em português.

Isso mesmo! Igual ao evento em Inglês, só que em Português.

Para saber mais acesse o link: http://www.sqlpass.org/24hours/2015/portuguese/About.aspx

Aproveite faça sua inscrição, é de graça e não deixe de ver minha sessão sobre 10 Dicas para Escrever Códigos T-SQL Melhores.

Aguardo vocês!

Abraço, Rodrigo.

Executando Comandos do Prompt

Esta é uma dúvida recorrente entre as turmas de SQL Server. Como executar um comando do prompt do Windows através de um script t-SQL.

O xp_cmdshell é a procedure de sistema usada para executar comandos, tais como do prompt de comando do Windows.

Obviamente que por motivos de segurança esta feature vem desabilitada no SQL Server.

Como funciona a segurança

Quando executamos um comando através do xp_cmdshell este utiliza a credencial chamada ##xp_cmdshell_proxy_account##, logo se esta credencial não existir ela poderá ser criada utilizando a sp_xp_cmdshell_proxy_account passando como parâmetro usuário do Windows e a senha.

Utilizamos este método para dar permissão a um usuário que não é sysadmin, porém também é possível dar esta permissão utilizando “Grant exec on xp_cmdshell to sqlcrespi

Dependendo da regra utilizada ainda é possível utilizar o contexto de segurança para outro login utilizando o execute as login.

Na prática para habilitar e executar um comando de prompt basta seguir o exemplo abaixo:

Para verificar se o cmd_Shell está habilitado

select name, value_in_use from sys.configurations 
	where name = 'xp_cmdshell'

Para habilitar o cmd_Shell


sp_configure 'Advanced option' , 1

reconfigure

go

sp_configure 'xp_cmdshell', 1

go

sp_configure 'Advanced option' , 0

reconfigure

Exemplo

Executando Xcopy para copiar o backup do diretório D: para o diretório S:


xp_cmdshell 'xcopy D:\aw.bak S:\ /y /s /v'

cmdshell

Abraço, Rodrigo

SQL Saturday #424 – São Paulo

SQLSAt424

Pessoal!

Estamos sendo privilegiados novamente com mais um SQL Saturday no Brasil, desta vez em SP.

Nesta edição eu estarei com uma sessão sobre estratégias de backup e recovery, onde vou falar que muito além de saber fazer um backup é importante saber documentar, guardar, testar e o restante vocês poderão conferir no evento. Espero vocês!

Abaixo segue o link para o site do evento:

http://www.sqlsaturday.com/424/eventhome.aspx

Abraço, Rodrigo

 

Documentos da Palestra do SQL Saturday 361

Documentos da Palestra do SQL Saturday 361

Boa tarde Pessoal!

No SQL Saturday 361 apresentei alguns modelos de documentação de backups e conforme solicitação, segue abaixo os dois documentos utilizados na apresentação.

Estes documentos são parte do que utilizamos no dia-a-dia da CrespiDB, recomendo que seja feita uma análise para adaptação as necessidades de cada ambiente.

O primeiro documento é o de análise de risco de backup e restore a intenção é classificar os artefatos do ambiente de banco de dados e estimar métricas de tempo de restore, backup, espaço em disco, segurança das mídias e etc.

O segundo documento é um check-list de restore onde deve conter todas as informações de restore dos bancos de dados.

Neste documento a minha recomendação é incluir desde a localização das mídias de restore, senhas, até os scripts para restauração dos bancos de dados.

Espero que estes documentos sejam pontos de partidas.

Abraço, Rodrigo