2015-11-18 19 views

回答

1

你可能會發現這個reddit的線程,你的情況有所幫助:https://www.reddit.com/r/SQLServer/comments/1vrlx3/i_want_to_turn_on_text_output_via_sql_command/

基本上,如果你有SQLCMD模式開啓,運行下面的打印文本:如果腳本不SQLCMD模式下執行開啓

:OUT STDOUT 
SELECT * FROM TABLE 

發出警告,你可以使用下面的檢查:

SET NOEXEC OFF; -- previous execution may have toggled it 
:setvar IsSqlCmdEnabled "True" 
GO 
IF ('$(IsSqlCmdEnabled)' = '$' + '(IsSqlCmdEnabled)') 
BEGIN 
    PRINT('Use SqlCmd-mode!!'); 
    SET NOEXEC ON; 
    -- RAISERROR ('This script must be run in SQLCMD mode.', 20, 1) WITH LOG 
END 
ELSE 
BEGIN 
    PRINT('Using SqlCmd-mode') 
    -- insert the code you really want to execute: 
    -- ... 
END 
SET NOEXEC OFF; -- do not disable next execution in this session 
+0

在我看來,如果sqlcmd模式關閉,我甚至不能使用第一個setvar來告訴我它已關閉......它只是沒有編譯。除此之外,答案非常有用。 –