SQL Server - xp_cmdshell no existe

 
Vista:

xp_cmdshell no existe

Publicado por Ricardo (5 intervenciones) el 22/04/2009 22:12:23
Buenas tardes a todos, tengo un probelma con el xp_cmdshell. La cuestion es la siguiente tengo dos servidores uno es un MS-SQL 2005 y el otro un MS-SQL 2000 el tema es que hice un SP que exporta los datos obtenidos a archivos planos de una consulta en el servidor con MS-SQL 2005. Hasta aca todo bien, tengo un directorio con todos los archivos planos que contiene el resultado de las consulta que realice anteriormente, ahora hice otro SP que importa dichos datos a la base en el MS-SQL 2000 pero el problema es que al crear el SP en este servidor me dice:

"No se pueden agregar filas a sysdepends para el procedimiento almacenado actual, porque depende del objeto 'master..xp_cmdshell' que falta. Sin embargo, se creará el procedimiento."

Me puse a investigar un poco y resulta el el procedimiento "xp_cmdshell" no esta, es decir no existe en la tabla master, en "Procedimiento almacenado extendidos" donde deberia estar. Mi pregunta es la siguiente ¿hay alguna forma de agregarlo?, ya que probe importar los datos manualmente con el wizard y lo hace bien, los datos se insertan de maravillas sin problemas. Pero hice un SP que automatiza esto ya que son 407 archivos planos los que tengo que importar y hacerlo a mano es muy tedioso.

Esto es lo que me sale al querer ejecutar este comando:

exec master..xp_cmdshell 'dir /B C:*' --> No se encontró el procedimiento almacenado 'master..xp_cmdshell'.

Tambien probe poniendo el dueño, quedaria asi: "exec master.dbo.xp_cmdshell 'dir /B C:*'" pero no hay caso.

Esta es la version del SQL que tengo instalada, es en español por si alguien pregunta:

SELECT @@version --> Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

Cualquier sujerencia es bienvenida, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:xp_cmdshell no existe

Publicado por Isaias (4558 intervenciones) el 23/04/2009 05:24:24
¿Y en verdad no esta?, digo, ya fuiste a MASTER y comprobaste que en los procedimientos extendidos no existe XP_CMDSHELL

¿Que service pack tienes en tu SQL Server?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:xp_cmdshell no existe

Publicado por Ricardo (5 intervenciones) el 23/04/2009 13:32:38
Si como comente en el primer post, fui a la table master y busque el procedimiento xp_cmdshell y efectivamente no existe en ducha tabla, de hecho si miras el mensaje de error que me tira el sql dice eso, que no existe. EL service pack que tiene es el 4, fijate que puse la salida de "select @@version".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:xp_cmdshell no existe

Publicado por Ricardo (5 intervenciones) el 23/04/2009 14:50:39
Encontre la solucion, investigando mas fui a dar con esta pagina: http://support.microsoft.com/kb/891984.

Simplemente lo que hice fue lo siguiente:

-- Borra el procedimiento
exec sp_dropextendedproc 'xp_cmdshell'
-- Agrega el procedimento
exec sp_addextendedproc 'xp_cmdshell','Xplog70.dll'
-- Pruebo que funcione
exec xp_cmdshell 'dir *.exe'

Tip: si a alguien no le funciona prueben poniendole "master.dbo.xp_cmdshell"

De esta forma funciona de las mil maravillas. Espero que le sea util a alguien mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:xp_cmdshell no existe

Publicado por Isaias (4558 intervenciones) el 24/04/2009 03:26:01
Bueno, si "borraste" el procedimiento, es porque existia.

Gracias por publicar tu solucion, a alguien mas le puede ser de utilidad.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:xp_cmdshell no existe

Publicado por Ricardo (5 intervenciones) el 24/04/2009 13:48:09
No, no lo borre lo que pasa es que asi esta en el MSDN de Microsoft.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:xp_cmdshell no existe

Publicado por Isaias (4558 intervenciones) el 28/04/2009 03:24:15
DROP, lo que hace, es BORRAR el objeto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:xp_cmdshell no existe

Publicado por Ricardo (5 intervenciones) el 28/04/2009 03:28:07
Bueno lo dejemos ahi, el problema se soluciono y todos contentos. Espero que le sirva a otras personas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:xp_cmdshell no existe

Publicado por daniel (1 intervención) el 30/09/2009 21:45:02
me sirvio!!!!!!!! gracias!!!!!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar