SQL Server 인스턴스를 만들 때 인증 방식을 혼합 모드로 만들어서 sa 계정을 만들어 놓고 그 뒤로 윈도우 인증 방식으로만 접속하다보니 sa 계정 비밀번호를 잊어버리는 사태가 발생한 적이 있었다.. 이 때 sa 계정이 필요했던 이유는 윈도우 인증 방식이 [컴퓨터 이름]\[인스턴스 이름]으로 인증하기 때문에 컴퓨터 이름을 변경하면서 사용할 수 없어졌기 때문이다. 이번 포스팅은 sa 계정 비밀번호를 변경하기 위해 여러 번의 구글링과 몇 번의 오류를 해결한 뒤에 성공했던 여정을 기록한 글이다. 시작! 먼저, 컴퓨터 이름을 다시 기존 이름으로 바꾼 뒤 윈도우 인증 방식으로 SQL Server에 접속한다. [개체 탐색기]에서 서버 이름을 우클릭한 뒤 [속성] > [보안] > [서버 인증]에 들어가서 [SQ..
작년에 SQLD 자격증을 준비하면서 과목 II 파트를 에버노트에 열심히 정리해 놓은 걸 보니 뭔가 아까운 마음에 공유하려고 한다. (과목 I 파트 정리본도 있지만 그 파트는 공부를 시작하면서 패기롭게 노트에 직접 수기로 정리했기 때문에 공유하고 싶어도 참 어렵다...ㅎ) 이는 내용에 대한 설명 보다는 요약 및 정리가 많기 때문에, 전체적인 공부를 끝낸 후에 시험 범위에 대한 내용을 상기시키는 용도로 활용하면 좋을 것 같다. [SQLD 과목Ⅱ] 1-1. 관계형 데이터베이스 개요 [SQLD 과목Ⅱ] 1-2. DDL(Data Definition Language) [SQLD 과목Ⅱ] 1-3. DML(Data Manipulation Language) [SQLD 과목Ⅱ] 1-4. TCL(Transaction Con..
저번 포스팅에 이어 OUTPUT과 APPLY에 대해 정리하고 마무리 하려고 한다. OUTPUT OUTPUT은 INSERT, UPDATE, DELETE, MERGE문에 의한 데이터 변경 작업의 결과를 작업과 동시에 확인할 수 있다. 원래 SELECT를 해야 작업 결과를 볼 수 있고 다른 DML문(INSERT/UPDATE/DELETE/MERGE)은 영향 받은 행의 숫자만 알려주고 영향 받은 데이터는 보여 주지 않는다. 하지만 OUTPUT 키워드와 inserted, deleted 테이블을 사용하면 영향 받은 데이터도 볼 수 있다. inserted, deleted 테이블 OUTPUT이나 Trigger에서 DML을 사용할 때 자동으로 변경되는 시스템 테이블로, 기존 테이블과 구조가 동일하다. INSERT/UPDA..
저번 포스팅에 이어 MERGE 문법에 대해 알아보자. MERGE 문법은 하나의 쿼리문으로 데이터 소스와 대상 테이블을 비교해서 데이터를 동기화할 수 있는 기능을 제공하며, 단일 문에서 여러 DML 작업을 수행할 수 있다. 또한 MERGE문은 반드시 세미콜론(;)으로 종료해야 한다. 문법 사용 방법은 아래와 같이 정리해 보았다. 여기서 대상 테이블과 기준 테이블에 inline view가 들어가는 경우엔 inline view에 대한 aliasing이 반드시 필요하다. MERGE 대상(target) 테이블 AS T USING 소스(source) 테이블 AS A ON 일치 조건 WHEN MATCHED [AND 다른 조건 추가 가능] THEN 수행할 쿼리 (UPDATE or DELETE) WHEN NOT MATC..
MSSQL를 공부하다보면 CTE, MERGE, OUTPUT, APPLY와 같은 문법을 볼 수 있다. CTE는 재귀적으로 사용하면 계층적인 데이터를 반환할 수 있기 때문에 어느 정도 익숙할 수 있지만 MERGE, OUTPUT, APPLY 구문은 익숙하지 않을 수 있기 때문에 이 문법의 사용 방법을 몇 개의 포스팅에 나눠 정리하려고 한다. CTE Common Table Expression의 약자로 "공통 테이블 식"이라고도 부른다. 실제로 CTE라는 키워드가 코드 안에 들어가는 것은 아니고, WITH 구문을 사용한다. CTE는 SELECT문을 미리 정의해 이름을 붙인 후, 이어지는 쿼리에서 테이블처럼 사용하는 기능을 말한다. CTE는 바로 다음에 오는 SELECT절에만 해당 CTE를 이용할 수 있다. CTE..
MSSQL에는 세 가지 JOIN 계획이 존재한다. 바로 Nested Loops Join(중첩 루프 조인), Merge Join(병합 조인), Hash Join(해쉬 조인)이다. 이는 각각 다른 상황에 최적의 성능을 내기 때문에 쿼리 옵티마이저는 통계를 보고 적절한 Join 계획을 세워 Join 동작을 수행한다. 일반적으로 쿼리 옵티마이저가 계획한 대로 실행하지만 쿼리 옵티마이저라고 항상 최적화 된 계획만 세우는 것은 아니다. 그렇기 때문에 적절한 때에 더 효율적인 Join 계획을 수동으로 넣어줘야 하는 경우가 생긴다. 각각의 Join 계획이 어떻게 동작하는지 알아보자. Nested Loops Join (중첩 루프 조인) 한 쪽 Join의 입력이 작고(10 행 미만), 다른 한 쪽의 Join의 입력이 아주..
SQLD는 전에 근무했던 회사에서 데이터베이스 업무를 맡았는데, 업무하는 데 도움이 되겠다 싶어 준비한 자격증이다. SQLD를 취득했을 당시에는 블로그를 하지 않았기 때문에 열심히 정리했던 정리글이 에버노트에만 썩어가고 있는게 아깝기도 하고, 준비할 때 이런 포스팅 글이 도움이 되었기도 해서 1년이나 지난 지금에서야 관련 글을 포스팅 하려고 한다. 사용 교재 교재는 SQL 자격검정 대비 수험서인 SQL 전문가 가이드를 사용했다. 하지만 책 값이 무려 5만원으로 비싸기도 했고, 시험 이후로는 안 볼 것 같아서 pdf를 구해서 공부했다. 2010 Edition이지만 오타가 수정되고 그림이 조금 바뀐 것 외에 내용은 크게 달라진 것이 없기 때문에 다른 분들에게도 책을 사는 것 보다 pdf를 활용하는 것을 추천..
- Total
- Today
- Yesterday
- SQL
- 위험권한
- Android
- covariance
- personal access token
- Algorithm
- SQL Server
- SQLiteOpenHelper
- RecyclerView
- 프로그래머스
- AsyncListDiffer
- 내용제공자
- 알고리즘
- python3
- Python
- MSSQL
- SOCKET
- AndroidStudio
- 안드로이드
- DiffUtil
- kotlin
- pecs
- Java
- gson
- 파이썬
- ViewHolder
- GitHub
- SQLD
- RuntimeException
- 부스트코스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |