SQL Server 인스턴스를 만들 때 인증 방식을 혼합 모드로 만들어서 sa 계정을 만들어 놓고 그 뒤로 윈도우 인증 방식으로만 접속하다보니 sa 계정 비밀번호를 잊어버리는 사태가 발생한 적이 있었다.. 이 때 sa 계정이 필요했던 이유는 윈도우 인증 방식이 [컴퓨터 이름]\[인스턴스 이름]으로 인증하기 때문에 컴퓨터 이름을 변경하면서 사용할 수 없어졌기 때문이다. 이번 포스팅은 sa 계정 비밀번호를 변경하기 위해 여러 번의 구글링과 몇 번의 오류를 해결한 뒤에 성공했던 여정을 기록한 글이다. 시작! 먼저, 컴퓨터 이름을 다시 기존 이름으로 바꾼 뒤 윈도우 인증 방식으로 SQL Server에 접속한다. [개체 탐색기]에서 서버 이름을 우클릭한 뒤 [속성] > [보안] > [서버 인증]에 들어가서 [SQ..
저번 포스팅에 이어 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의 입력이 아주..
- Total
- Today
- Yesterday
- personal access token
- AsyncListDiffer
- 파이썬
- SOCKET
- RuntimeException
- Algorithm
- gson
- 위험권한
- 프로그래머스
- ViewHolder
- python3
- MSSQL
- Android
- 알고리즘
- AndroidStudio
- 안드로이드
- GitHub
- RecyclerView
- pecs
- 부스트코스
- SQLD
- SQL Server
- Python
- Java
- SQLiteOpenHelper
- kotlin
- SQL
- 내용제공자
- DiffUtil
- covariance
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |