Compartir a través de


Cómo: Habilitar la depuración de Transact-SQL

Este tema se aplica a:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

s0fk6z6e.DoesApplybmp(es-es,VS.100).gif s0fk6z6e.DoesApplybmp(es-es,VS.100).gif s0fk6z6e.DoesApplybmp(es-es,VS.100).gif s0fk6z6e.DoesNotApplybmp(es-es,VS.100).gif

La depuración de Transact-SQL con Visual Studio requiere un servidor de bases de datos de SQL Server, a partir de SQL Server 2005, así como la configuración de los permisos de adecuados.Si la instancia correspondiente de SQL Server se está ejecutando en otro equipo, también necesitará configurar el Firewall de Windows en ambos equipos.

Nota: no se admite la depuración de Transact-SQL con SQL Server 2000 y versiones anteriores.

También puede utilizar Visual Studio para depurar código de SQL CLR (objetos de base de datos que utilizan código administrado).Para depurar SQL CLR en un servidor de bases de datos remoto, debe instalar el Monitor de depuración remota en el equipo que ejecuta la instancia de SQL Server.Para obtener más información, vea How to: Set Up Remote Debugging y Debugging Database Objects That Use Managed Code (SQL CLR Debugging).

Para obtener más información sobre cómo depurar Transact-SQL con SQL Server Management Studio, vea Utilizar el depurador de Transact-SQL.

Para preparar los permisos SQL Server en la instancia de SQL Server

  1. Agregue la cuenta de la aplicación al rol fijo del servidor de SQL Serversysadmin.La cuenta de la aplicación es la cuenta de Windows bajo la que se ejecuta Visual Studio.Para ello, ejecute la siguiente instrucción de Transact-SQL con un usuario de inicio de sesión que también sea miembro de sysadmin, donde Domain\Name representa el usuario de inicio de sesión de la cuenta de Windows: sp_addsrvrolemember 'Domain\Name', 'sysadmin'

  2. Agregue la cuenta de conexión al rol fijo del servidor de SQL Server sysadmin.La cuenta de conexión es el usuario de inicio de sesión de Windows o de SQL Server que el código de Transact-SQL utiliza para conectarse a la instancia de SQL Server.Para ello, ejecute la siguiente instrucción Transact-SQL con un usuario de inicio de sesión que también sea miembro de sysadmin, donde Domain\Name representa la cuenta de Windows: sp_addsrvrolemember 'Domain\Name', 'sysadmin'

Nota

Recomendamos que el código de Transact-SQL se depure en un servidor de pruebas, no un servidor de producción, por las siguientes razones: la depuración es una operación que requiere privilegios elevados.Por consiguiente, solo se permite depurar a los miembros del rol fijo del servidor sysadmin en SQL Server.Las sesiones de depuración se suelen ejecutar durante períodos de tiempo prolongados mientras se investiga el funcionamiento de varias instrucciones de Transact-SQL.Los bloqueos, como los bloqueos de actualización, que adquiere la sesión se pueden mantener durante períodos prolongados, hasta que finalice la sesión o se confirme o revierta la transacción.

Para preparar el Firewall de Windows para la depuración remota (cuando SQL Server se ejecuta en un equipo diferente)

  1. En el equipo que ejecuta Visual Studio debe agregar lo siguiente a la lista de excepciones del Firewall de Windows:

    1. El programa Visual Studio, Devenv.exe.

    2. Puerto TCP 135

  2. En el equipo que ejecuta la instancia de SQL Server, debe agregar lo siguiente a la lista de excepciones del Firewall de Windows:

    1. El programa SQL Server, sqlservr.exe.De forma predeterminada, sqlservr.exe se instala en C:\Archivos de programa\Microsoft SQL Server\MSSQL10.nombreDeInstancia\MSSQL\Binn, donde nombreDeInstancia es MSSQLSERVER para la instancia predeterminada, y el nombre de instancia de cualquier instancia con nombre.

    2. Puerto TCP 135

    3. Si la directiva de dominio requiere que las comunicaciones se realicen a través de IPSec, también debe abrir los puertos UDP 4500 y 500.

Vea también

Referencia

Errores y solución de problemas de configuración de la depuración de Transact-SQL

Conceptos

Depurar Transact-SQL

Otros recursos

Configurar la depuración de Transact-SQL

Debug Settings and Preparation

Enabling SQL Debugging on SQL 2000 Desktop Engines

How to: Set Up Remote Debugging

Debugging Database Objects That Use Managed Code (SQL CLR Debugging)