我有一個正常的SQL查詢:計劃出口到文本文件
SELECT * FROM fmain
,我想這個查詢的結果定期保存到一個文本文件中。
也就是說,我希望查詢自己運行,然後每天早晨在上午8點(左右)填充文本文件。
我正在運行SQL Server Management Studio 2012
,並且是一位新手SQL用戶,因此請儘量以儘可能多的解釋方式回答問題。
請幫我解決這個問題。
乾杯, 尼爾斯
我有一個正常的SQL查詢:計劃出口到文本文件
SELECT * FROM fmain
,我想這個查詢的結果定期保存到一個文本文件中。
也就是說,我希望查詢自己運行,然後每天早晨在上午8點(左右)填充文本文件。
我正在運行SQL Server Management Studio 2012
,並且是一位新手SQL用戶,因此請儘量以儘可能多的解釋方式回答問題。
請幫我解決這個問題。
乾杯, 尼爾斯
你可以做到這一點與SQL腳本,批處理和計劃任務。
首先,在你的首選目錄下創建Sql腳本,例如C:\ TEMP \ MySelect.sql,用你的sql語句。
EXEC xp_cmdshell 'SQLCMD -S . -d YOUR_DATABASE_NAME -Q "EXEC SELECT * FROM fmain" -s "," -o "C:\TEMP\MY_FILE.txt" -h-1 -W -s"|"';
然後創建批處理文件,就像C:\ TEMP \ call_sql.bat
@ECHO OFF
echo "Start"
sqlcmd -i C:\TEMP\MySelect.sql
然後配置任務計劃每天早上8點運行。 你可以通過程序界面或使用腳本:
schtasks /create /sc DAILY /ST 08:00 /tn "EXPORT fMain every DAY Script" /tr "C:\TEMP\call_sql.bat"
我希望這可以幫助你
謝謝你的快速回答,但是我在EXEC產品線上收到了很多錯誤。整條線或多或少是紅色的:P。我將數據庫名稱更改爲我的數據庫,還有什麼需要謹慎處理的? – NilsSoderstrom
你可以發佈錯誤嗎? 檢查是否存在C:\ TEMP \目錄(或您要保存文件的目錄路徑) – pas
通過SSIS工作:右鍵單擊DB,任務 - >導出數據,然後按照下列步驟操作: [SQL Server Management Studio 2008計劃導出到MS Access](http://stackoverflow.com/questions/10861955/sql-server-management-studio-2008-scheduled-export-to-ms-access) –