2011-12-09 11 views
9

Cuando trato de depurar un SQL CLR a través de un script SQL Test en VS2010 (con MSSQL 2008) me sale "Cancelado por usuario" en la ventana de salida de depuración tan pronto la implementación finalizar (que es exitoso)Depuración CLR de SQL "Cancelado por usuario"

He estado navegando por Internet y probé todas las soluciones encontradas y sigo sin ir.

Sistema:

Windows Server 2008 R2 Standard SP 1
64 bits de Visual Studio 2010
último SQL Server 2008 R2 (Ambos se ejecutan en el mismo equipo)

Las medidas adoptadas:

  • VS 2010 se ejecuta como administrador. Usuario de la conexión
  • SQL tiene derechos de administrador de sistemas en SQL 2008
  • cortafuegos está configurado para permitir entrante en los puertos necesarios, tanto para VS 2010 y SQL 2008

sido a través de: http://msdn.microsoft.com/en-us/library/ms165051.aspx

Y: http://msdn.microsoft.com/en-us/library/ee828498.aspx

conjunto Probamos establecer Marco Target a 2,0 (de 3,5)

Probamos sin control "Depl oy código "en Propiedades del proyecto en la sección" Implementar ".

Debajo de la base de datos en Propiedades del proyecto está establecido en "Inseguro" y el propietario del ensamblaje en "dbo".

+1

Hola, he tenido el mismo problema, pero yo era capaz de depurar uniendo al proceso sqlservr remota y ejecutar mi script en SSMS. Si no lo has intentado, solo son unos pocos pasos adicionales, y funciona igual una vez adjuntado. En realidad, me gusta más, porque el resultado está en el formato familiar de SSMS. – Kimberly

+0

Eso es lo que estoy haciendo. Pero es muy molesto tener que detener la depuración y volver a conectarse al proceso una y otra vez cada vez que tenga que ejecutar otra sesión de depuración, donde el método de depuración debería hacerlo de manera automática. – Quintium

+0

¿Puede depurar SQL de SMS o VS? – abatishchev

Respuesta

1

Parte de lo que está aquí puede repetir lo que está en los enlaces de arriba: poner todo en un solo lugar para hacer una lista de verificación completa para cualquier persona con este problema.

Agregue los siguientes puertos/protocolos a las excepciones de entrada en ambas máquinas (es decir, su computadora de escritorio & el servidor sql). Alternativamente, apague los servidores de seguridad en el servidor de escritorio & para omitir algunos de estos pasos.

  • TCP: 135
  • UDP: 400.500

En el escritorio también añadir devenv.exe a la lista de excepciones del proceso/programa de su cortafuegos.

En el servidor de añadir excepciones de firewall para los sqlsrvr.exe y msvsmon.exe procesos.

En el servidor también agregue una excepción de firewall para Uso compartido de archivos e impresoras.

¿El servicio de depuración remota VS está instalado en su servidor?

¿Está habilitada la depuración SQL/CLR en la base de datos/servidor?

¿Está ejecutando VS Pro o Team edition?

¿Su cuenta tiene derechos de administrador en el servidor (SO)?

¿Su cuenta tiene derechos de administrador en la instancia de la base de datos (SQL)?
Aquí hay más información sobre por qué administrador de sistemas que se requiere en SQL Server en caso de que haya argumentos de DBA/gerentes sobre la restricción del acceso aún más: http://blogs.msdn.com/b/sqlclr/archive/2006/07/07/659332.aspx

¿Te conectas mediante la autenticación de Windows?

Ha intentado editar sqlserver.config según: http://www.sqlskills.com/BLOGS/BOBB/post/SQLCLR-debugging-and-VS-2010-revisited.aspx (tenga en cuenta las precauciones del autor; es decir, este es un truco que puede causar problemas con la estabilidad del depurador de SQL por lo que sólo hacer esto si usted es la única persona a la fijación Este servidor).

<configuration> 
    ... 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
     <supportedRuntime version="v2.0.50727" /> 
    </startup> 
</configuration> 

Si estás en un control de red de la empresa de que no hay sustitutos que puedan afectar a usted (si la máquina no se da cuenta que el servidor está en la misma intranet a veces se le va a través de un proxy) . Intenta usar el FQDN del servidor cuando te conectes ya que la ruta completa explícitamente a veces ayuda (al menos he visto esto solucionar problemas con el servidor ISA).

Si tiene cualquier software de virus de asegurar que las excepciones son la configuración de las extensiones de archivo .mdf , .ndf, .ldf, .bak, .trn & . $$$.

¿Está ejecutando los paquetes de servicio más recientes para los sistemas operativos de servidor VS, SQL y cliente &?

Si aún tiene problemas después de todo eso, ¿ha intentado ejecutar los instaladores SQL y VS en modo reparación, o eliminar y volver a instalar el software?

+0

Gracias por su descripción. He dejado de intentar resolverlo. Dado que nuestro entorno de desarrollo tiene SQL y VS ejecutándose en el mismo servidor, puedo adjuntar directamente al proceso del servidor SQL y así poder depurar el SQL CLR. Pero dado que es un entorno compartido y no tengo control sobre las cuotas, entonces no voy a intentar algunos de esos pasos en este momento. Pero espero que ayude a otros, y si lo hace, entonces esa persona por favor deje un comentario. – Quintium

+0

No se preocupe, tenía la sensación de que podría ser el caso, ya que tengo 10 meses de retraso en la prestación de asistencia :). – JohnLBevan

0

Tuve el mismo problema, aunque estaba depurando bien durante semanas antes de que esto comenzara a suceder.

Tengo que funcione de nuevo ejecutando la siguiente secuencia de comandos en el DB de nuevo:

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO 
sp_configure 'clr enabled', 1; 
GO 
RECONFIGURE; 
GO 

ALTER DATABASE [DBName] SET TRUSTWORTHY ON 
Cuestiones relacionadas