본문 바로가기

MSsql47

MSSQL 현재 붙어있는(접속되어 있는) 세션 정보 확인하는 쿼리 MSSQL에서 현재 접속되어 있는(붙어있는) 세션을 확인하는 쿼리이다. SELECT A.spid, A.login_time, A.loginame, A.last_batch, A.status, A.program_name, A.cmd, B.client_net_addressFROM sys.sysprocesses A JOIN sys.dm_exec_connections BON A.spid = B.session_id ​kill sid 2018. 8. 3.
샤딩 vs 파티셔닝 (Sharding vs Partitioning) 분산데이터베이스의 개념이 나오면서 데이터를 잘개 쪼개놓는 아키텍처가 많은 데이터베이스에 적용되었다.대량의 ROW가 있는 테이블을 조회할 때 인덱스 처럼 나눠져만 있다면 쉽게 접근할 수 있는 개념과 비슷하다.흔히 일별, 월별 등으로 파티션을 하는데 이 때 우리는 파티셔닝이라는 개념을 접하지만 샤딩이라는 개념은 생소할 수도 있다. 샤딩 vs 파티셔닝 (Sharding vs Partitioning) 회원ID 회원명 회원등급 012 호날두 A 100 메시 A 299 벤제마 B 456 음바페 C 1. 샤딩? 수평 분할 ( Horizontal Partitioning ) 위와 같은 테이블이 있을 때 회원ID를 기준으로 샤딩을 적용하면 회원ID가 1~100까지 1개 테이블, 2~200까지 1개테이블, 3~300까지 1.. 2018. 7. 25.
MSSQL EMERGENCY 모드로 DB, TABLE 복구하기(CHECKDB, CHECKTABLE) DB 장애는 절대 나면 안되지만 노후가 원인인 disk fault를 제외하고도 SW 혹은 OS 레벨적인 문제로 인해 데이터, 혹은 데이터 파일에 문제가 생기는 경우가 있다. 이때 MSSQL은 DB 응급모드로 전환 -> DB 검사 -> 데이터 복구 -> DB Online 상태로 변경을 통해서 해결하면 된다.단 복구까지 서비스 중단은 피할 수 없다. --먼저 ALTER DATABASE를 통해 DB를 응급모드로 전환한다ALTER DATABASE 데이터베이스명 SET EMERGENCYGO DBCC CHECKDB('데이터베이스명')GO CHECKDB를 통해 대략 해결할 수 있는 문제인지 파악이 가능하다. 물론 하드웨어적인 문제면 해결이 불가능하다. -- SINGLE_USER 모드로 전환한다. (절대 세션을 닫지 .. 2018. 7. 23.
MSSQL에서 탭, 엔터 제거하기(\t \n \r 제거) MSSQL에서 데이터를 뽑아서 엑셀이나 CSV 등에 옮길 때 엔터나 탭으로 인해 파일 형식이 깨지는 경우가 많다.왜냐하면 tab이나 enter가 구분자 역할을 하기 때문이다. 따라서 엑셀에 담기 전에 탭과 엔터를 REPLACE로 제거해주면 된다. 엔터: REPLACE(REPLACE(컬럼명, CHAR(13), ''), CHAR(10), '');탭: REPLACE(컬럼명, CHAR(9), '') \t: char(9)\n: char(10)\r: char(13) \t는 탭이기 때문에 char(9)를 찾아서 REPLACE를 해주면 된다.\n, \r은 엔터이기 때문에 char(10)과 char(13)을 찾아서 REPLACE를 해주면 된다. 2018. 7. 19.