답변:
옵션 (쿼리 결과 / SQL Server / 그리드 페이지에 대한 결과)
현재 쿼리의 옵션을 변경하려면 쿼리 메뉴에서 쿼리 옵션을 클릭하거나 SQL Server 쿼리 창에서 마우스 오른쪽 단추를 클릭하고 쿼리 옵션을 선택하십시오.
...
검색된 최대 문자
각 셀에 표시 될 최대 문자 수를 지정하려면 1에서 65535 사이의 숫자를 입력하십시오.
보시다시피 최대 값은 64k입니다. 기본값은 훨씬 작습니다.
텍스트에 대한 BTW 결과 에는 훨씬 더 엄격한 제한이 있습니다.
각 열에 표시되는 최대 문자
수이 값의 기본값은 256입니다. 자르지 않고 더 큰 결과 집합을 표시하려면이 값을 늘리십시오. 최대 값은 8,192입니다.
NVARCHAR (MAX) 열에서 전체 텍스트 (99,208 자)를 열에서 해당 열만 (결과 그리드)를 선택한 다음 마우스 오른쪽 단추를 클릭하고 결과를 CSV 파일로 저장하여 전체 텍스트 (99,208 자)를 얻을 수있었습니다. 결과를 보려면 텍스트 편집기 (Excel 아님)로 CSV 파일을여십시오. 재미있게도 동일한 쿼리를 실행하려고했지만 결과를 파일로 설정하면 결과 대 텍스트 제한을 사용하여 출력이 잘 렸습니다.
@MartinSmith가 (현재) 승인 된 답변에 대한 설명으로 설명 한 해결 방법이 저에게 효과적이지 않습니다 ( '['문자, 16 진수 값 0x5B에 대해 불평하는 전체 XML 결과를 보려고 할 때 오류가 발생했습니다) 이름에 포함 ").
빠른 트릭
SELECT CAST('<A><![CDATA[' + CAST(LogInfo as nvarchar(max)) + ']]></A>' AS xml)
FROM Logs
WHERE IDLog = 904862629
SSMS 용 추가 기능을 작성했으며이 문제가 해결되었습니다. 다음 두 가지 방법 중 하나를 사용할 수 있습니다.
"현재 셀 1 : 1 복사"를 사용하여 원본 셀 데이터를 클립 보드에 복사 할 수 있습니다.
http://www.ssmsboost.com/Features/ssms-add-in-copy-results-grid-cell-contents-line-with-breaks
또는 "셀 시각화 도구"기능을 사용하여 외부 텍스트 편집기 (메모장 ++ 또는 메모장)에서 셀 내용을 열 수도 있습니다. http://www.ssmsboost.com/Features/ssms-add-in-results-grid-visualizers
(기능을 사용하면 외부 응용 프로그램에서 필드 내용을 열 수 있으므로 텍스트임을 알고 있다면 텍스트 편집기를 사용하여 열 수 있습니다. 내용이 그림과 함께 이진 데이터 인 경우 그림으로보기를 선택합니다. 아래 샘플은 그림 열기를 보여줍니다. ) :
데이터를 XML로 반환
SELECT CONVERT(XML, [Data]) AS [Value]
FROM [dbo].[FormData]
WHERE [UID] LIKE '{my-uid}'
예상 결과에 따라 SSMS 옵션 창에서 적절한 제한을 설정하십시오.
당신이 반환하고 텍스트와 같은 인코딩되지 않은 문자를 포함하지 않는 경우에 작동 &
대신 &
하는 XML 변환이 실패 할 것입니다.
PowerShell을 사용하여 데이터 반환
이를 위해서는 명령을 실행할 시스템에 PowerShell SQL Server 모듈이 설치되어 있어야합니다.
모두 설정 되었으면 다음 스크립트를 구성하고 실행하십시오.
Invoke-Sqlcmd -Query "SELECT [Data] FROM [dbo].[FormData] WHERE [UID] LIKE '{my-uid}'" -ServerInstance "database-server-name" -Database "database-name" -Username "user" -Password "password" -MaxCharLength 10000000 | Out-File -filePath "C:\db_data.txt"
-MaxCharLength
매개 변수를 필요에 맞는 값으로 설정하십시오 .
당신이 그것을 볼 필요가 있다면, 나는 이것을 사용했습니다 :
print cast(dbo.f_functiondeliveringbigformattedtext(seed) as text)
결과적으로 SMSS의 메시지 창에 줄 바꿈과 모든 내용이 표시됩니다. 물론 단일 셀만 허용합니다. 여러 행에서 단일 셀을 수행하려면 다음을 수행하십시오.
declare @T varchar(max)=''
select @T=@T
+ isnull(dbo.f_functiondeliveringbigformattedtext(x.a),'NOTHINGFOUND!')
+ replicate(char(13),4)
from x -- table containing multiple rows and a value in column a
print @T
이것을 사용하여 SQL 코드로 생성 된 JSON 문자열의 유효성을 검사합니다. 그렇지 않으면 읽기가 너무 어렵습니다!
큰 varchar / text 열을 빠르게 볼 수있는 가장 쉬운 방법 :
declare @t varchar(max)
select @t = long_column from table
print @t