Felsöka lagrade procedurer
Med Transact-SQL felsökningsprogrammet kan du felsöka lagrade procedurer interaktivt genom att visa SQL-anropsstacken, lokala variabler och parametrar för den SQL-lagrade proceduren. Transact-SQL-felsökaren stöder visning och ändring av lokala variabler och parametrar, visning av globala variabler. Det ger också möjlighet att styra och hantera brytpunkter när du felsöker ditt Transact-SQL skript.
Det här exemplet visar hur du skapar och felsöker en Transact-SQL lagrad procedur genom att gå in i den.
Not
Transact-SQL felsökningar är inte tillgängliga för Azure SQL Database eller Azure SQL Managed Instance.
Felsöka lagrade procedurer
I fönstret Frågeredigerare för databasmotor ansluter du till en instans av SQL Server Database Engine. Välj en databas där du kan skapa ett exempel på en lagrad procedur.
Klistra in följande kod i frågeredigeraren.
CREATE TABLE [dbo].[Product] ([Id] INT, [Name] NVARCHAR(128)) CREATE PROCEDURE [dbo].[AddProduct] @id INT, @name NVARCHAR(128) AS BEGIN INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) SELECT [Name] FROM [dbo].[Product] WHERE [Id] = @id DECLARE @nextid INT SET @nextid = @id + 1 INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) SELECT [Name] FROM [dbo].[Product] WHERE [Id] = @nextid END
Tryck på F5 för att köra Transact-SQL-koden.
I SQL Server Object Explorer högerklickar du på samma databasmotor och väljer Ny fråga.... Kontrollera att du är ansluten till samma databas där du skapade den lagrade proceduren.
Klistra in följande kod i frågefönstret.
EXEC [dbo].[AddProduct] 50, N'T-SQL Debugger Test'; GO
Klicka på den vänstra fönstermarginalen för att lägga till en brytpunkt i
EXEC
-instruktionen.Tryck på listrutepilen på den gröna pilknappen i redigerarens verktygsfält Transact-SQL och välj Kör med felsökningsprogrammet för att köra frågan med felsökning aktiverad.
Alternativt kan du börja felsöka från menyn SQL. Välj SQL –>Kör med felsökningsprogrammet.
Kontrollera att fönstret Locals är öppet. Om inte, klicka på menyn Felsökning, välj Windows och Lokal.
Tryck på F11 för att gå in i frågan. Observera att parametrarna för lagringsproceduren och deras respektive värden visas i fönstret Locals. Ett alternativ är att hovra musen över parametern
@name
iINSERT
-satsen för att se värdet från T-SQL Debugger Test som tilldelas det.Välj T-SQL Debugger Test i textrutan. Skriv Verifiera ändring och tryck på RETUR för att ändra värdet för
name
variabel vid felsökning. Du kan också ändra dess värde i fönstret Locals. Observera att värdet för parametern är rött, vilket indikerar en ändring.Tryck på F10 för att stega över den återstående koden.
När felsökningen är klar, sök i tabellen Product för att se dess innehåll.
SELECT * FROM [dbo].[Products]; GO
Observera att det finns nya rader i tabellen i resultatfönstret.