SQL SERVER – xp_cmdshell

25 05 2009

 

 

xpcmd

Problema:

Ao tentar efectuar algumas operações sobre uma ou mais base de dados, como efectuar ou repor uma cópia de segurança é mostrado por vezes um erro relacionado com o procedimento xp_cmdshell, como por exemplo:

"Microsoft][ODBC SQL Server Driver][SQL Server]SQL Server blocked access to procedure ‘sys.xp_cmdshell’ of component ‘xp_cmdshell’ because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of ‘xp_cmdshell’ by using sp_configure. For more information about enabling ‘xp_cmdshell’, see "Surface Area Configuration" in SQL Server Books Online"

Características:

Nome: XP_CMDSHELL
Localização: Base de dados Master
Tipo: Extended Procedure
Descrição: Esta procedure executa uma sequencia de comandos em string do tipo shell no computador onde o sql server está instalado.
Utilidades: listar directórios; criar, copiar, apagar arquivos; enviar mensagens, etc.

Quer no SQL 2005 quer no 2008 o parâmetro xp_cmdshell vem desactivado por defeito por razões de segurança. Devido a este facto o SQL não pode executar comandos do sistema operativo, a partir da Shell linha de comandos. A Microsoft designa essa configuração de "configuração segura por padrão".

Isto faz com que em algumas operações onde o Servidor SQL Server tenha de interagir com o Sistema Operativo possa surgir um erro informando que o xp_cmdshell está desactivado e que por isso não é possível concluir a operação em curso.

Na versão 2008 foi descontinuado o "Surface Area", de modo que não é possível activar ou desactivar directamente. É assim necessário executar sobre a base de dados o comando que permite activar, ou desactivar o xp_cmdshell.

Como activar o xp_cmdshell:

SQL 2005 em Surface Area Configuration:

1. Aceder a ferramenta SQL Server Surface Area Configuration localizada em Start | Programs | SQL Server 2005 menus | SQL Server 2005 Configuration Tools;

2. Seleccionar Surface Configuration Area for Features;

3. Seleccionar "xp_cmdshell";

4. Activar a opção "Enable xp_cmdshell" ;

5.Confirmar.

OBS: Ver esta e outras configurações de forma mais detalhada aqui.

 

SQL 2008, executar dentro da consola:

EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE
EXEC sp_configure ‘xp_cmdshell’, 1
RECONFIGURE

Gostou deste artigo? Deixe um comentário…

invoic€xpress<


Ações

Information

8 responses

9 06 2009
wx

Como sabes o SQL Server 2005 Express perdeu o Xp Agent. Existe alguma maneira de contornar?

9 06 2009
XpecialGUEST

Se é por causa dos backups agendados, vê este post https://invisibleflamelight.wordpress.com/2009/02/04/backups-em-sql-express-20052008/ .

22 02 2011
pri

Viva,
gostaria de saber era como abria a consola para executar esses comandos.
Obrigado

25 02 2011
XpecialGUEST

Bom dia.

Quando me referia à consola, é no Administrador, depois de seleccionar uma empresa, aceder às opções da Manutenção e depois Dentro de Ficheiros.

Carlos

29 01 2013
Filipe

peço desculpa mas podes explicar isto melhor.
tenho o win 8 e o express 7.5.

” Bom dia.

Quando me referia à consola, é no Administrador, depois de seleccionar uma empresa, aceder às opções da Manutenção e depois Dentro de Ficheiros.

Carlos “

31 01 2013
XpecialGUEST

Na versão 6 era possível aceder à consola SQL, para executar comandos. A versão 7.5 não permite isso, pelo menos que eu saiba.

4 03 2012
Primavera Express v7-Instalação, novidades e primeiras impressões « ..::invisible flame light::..

[…] se receber um erro ao repor uma cópia de segurança, veja este […]

3 09 2013
SAMOCO MOREIRA

Adorei o comentario, instalei o SQL 2008 e nao estava conseguir ordenar os comandos. Noite Boa!..

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s




%d bloggers like this: