zestaw NOEXEC (języka Transact-SQL)
Kompiluje każdej kwerendy, ale nie wykonać go.
SET NOEXEC { ON | OFF }
Remarks
Kiedy NOEXEC zestaw jest włączone, SQL Server kompiluje każdej partia Transact-SQL instrukcje, ale nie wykonuje je. Gdy NOEXEC zestaw jest wyłączona, wszystkie instancje są wykonywane po kompilacji.
Wykonanie instrukcji w SQL Server składa się z dwóch etapów: opracowanie i wykonywanie. To ustawienie jest użyteczne w przypadku potrzeby SQL Server Sprawdź poprawność nazwy składni i obiekt w Transact-SQL Kod podczas wykonywania. Jest również przydatna podczas debugowania instrukcji, które zazwyczaj są częścią większego partia instrukcji.
Ustawiono zestaw NOEXEC na wykonać lub uruchomić czas, a nie w czasie analizowania.
Uprawnienia
Członkostwo w grupie wymaga publiczne roli.
Przykłady
W poniższym przykładzie użyto NOEXEC z prawidłowej kwerendy, kwerendę za pomocą nazwy obiektu, który nie jest prawidłowy i kwerendy o nieprawidłowej składni.
USE AdventureWorks;
GO
PRINT 'Valid query';
GO
-- SET NOEXEC to ON.
SET NOEXEC ON;
GO
-- Inner join.
SELECT e.EmployeeID, e.Title, v.Name
FROM HumanResources.Employee e
INNER JOIN Purchasing.PurchaseOrderHeader poh
ON e.EmployeeID = poh.EmployeeID
INNER JOIN Purchasing.Vendor v
ON poh.VendorID = v.VendorID;
GO
-- SET NOEXEC to OFF.
SET NOEXEC OFF;
GO
PRINT 'Invalid object name';
GO
-- SET NOEXEC to ON.
SET NOEXEC ON;
GO
-- Function name used is a reserved keyword.
USE AdventureWorks;
GO
CREATE FUNCTION dbo.Values(@EmployeeID INT)
RETURNS TABLE
AS
RETURN (SELECT PurchaseOrderID, TotalDue
FROM dbo.PurchaseOrderHeader
WHERE EmployeeID = @EmployeeID)
-- SET NOEXEC to OFF.
SET NOEXEC OFF
GO
PRINT 'Invalid syntax';
GO
-- SET NOEXEC to ON.
SET NOEXEC ON;
GO
-- Built-in function incorrectly invoked
SELECT *
FROM fn_helpcollations;
-- Reset SET NOEXEC to OFF.
SET NOEXEC OFF;
GO