합니다 (기름 한 질문에 대한 죄송합니다, 나는 간결하려고합니다.) 질문과 나는 SQL Server 프로파일 러를 실행하는거야 내가 몇 가지 성능 문제를 추격하고있어기본 SQL 프로파일 러의 몇
. 필자는 프로파일 러가하는 일에 비교적 익숙하며 추적을 테이블로 내 보내서 데이터에 대해 쿼리를 실행할 수 있습니다.
필자가 해봤 던 점 중 하나는 트레이스 내보내기에서 생성 된 테이블의 TextData 필드에 대해 select 쿼리를 수행하는 것 같은 이상한 동작입니다. 필드의 데이터 유형 (ntext, null)과 관련 될 수 있습니다. 특정 값을 선택하지만 예기치 않은 결과가 발생합니다. 나는이 할 경우 예를 들어, :
select * from [TraceAnalyzer].dbo.TraceTable
을 나는 같은 값에 관심이 있어요 :
select * from [TraceAnalyzer].dbo.TraceTable
where TextData like '%exec [Sproc_of_interest] @parm1=%'
하지만 :
exec [Sproc_of_interest] @parm1=992
나는이 같은 쿼리를 할 거라고 반환 결과가 비어 있습니다. 내가 같은 쿼리 할 경우
또한 :
select * from [TraceAnalyzer].dbo.TraceTable
where TextData like '%exec [Sproc_of_interest]%'
을 나는 기준에 대괄호가 일을 망치는겠습니까 exec sp_reset_connection
같은 예기치은 textData 값을 얻을? 나는 그들을 생략하려고했지만, 그것은 단지 모든 것을 배제한다. SQL 선택 쿼리에서 이스케이프 문자를 인식하지 못합니다. 그러나 문제의 레코드 중 하나에서 값을 복사/붙여 넣을 때 붙여 넣은 값에 원래 쿼리의 조건을 충족시키는 내용이 포함되어 있지 않습니다.
어떤 통찰력이라도 대단히 감사하겠습니다. 감사.
'[Sproc_of_interest]' 패턴 구문에서 일치시킬 값 집합으로 해석됩니다. 어쨌든 당신이 선도적 인 와일드 카드를 사용하고 있다면 아마 [CHARINDEX'를 사용하는 것이 더 쉽습니다.] (http://stackoverflow.com/questions/258757/escape-a-string-in-sql-server-so-that-it -is-like-in-like-expression/9242060 # 9242060)를 사용하여 모든 특수 문자를 이스케이프 처리하지 마십시오. –
Martin 감사합니다. 그게 내가 원하는 걸 얻는 것 같아. 대답으로 다시 게시하면 내가 인정한 점수를드립니다. :-) – BobC