Non lo avevo mai usato prima d'ora, ma oggi ho avuto l'occasione di impiegarlo. Sto parlando di FMTONLY.
SET FMTONLY (transact-SQL)
http://msdn.microsoft.com/en-us/library/ms173839.aspx
Questo flag consente di ritornare al client i soli metadati di una query, senza eseguirla effettivamente.
ad esempio, ipotizziamo di avere due tabelle e di voler eseguire una join di questo tipo:
USE tempdb;
GO
CREATE TABLE Table1
(
ID int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED
, Valore varchar(20) NOT NULL
)
GO
CREATE TABLE Table2
(
ID int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED
, Valore varchar(20) NOT NULL
)
GO
INSERT INTO Table1 (Valore)
VALUES ('PROVA')
GO 1000
INSERT INTO Table2 (Valore)
VALUES ('CIAO')
GO 500
SET FMTONLY ON;
SELECT
T1.ID
, T2.Valore
, Valore2 = T1.Valore
FROM
Table1 T1
LEFT JOIN
Table2 T2 ON
T1.ID = T2.ID
ORDER BY
T1.Valore
SET FMTONLY OFF;
DROP TABLE Table1
DROP TABLE Table2
GO
Impostando il flag ad ON il risultato ottenuto è:
L'ho utilizzata per controllare se effettivamente un particolare resultset combacia con la struttura di un mio oggetto in .NET..
Utile
Stay Tuned!