我在SQL Server 2008測試版中對此提出了一個錯誤。他們將其關閉爲「固定」,但後來評論說它是Vista問題的重複。因爲它出現在其他幾個SSMS這讓我吃驚/操作系統組合,以及包括迪納利CTP1在Windows 7
http://connect.microsoft.com/SQLServer/feedback/details/344150/ssms-grid-will-not-display-43-679-characters-from-varchar-max
所以,我不知道爲什麼他們稱之爲固定的,因爲它肯定仍然是一個真正的限制。
如果您有< 64K,您可以轉換爲XML,然後在網格模式下單擊結果。不幸的是,你不僅僅限於SSMS將能夠爲你獲得的東西。您需要按照別人的建議導出爲平面文件,使用其他程序完整地提取數據,或手動粘貼40000個字符的塊。在您的例子,你可以做這樣的事情:
DECLARE @foo TABLE (a VARCHAR(MAX));
INSERT @foo(a) SELECT REPLICATE('A', 8000);
DECLARE @i INT = 1;
WHILE @i < 36
BEGIN
UPDATE @foo SET a += REPLICATE(CHAR(@i+64), 8000);
SET @i += 1;
END
SELECT DATALENGTH(a), a FROM @foo;
SELECT SUBSTRING(a, 1, 40000),
SUBSTRING(a, 40001, 40000),
SUBSTRING(a, 80001, 40000),
SUBSTRING(a, 120001, 40000),
SUBSTRING(a, 160001, 40000),
SUBSTRING(a, 200001, 40000),
SUBSTRING(a, 240001, 40000),
SUBSTRING(a, 280001, 40000)
FROM @foo;
但是你必須通過增加更多的操作與值> 320K列進行調整。
你能嘗試直接保存查詢結果到一個文件? –
亞倫,我總是接受帶來解決方案或至少可用的最佳解決方案的答案,並且您發送了一個很好的答案,可以解決我的問題。謝謝!我建議你檢查我的帖子的歷史,看看我在說什麼。有時候,我只是在發送問題後不會坐在這裏,但我確信我會稍後回來從本論壇用戶提供的傑出答案中獲益,並批准最佳答案,併爲所有幫助我的答案投票。 –