본문 바로가기

Database/MSSQL

(4)
[MSSQL] CDC(Change Capture Data) in SQL Server MS SQL 에서 활용하는 CDC(Change Capture Data) 활용하는 방법에 대하여 정리합니다. 개요CDC란 INSERT, UPDATE 및 DELETE 작업와 같은 테이블 변경 작업을 식별하여 추적하는 기술입니다.주로 실시간성 스트리밍 데이터에 활용되는 기술이며, 대용량 데이터에서도 활용하면 리소스를 절약할 수 있습니다.  SQL Server 에는 2008 에 처음 도입되었습니다. SQL Agent를 통해 테이블 변경이 있을 때마다 프로시저를 트리거하는 방식으로 구현되었습니다.SQL Server 2016 에는 위 기능이 SQL Agent을 사용하지 않고 간단히 설정할 수 있도록 업데이트 되었습니다. 두 버전 모두 테이블 단위로 CDC가 설정되고 해당 설정이 켜진 테이블은 Temporal Tab..
[MSSQL] Query로 XML 파싱하기 일반적으로 레거시에서 ETL할 때 XML값을 파싱 및 처리해서 가져오지만, 애드혹으로 들어온 데이터에서 SQL로 XML 파싱이 필요하여 정리합니다. XML 문서의 구조와 특징을 간단히 정리하고 SQL로 XML을 파싱해보겠습니다.  1. Element / AttributeXML은 Element와 Attribute 로 구성되어 있습니다.XML Element는 시작 태그부터 종료 태그까지의 모든 것을 의미합니다.XML Attribute는 Element에 대한 추가적인 정보를 제공합니다.# Element 예시 511111 Jay Kim 511112 David Kim 511113 Ted Park # Attribu..
[MSSQL] View와 SP에 참조되는 테이블 목록 확인 및 마트화 배경RDB를 운영하며 점차 확장하고 이에 View와 SP(Stored Procedure)의 스크립트 수는 증가합니다.스크립트를 잘 관리하여 활용도를 높이고 스크립트 간의 lineage를 파악할 수 있도록 정리합니다.➞ 무작정 마트 만들지 말기, 활용성 높은 마트 만들기 위해 고민하기 sys.dm_sql_referencing_entities / sys.dm_sql_referenced_entities 위의 함수를 사용하여 스크립트에서 참조되는 테이블 목록을 확인할 수 있습니다.DB 전체의 스크립트를 파악하기 위하여 동적 쿼리와 커서문을 사용하여 데이터를 생성하였습니다. -- 1. DB의 View, SP 목록을 담을 테이블 생성 drop table if exists #tb_list create table #t..
[MSSQL] sys 함수 정리 MS Docs https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-all-views-transact-sql?view=sql-server-ver16   1. View SELECT OBJECT_NAME(OBJECT_ID) Name_,OBJECT_DEFINITION(OBJECT_ID) Script_FROM sys.viewsWHERE 1=1  2. ProcedureSELECT OBJECT_NAME(OBJECT_ID) Name_,OBJECT_DEFINITION(OBJECT_ID) Script_FROM sys.proceduresWHERE 1=1  SP_HELPTEXT '   '  3. ALL SELECT ROUTINE..