2017-08-11 13 views
1

SQLデフォルトでFMTOnlyがオフに設定されていますので、速いレポートはデフォルトを尊重しないことがわかったので、なぜFMTOnlyがoの場合に一時表を持つ記憶域プロシージャーが機能しないのか。 誰かがこれを説明できますか?どうも。テンポラリテーブルのクエリはSET FMTONLY OFFなしでは実行できません

Msg 208、レベル16、状態0、プロシージャSP_Fast_Obter_Relatorio、 行54オブジェクト名 '#Temp'が無効です。マニュアルによると

Query and result when FMTOnly is

Query and result when FMTOnly is OFF

+1

「FMTONLY ON」は文を実行しないため、(存在しない)一時表に依存する文は解析できません。 [回避策]があります(https://social.msdn.microsoft.com/Forums/en-US/2b64ca7a-b525-4b64-b4ad-e3c9b7dea5cb/hot-to-get-current-value-of-fmtonly?forum=メタデータを発見するために 'FMTONLY ON'を使用するクライアントツールをサポートしなければならない場合には、これを実行してください。 –

+0

これらの回避策は私に役立ちました、ありがとうございます。 –

答えて

1

https://docs.microsoft.com/en-us/sql/t-sql/statements/set-fmtonly-transact-sql

FMTONLY ONはクライアントだけにメタデータを返します。行または一時情報の結果ではありません。

メタデータのみをクライアントに返します。実際にクエリを実行せずにレスポンスの形式をテストするために使用できます。

この設定により、ステートメントは列情報のみを返します。データの行は返されません。

関連する問題