본문 바로가기

SQL

a connection was successfully established with the server, but then an error occurred during the pre-login handshake MSSQL 접속 후 다음의 에러가 발생하는 경우가 있습니다. 검색해서 보니 대부분은 껏다가 켜라고 하네요. :)저는 다음의 command를 실행하는 것을 시도하는 게 가장 매력적일 것 같습니다.감사합니다. 문제의 원인No configuration for remote connection to SQL serverProtocol issue 해결책command 창에서 다음의 명령을 수행: Netsh winsock resetOr 컴퓨터 재시작 Referenceshttps://msdn.microsoft.com/en-us/library/aa952081.aspxhttps://msdn.microsoft.com/ko-kr/library/aa952081.aspx> BizTalk Server 데이터베이스가 포함된 원격 SQL.. 더보기
CTE 무한루프 이전에 유용하게 사용했던 CTE SQL에서 간혹 오류가 나는 경우가 발생했습니다.'문의 완료되기 전에 최대 재귀 횟수(?)가 초과되었습니다.' 이는 서버에서 CTE로 인한 무한루프를 방지하기 위한 장치의 제한이 걸렸기 때문일 가능성이 있습니다.기본적으로 최대 100회의 재귀 CTE가 허용되며, 이는 0~32,767의 범위를 가질 수 있습니다.질의의 마지막에 다음 구문을 추가하는 것으로 재귀 회수를 제어할 수 있습니다. SQL OPTION (MAXRECURSION 100) Referenceshttps://technet.microsoft.com/ko-kr/library/ms175972(v=sql.105).aspxhttps://technet.microsoft.com/ko-kr/library/ms181714(v.. 더보기
CTE 일반적으로 Group은 재귀적으로 참조하는 형태입니다.(Group.ParentGroupId = Group.Id 형태) 이에 데이터 조회시 반복처리를 해야 하는 형태가 발생함으로 이를 쉽게 처리할 수 있는 방법은 없을까요?해답은 MSSQL 2005 이후 버전에서 지원하는 CTE(Common Table Expression) 입니다. Anchor set을 설정하고, 이를 재귀적으로 순환하며 참조하게 하는 SQL를 작성할 수 있습니다. Example WITH DirectReports(ManagerID, EmployeeID, Title, EmployeeLevel) AS ( -- Anchor SELECT ManagerID, EmployeeID, Title, 0 AS EmployeeLevel FROM dbo.MyEm.. 더보기