Fouten opsporen in opgeslagen procedures
Met het Transact-SQL foutopsporingsprogramma kunt u interactief fouten opsporen in opgeslagen procedures door de SQL-aanroepstack, lokale variabelen en parameters voor de opgeslagen SQL-procedure weer te geven. Het Transact-SQL foutopsporingsprogramma ondersteunt het weergeven en wijzigen van lokale variabelen en parameters, het weergeven van globale variabelen. Het biedt ook de mogelijkheid om onderbrekingspunten te beheren en controleren bij het debuggen van uw Transact-SQL-script.
In dit voorbeeld ziet u hoe u een Transact-SQL opgeslagen procedure maakt en debugt door erin te stappen.
Notitie
Transact-SQL foutopsporing is niet beschikbaar voor Azure SQL Database of Azure SQL Managed Instance.
Fouten opsporen in opgeslagen procedures
Maak in het venster Query-editor van de database-engine verbinding met een exemplaar van de SQL Server-database-engine. Selecteer een database waarin u een voorbeeld van een opgeslagen procedure kunt maken.
Plak de volgende code in de Query-editor.
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
Druk op F5 om de Transact-SQL code uit te voeren.
Klik in SQL Server Object Explorer met de rechtermuisknop op dezelfde database-engine en selecteer Nieuwe query.... Zorg ervoor dat u bent verbonden met dezelfde database waarin u de opgeslagen procedure hebt gemaakt.
Plak de volgende code in het queryvenster.
EXEC [dbo].[AddProduct] 50, N'T-SQL Debugger Test'; GO
Klik op de marge van het linkervenster om een onderbrekingspunt toe te voegen aan de instructie
EXEC
.Druk op de vervolgkeuzepijl op de groene pijlknop in de werkbalk van de Transact-SQL editor en selecteer Uitvoeren met foutopsporingsprogramma om de query uit te voeren met foutopsporing ingeschakeld.
U kunt ook foutopsporing starten vanuit het menu SQL. Selecteer SQL- ->Uitvoeren met debugger.
Zorg ervoor dat het Locals venster is geopend. Als dat niet het geval is, klikt u op het menu Foutopsporing, selecteert u Windows en Lokaal.
Druk op F11 om de query te openen. U ziet dat de parameters van de winkelprocedure en de bijbehorende waarden worden weergegeven in het venster Locals. U kunt ook de muisaanwijzer op de parameter
@name
in deINSERT
clausule bewegen om de waarde van de T-SQL Debugger Test die eraan wordt toegewezen te zien.Selecteer T-SQL-foutopsporingsprogramma test in het tekstvak. Typ Wijziging valideren en druk op Enter om de waarde van de
name
-variabele te wijzigen tijdens het debuggen. U kunt ook de waarde ervan wijzigen in het venster Locals. U ziet dat de waarde van de parameter rood is, wat een wijziging aangeeft.Druk op F10 om de resterende code te doorlopen.
Wanneer foutopsporing is voltooid, voert u een query uit op de tabel Product om de inhoud ervan weer te geven.
SELECT * FROM [dbo].[Products]; GO
In het resultatenvenster ziet u dat er nieuwe rijen in de tabel staan.