Sql-Server
SQL Server 查詢需要永遠列舉數據集?
對於從特定機器執行的 SQL 查詢,我遇到了一個有趣的問題。這台機器是一台執行 Windows Server 2003 的 VM,上面裝有 SQL Server Express 2005。
VM 已從 VMWare Player 映像遷移到正確的 VMWare Workstation 設置中。它僅在播放器下執行時執行良好(在不同的物理硬體上)。
在這台機器上,如果我執行 osql 並連接到它自己的 SQLEXPRESS 實例,查詢執行速度非常慢(從 select 語句返回並列印 1000 行需要 10 分鐘。)如果我執行 osql 並連接到另一個數據庫伺服器,查詢執行速度為類似的速度。
在這台機器上,如果我使用 SSMS 執行查詢,它執行得很好!同一個表格在不到一秒的時間內就可以打開進行編輯。我在另一台機器上執行 osql,並連接到這個問題的虛擬機。查詢與以前完全相同的測試也執行得非常快。
這是一個問題的主要原因是因為我們在這個 VM 上的 webapps 執行速度和 osql 一樣慢,而不是 SSMS 表現出的更正常的速度。這些 web 應用程序使用 v2.0.50727 的標準 System.Data dll 進行查詢和連接。
有沒有人以前見過這些症狀,和/或知道如何解決?
這實際上似乎是在 ODBC 數據源控制面板中打開跟踪的問題。
要檢查此設置:
開始 -> 設置 -> 控制面板 -> 管理工具 -> 數據源 (ODBC) 選擇跟踪選項卡。確保跟踪已關閉。