你需要做的第一件事是確定xp_cmdshell是可用的你可以選擇下面兩種方法中的一種來實現
你可以使用sp_configure並執行下面的腳本

EXEC masterdbosp_configure show advanced options
RECONFIGURE
EXEC masterdbosp_configure xp_cmdshell
RECONFIGURE
你可以使用Surface Area Configuration工具
選擇功能中的Surface Area Configuration並檢查Enable xp_cmdshell檢驗欄

圖一
現在既然你已經使xp_cmdshell可用那麼你可以准備輸出你的文件
下面是一個示例命令它將把系統文件表的結果輸出到以逗號分割的文件bcptesttxt中只需復制並把它粘貼到一個查詢窗口中且執行這個查詢
EXEC xp_cmdshell bcp SELECT * FROM sysfiles queryout C:\bcptesttxt T c t
注BCP是一個命令行實用工具xp_cmdshell要求只能在一個SQL批處理內使用
當在master數據庫中執行上面的命令時將得到這個輸出結果

圖二
使用的參數是
l Queryout選項允許你指定一個查詢來輸出這可以像我們使用的查詢那樣簡單也可以像你需要的那樣復雜你也可以創建一個視圖並從視圖中選擇數據
l file name是存儲結果的它位於queryout選項之後
l T參數指定bcp實用工具通過集成安全使用一個可信連接來連接到SQL Server如果你想使用一個SQL Server登陸那麼你可以使用P(密碼)和U(用戶)
l c指定將用於各個字段的字符數據類型
l t參數允許你指定一個字段定界符在t之後的字符將用於隔開數據字段如果t被刪除了那麼tab將用於默認定界符
另一個你可能需要使用的參數是S你可以用它來指定服務器名稱如果你有一個指定的實例那麼你需要使用這個參數下面是一個連接到服務器DEVELOP 和實例 DEV的例子
EXEC xp_cmdshell bcp select name type_desc create_date from sysobjects queryout C:\bcptesttxt T SDEVELOP\DEV c tEXEC xp_cmdshell bcp select name type_desc create_date from sysobjects queryout C:\bcptesttxt T SDEVELOP\DEV c t
你也必須知道使用參數t和T的實例是不一樣的所以要保證你在實例中使用正確的參數
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22099.html