본문 바로가기

SQL Server10

SQL Server에서 임시테이블 CTE와 테이블변수 선택 가이드 SQL Server에서 임시테이블 CTE와 테이블변수 선택 가이드 SQL Server에서 대량 데이터를 처리할 때,원천 테이블에서 계산한 집계 결과여러 단계로 분해된 복잡한 조인 결과를 “중간 결과” 형태로 저장해두고 다시 쓰는 패턴이 자주 나옵니다.이럴 때 주로 세 가지를 선택합니다.임시 테이블 (#temp_table)테이블 변수 (@table_variable)공통 테이블 식 (WITH cte_name AS (...))이 세 가지는 메모리 사용량, 통계 정보의 유무, 인덱스 생성 가능 여부가 다르기 때문에, 성능과 실행 계획에 큰 영향을 줍니다.실무에서는 단순히 “가독성 좋다” 수준이 아니라, 데이터 크기·사용 빈도·조인 패턴에 따라 선택해야 합니다.1. 기본 개념과 생애 주기1.1 임시 테이블 (Temporary Table)# 또는 ##로 시작하는 이름을 가진 테이.. 2026. 6. 12.
대용량 데이터 처리 아키텍처 파티셔닝이 성능을 바꾸는 방식 대용량 데이터 처리 아키텍처 파티셔닝이 성능을 바꾸는 방식 대용량 데이터를 빠르게 읽고, 오래된 데이터를 효율적으로 관리하려면 파티셔닝은 거의 핵심 아키텍처에 가깝습니다. SQL Server와 Delta Lake는 모두 파티셔닝을 지원하지만, 한쪽은 관계형 데이터베이스의 물리적 분할에 초점이 있고 다른 한쪽은 데이터 레이크의 파일 배치와 데이터 스키핑에 더 강합니다.파티셔닝이 중요한 이유파티셔닝은 큰 테이블을 날짜, 지역, 카테고리 같은 기준으로 나누어 필요한 부분만 읽게 만드는 방식입니다. SQL Server 문서는 이런 분할이 대용량 테이블에서 빠른 subset access, 유지보수, query performance, lock contention 완화에 도움이 된다고 설명합니다. Delta Lake 문서도 적절한 partition column 선택과 파일 .. 2026. 6. 10.
SQL Server 인덱스 구조를 읽으면 쿼리 성능이 달라집니다 SQL Server 인덱스 구조를 읽으면 쿼리 성능이 달라집니다 SQL Server에서 clustered index와 nonclustered index는 둘 다 B-Tree 계열 구조를 쓰지만, 저장되는 위치와 leaf level의 의미가 완전히 다르기 때문에 성능 특성도 달라집니다. clustered index는 데이터 행 자체가 인덱스 순서로 정렬되어 저장되고, nonclustered index는 데이터와 분리된 별도 구조로서 row locator를 통해 실제 행을 찾아갑니다. SQL Server 인덱스를 먼저 이해해야 하는 이유인덱스는 단순히 “검색을 빠르게 해주는 부가 구조”가 아니라, SQL Server가 데이터를 찾는 경로 자체를 바꾸는 핵심 장치입니다. 적절한 인덱스가 있으면 전체 테이블을 훑는 scan 대신 필요한 위치만 빠르게 찾아가는 seek가 가능.. 2026. 6. 8.
SQL Server 실행 계획에서 꼭 봐야 할 병목 신호 3가지 SQL Server 실행 계획에서 꼭 봐야 할 병목 신호 3가지 SQL Server 실행 계획에서 병목을 가장 먼저 의심해야 하는 신호는 Implicit Conversion, Missing Index, Scalar UDF로 인한 Serial Execution입니다. 이 세 가지는 단순히 “느리다”는 수준이 아니라, 인덱스 사용을 막거나 CPU를 과도하게 쓰게 만들고, 병렬 처리를 무력화해 성능을 크게 떨어뜨립니다. 왜 실행 계획부터 봐야 하는가실행 계획은 SQL Server가 쿼리를 실제로 어떻게 처리했는지를 보여 주는 가장 직접적인 단서입니다. 특히 실제 실행 계획(actual execution plan)은 실행 후의 행 수, 리소스 사용량, 경고 정보를 담고 있어서 병목 원인을 찾는 데 유리합니다. 겉으로는 같은 SQL처럼 보여도, 데이터 형식 불일치나 함수 사용.. 2026. 6. 7.
SQL Server 계정 관리 Login User Schema 생성 삭제 순서 정리 SQL Server 계정 관리 Login User Schema 생성 삭제 순서 정리 SQL Server에서 계정과 권한을 다룰 때 가장 먼저 이해해야 할 개념은 Login, User, Schema입니다. 이 세 가지는 비슷해 보이지만 역할이 서로 다르며, 서버 접속부터 데이터베이스 접근, 객체 관리까지 각 단계에서 다른 책임을 가집니다.많은 분들이 “사용자를 삭제했는데 왜 테이블이 안 없어지지?” 혹은 “로그인을 만들었는데 왜 DB 접속이 안 되지?” 같은 문제를 겪는데, 대부분 이 구조를 정확히 구분하지 못해서 생깁니다. SQL Server 보안은 단순한 계정 생성이 아니라, 어떤 주체가 서버에 들어올 수 있는지, 어떤 데이터베이스에 접근할 수 있는지, 그 안에서 어떤 객체를 사용할 수 있는지를 나눠서 관리하는 방식입니다. 이 구조를 이해하면 생성, 수정, 삭제뿐 아니라 권한 회수와 .. 2026. 5. 24.
데이터 웨어하우스에서 스타와 스노우플레이크의 선택 기준 데이터 웨어하우스에서 스타와 스노우플레이크의 선택 기준 스타 스키마(Star Schema)와 스노우플레이크 스키마(Snowflake Schema)는 데이터 웨어하우스에서 팩트–차원 구조를 설계하는 대표적인 다차원 모델링 기법입니다. 둘 다 중앙에 Fact Table을 두고 주변에 Dimension Table을 배치하나, 데이터 정규화 정도와 물리 구조에서 차이가 나며, 이에 따라 성능, 유지보수성, BI 도구 친화도에 직접적인 영향을 줍니다. 아래에서는 개념 정리부터 차이점, 장단점, 그리고 실제 운영 사례까지 포함해, 데이터 테이블을 설계하는 입장에서 어떻게 선택하고 활용할지까지 자세히 정리하겠습니다.스타 스키마와 스노우플레이크 스키마의 기본 개념스타 스키마(Star Schema)스타 스키마는 하나의 팩트 테이블(Fact Table)을 중심으로 여러 차원.. 2026. 5. 18.
SQL Server DB 모니터링 실전: 성능 진단 및 장애 대응 시나리오 SQL Server DB 모니터링 실전: 성능 진단 및 장애 대응 시나리오 데이터베이스 관리자(DBA)와 데이터 엔지니어에게 SQL Server 모니터링은 단순한 상태 확인을 넘어, 장애를 사전에 예방하고 성능 저하를 빠르게 진단하는 핵심 역량입니다. 실제 운영 환경에서는 예상치 못한 성능 문제가 발생하며, 이를 신속하게 파악하고 해결하는 능력이 비즈니스 연속성을 보장합니다.모니터링의 필요성과 접근 방법SQL Server 모니터링은 크게 사전 예방적(Proactive) 모니터링과 사후 대응적(Reactive) 모니터링으로 나뉩니다. 사전 예방적 모니터링은 성능 지표를 지속적으로 추적하여 문제가 발생하기 전에 조치를 취하는 방식이며, 사후 대응적 모니터링은 이미 발생한 장애에 대해 신속하게 원인을 파악하고 복구하는 방식입니다. 효과적인 데이터베이스 운영을 위해서는 두 가지 접근 .. 2025. 11. 24.
Power BI Report Server 라이선스 비용 부담? Azure Private 네트워크로 대안 구축하기 Power BI Report Server 라이선스 비용 부담? Azure Private 네트워크로 대안 구축하기 Power BI Report Server를 설치했지만 라이선스 비용을 확인하고 깜짝 놀라신 분들이 많을 것입니다. 월 6,858달러나 SQL Server Enterprise Edition(15,000달러+)과 같은 고비용 라이선스를 요구하는 Power BI Report Server 대신, Power BI Pro/Embedded를 활용하여 보안이 강화된 Private 네트워크 환경을 구축하는 방법을 소개합니다.Power BI Report Server 라이선스 현실적인 문제점Power BI Report Server를 합법적으로 사용하려면 다음 중 하나의 라이선스가 필요합니다:라이선스 옵션과 비용Power BI Premium (F64+): 약 6,858달러/월 (용량 기반 구독)SQL Server Enterp.. 2025. 10. 22.
(SQL Server) 시스템 로그 모니터링: AI 시대의 스마트 데이터베이스 관리 전략 (SQL Server) 시스템 로그 모니터링: AI 시대의 스마트 데이터베이스 관리 전략 개요: MSSQL 시스템 로그 모니터링의 필요성Microsoft SQL Server의 시스템 로그 모니터링은 현대 엔터프라이즈 환경에서 데이터베이스의 안정성, 성능, 보안을 보장하는 핵심 요소입니다. 2024-2025년 현재, AI 기반 DevOps와 지능형 모니터링이 주요 트렌드로 부상하면서, 기존의 수동적인 로그 확인에서 예측적 분석과 자동화된 대응으로 패러다임이 전환되고 있습니다. MSSQL의 동적 관리 뷰(DMV, Dynamic Management Views)는 데이터베이스 내부 상태를 실시간으로 파악할 수 있는 강력한 도구로, 성능 최적화, 문제 진단, 보안 모니터링에 필수적입니다. 이러한 도구들은 단순한 로그 확인을 넘어서 인텔리전트 데이터베이스 관리의 기반이 되고 있습니다.핵심 MSSQL 시.. 2025. 9. 29.
(SQL Server) INFORMATION_SCHEMA: 데이터베이스 정보 탐색의 지름길 (SQL Server) INFORMATION_SCHEMA: 데이터베이스 정보 탐색의 지름길 INFORMATION_SCHEMA 뷰를 활용한 유용한 쿼리 가이드SQL Server에서 INFORMATION_SCHEMA는 데이터베이스의 메타데이터(데이터에 대한 데이터)를 표준화된 방법으로 제공하는 뷰 집합입니다. 이는 데이터베이스 객체(테이블, 뷰, 프로시저 등)에 대한 정보를 간편하게 조회할 수 있게 해주죠. 시스템 카탈로그 뷰와 유사하지만, ANSI-SQL 표준을 따르기 때문에 다른 SQL 데이터베이스 시스템에서도 유사한 쿼리를 사용할 수 있다는 장점이 있습니다.1. INFORMATION_SCHEMA.TABLES데이터베이스 내의 모든 테이블과 뷰에 대한 정보를 제공합니다. 특정 스키마에 속한 테이블 목록을 확인하거나, 뷰와 테이블을 구분해서 보고 싶을 때 유용합니다.사용 용도:현재 데이터베이스에 .. 2025. 9. 26.
반응형