Azure OpenAI 서비스로 GPT 모델 호출하는 C# Winform 테스트

소개 OpenAI, ChatGPT, Bing 채팅, DALL-E, Copliot 등 언론 매체나 세미나 등을 통해 이미 많이 들어 알고 있거나 이미 사용하고 계시죠? 저도 Bing AI, Github Copliot, Microsoft Designer 등을 이용해서 Visual Studio에서 개발할 때, Azure Data Studio를 이용해서 SQL를 사용할 때, 텍스트 기반으로 이미지를 생성할 때, 그 외 투자나 기타 정보가 필요할 때 등등 다양하게…

SQL SERVER 2022-18-Buffer Pool 병렬 스캔

소개 DB튜닝 관련 교육 시 항상 말씀드리는 주제가 있습니다. 대용량 메모리(적어도 수 백GB 이상 특히 1TB 이상)를 사용하게 되면 이전에 없었던 새로운 유형의 성능 이슈들을 접하게 된다고 따라서 그에 따른 진단, 튜닝, 안정화가 필요하다는 것입니다. 이번에 소개하는 Buffer Pool 스캔 이슈도 해당 범위에 포함된다고 생각합니다. Buffer Pool은 SQL Server가 데이터베이스용으로 사용하는 주 메모리 영역입니다. 아래와…

SQL SERVER 2022-17-Accelerated Database Recovery 향상

소개 Accelerated Database Recovery(이하 줄여서 ADR) 기능은 SQL Server 2019에서 처음 도입되었습니다, 목적은 SQL Server를 재시작하거나, Standby 서버로 넘어가거나, DB에 문제가 생기거나 혹은 트랜잭션 로그가 너무 커져서 로그를 지우고나 용량을 축소하는 등의 DB 복구/복원/로그잘라내기와 같은 작업에서 대용량 DB, 대용량 트랜잭션 작업 특히 장시간 수행되는 트랜잭션 작업(예를 들어 대용량 테이블의 인덱스 작업 등)이 포함되어 있는 경우에…

SQL SERVER 2022-16-XML 압축

소개 기존의 다양한 압축 기능에 더해서 이제 XML 컬럼과 XML 인덱스에 압축 기능을 지원합니다(SQL Server 2022와 Azure SQL 포함). CREATE TABLE (또는 ALTER TABLE, XML_COMPRESSSION 옵션 참조) CREATE INDEX (또는 ALTER INDEX, XML_COMPRESSSION 옵션 참조) XML_COMPRESSION 옵션 CREATE/ALTER TABLE 또는 CREATE/ALTER INDEX에서 XML 데이터의 압축 여부를 XML_COMPRESSION 옵션으로 지정할 수 있습니다(위 링크에 있는 문서 내용과 예제…

SQL SERVER 2022-15-DBCC SHRINKDATABASE 동시성 향상

소개 가능하면 하지 않는 것이 좋은 DB 관리 작업 중에 대표적인 DBCC SHRINKDATABASE 또는 SHRINKFILE, 그러나 현실적으로는 필요한 경우들이 생기죠. 필요에 의해 SHRINK 작업을 하는 경우에도 성능 또는 안정성을 위해 고려할 부분들이 많이 있습니다. 특히 점검 시간이 아닐 때는 더더욱 주의가 필요하죠 그 중에 하나가 쿼리 실행과 동시 처리 시 문제가 될 수 있다는 점입니다.…

SQL SERVER 2022-14-tempdb 동시성 개선

소개 #으로 시작하는 임시 테이블, @로 시작하는 테이블 변수, 그 외 cursor, xml, row versioning 등 다양한 용도의 임시 데이터를 저장하는 tempdb에는 몇 가지 유형의 병목 문제가 있어왔고 그 문제를 해결 또는 완화하기 위해 SQL Server 2005 버전부터 매번 다양한 개선 작업이 적용되어 왔습니다 (아래 첫 번째 링크 문서 참조). SQL Server 2022에서는 병목 유형…

SQL SERVER 2022-13-시계열 데이터

소개 T-SQL의 새로운 함수 중 시계열 데이터 처리 관련 함수들만 별도로 분리했습니다. GENERATE_SERIES() FIRST_VALUE(), LAST_VALUE() DATE_BUCKET() 시계열 데이터 처리 함수들 (신규 or 확장) GENERATE_SERIES ( start , stop [ , step ] ) 쉽게 얘기해서 원하는 형태의 일련번호(순번)를 생성해주는 함수입니다. 데이터 분석 언어인 Python의 arange() 혹은 R의 seq() 와 유사하고 심지어는 다른 RDBMS에서도 동일한 함수를…

SQL SERVER 2022-12-TSQL 확장

소개 T-SQL 관련 일부 함수가 확장되고 새로운 함수와 구문이 추가되었습니다. TRIM() DATETRUNC IS [NOT] DISTINCT FROM BIT 조작 함수 STRING_SPLIT() GREATEST(), LEAST() WINDOW 절 Transact-SQL 확장 또는 새로운 함수들 TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string ) LTRIM ( character_expression , [ characters ] ) / RTRIM ( character_expression ,…

SQL SERVER 2022-11-JSON 확장

소개 JSON 관련 1개의 함수가 확장되고 3개의 새로운 함수가 추가되었습니다. ISJSON() JSON_PATH_EXISTS() JSON_OBJECT() JSON_ARRAY() JSON 확장 또는 새로운 함수들 ISJSON ( expression [, json_type_constraint] ) expression에 지정한 문자열이 유효한 JSON이면 1을 아니면 0을 반환합니다. SQL Server 2016버전부터 지원한 함수이며 2022에서 json_type_constaint 인수가 추가되었습니다. VALUE/ARRAY/OBJECT/SCALAR 형식을 지정해서 만족 여부를 확인할 수 있습니다. [예제] 간단한 예제코드입니다. JSON_PATH_EXISTS(…

SQL Server 2022-10-FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION

소개 사담으로 시작합니다. 제가 개발한 저희 회사 (주)씨퀄로의 SQL Server 전문 모니터링 솔루션인 SQLBigEyes Professional로 기업 고객사에서 데모나 교육을 진행할 때 자주 나오는 질문이 한 가지 있습니다 바로 “특정 저장 프로시저의 실행 계획 확인 시, 현재 매개변수 값을 알 수 있나요?” 라는 것입니다. [그림-쿼리 실행 계획에서 “매개변수” 목록 확인, “컴파일 값”만 출력된다] 결론은 “바로 알…