Table of Contents
Actualizado: ASR Pro
Aquí hay muchas formas simples que pueden ayudarlos a resolver el problema de depuración de secuencias de comandos Transact-SQL.
Usando
¿Cómo depuro un script de SQL Server?
Comience a depurar. Para comenzar a depurar un procedimiento almacenado de Web SQL Server en SQL Server, toque ALT+F5 o navegue hasta Depurar -> Iniciar depuración como se muestra en algunas de las siguientes figuras:Completa el escenario.Corre hacia su cursor.ventana local.Ventana de seguridad.pila de llamadas.ventana inmediata.puntos de control
MaestroANDARPEROCREAR BASE DE DATOS TestDBANDARPEROUsar una base de datos de pruebaANDARPEROCREAR MESA(ID de usuario INT IDENTIDAD (1,1),nombre de usuario NVARCHAR (40) NO NULO,PK_UserList_UserID LÍMITE AGRUPADO DE CLAVE PRINCIPAL (ID de usuario))ANDARPEROCREAR ÍNDICE ÚNICO UIX_UserList_UserName ON UserList (nombre de usuario)ANDARPEROCREAR TABLA AdvancedUserList(ID de usuario INT,Calificación del usuario INT,LÍMITE PK_AdvancedUserList_UserID PRIMARY KEY CLUSTERED (UserID),CONSTRAINT CK_UserRank CHECK (UserRank IN (100, 200, 300)),LÍMITE FK_AdvancedUserList_UserList CLAVE EXTERNA (ID de usuario) REFERENCIAS Lista de usuarios (ID de usuario))ANDAR
Usar TestDBANDARPEROCREAR UN PROCEDIMIENTO [email protected] int,@pUserRank INT=100,@pResCode INT OUT ----0-OK, 1-ERRORME GUSTAEMPEZARPERO INSTALAR NADAPERODECLARE @trancount BIT es simplemente 0PERO EMPIEZA A PROBARSI @@TRANUMERO=0EMPEZARCOMENZAR UNA OFERTASET @trancount=1FINALPEROINSERTAR A AdvancedUserList (UserID, UserRank)VALORES (@pUserID, @pUserRank)PEROSI @transcount=1COMPLETOPEROESTABLECER @pResCode=0PERO INTENTAR SALIR Para empezarSI @transcount=1RESTABLECIMIENTO DE VALORES POR DEFECTOPEROUSTAKE @pResCode=1PERO SELECT_ERROR_MESSAGE()PERO FIN DE LA CAPTURAPEROFINAL
Usar TestDBANDARPEROCREAR PROCEDIMIENTO [email protected] NVARCHAR(40),@pIsAdvancedUser BIT = INT 0,@prescode SALIDA --0-OK, 1-ERRORME GUSTAEMPEZARPERO INSTALAR NADAPERODECLARACIÓN @UserID INTPERO EMPIEZA A PROBARPERO EMPEZARPERO transacción INSERT IN lista de usuarios (nombre de usuario) VALORES (@pUserName)PEROESTABLECER @IDUsuario=SCOPE_IDENTITY()PEROSI(@pIsAdvancedUser=1)EXEC uspAñ[email protected] significa @UserID,@pUserRank significa 500,@pResCode = @pResCode SALIDAPEROSI @pResCode=1 RAISERROR('uspAddAdvancedUser falló',16,1)PEROSI(@pResCode=0)COMPLETODIFERENTEEMPEZARSI @@TRANUMERO>0RESTABLECIMIENTO DE VALORES POR DEFECTOPEROCONFIGURAR @pResCode=1FINALPERO INTENTAR SALIR Para empezarPERO SI @@TRANUMERO>0 RESTABLECIMIENTO DE VALORES POR DEFECTOPEROCONFIGURAR @pResCode=1PERO SELECT_ERROR_MESSAGE()PERO FIN DE LA CAPTURAPEROFINAL
USAR [Prueba de base de datos][email protected] intPEROEXEC uspAñ[email protected] = 'Volumen',@pIsAdvancedUser significa 0,@pResCode = @pResCode [email protected] como N'@pResCode'PEROPEROSELECCIONE 5 . DESDE dbo.UserList
Usar TestDBANDARPEROPROCEDIMIENTO PARA CAMBIAR [dbo].[uspAddUser]@pNombreUsuario NVARCHAR(40),@pIsAdvancedUser TI = 0,@pResCode INT SALIDA --0-OK, 1-ERRORME GUSTAEMPEZARPERO INSTALAR NADAPERODECLARACIÓN @UserID INTDECLARAR @trnCount INT es igual a @@TRANCOUNTPERO EMPIEZA A PROBARPERO COMENZAR UNA OFERTAPERO AGREGAR A LA LISTA DE USUARIOS (nombre de usuario) VALORES (@pUserName)PEROSET UspAñ[email protected] @userid=scope_identity()perosi(@pisusuarioavanzado=1)exec es igual a @userID,@pUserRank = 500,@pResCode es igual a SALIDA @pResCodeDIFERENTEESTABLECER @pResCode=0SI @pResCode=1 RAISERROR('uspAddAdvancedUser falló',16,1)PEROSI(@pResCode=0)COMPLETODIFERENTEEMPEZARCONFIGURAR @pResCode=1SI @@TRANUMERO>0RESTABLECIMIENTO DE VALORES POR DEFECTOFINALPERO INTENTAR SALIR Para empezarPERO SI @@TRANUMERO>0 RESTABLECIMIENTO DE VALORES POR DEFECTOPEROCONFIGURAR @pResCode=1PERO SELECT_ERROR_MESSAGE()PERO FIN DE LA CAPTURAPEROFINAL
¿Puede toda su familia depurar un script SQL?
Puede detener la depuración del script sql haciendo clic en el comando Pausa. también puede utilizar todos los diversos comandos de Pace del menú Depurar para crear secuencias de comandos SQL. No necesita ningún privilegio especial para depurar una secuencia de comandos SQL, excepto en nombre de los privilegios necesarios para ejecutar, diría operadores de secuencias de comandos.