본문 바로가기

데이터베이스/MS-SQL28

MSSQL 인덱스란? MSSQL 인덱스 개념 인덱스의 개념을 설명할 때 가장 쉬운예가 바로 사전이다. 사전 같은경우 ㄱ,ㄴ,ㄷ,ㄹ~ㅎ 이런식으로 책을 찾기 쉽게 인덱스가 되어있다. ㄱ,ㄴ,ㄷ,ㄹ~ㅎ 을 인덱스라고 생각하면 된다.인덱스를 색인이라고도 한다. 만약에 인덱스가 없는 책이라면 일일이 한장한장 넘겨가면서 찾아야할 지도 모른다. 테이블이 간단할때는 사전이 3~4장 밖에 안되서 찾기가 쉬웠지만 테이블이 거대해지면 인덱스를 쓰는게 효율적이고 원하는 것을 빨리 찾을 수 있을 것이다. 장점 1.검색속도가 대체적으로 빨라진다. 2.시스템에 걸리는 부하가 줄어들어서 성능이 향상된다. 단점 1.인덱스가 들어갈 추가적인 공간이 필요하다. 2.인덱스를 생성하는데 시간이 소요된다. 3.데이터의 변경작업이 자주 일어나면 성능이 나빠진다. .. 2022. 12. 23.
MS-SQL 트리거 MS-SQL 트리거 트리거(Trigger) = '방아쇠' (네이버 사전을 찾아보니, "(반응・사건을 유발한) 계기[도화선]" 라는 뜻도 있음) 네이버 사전의 2번째 뜻이 좀 더 맞는것 같습니다. DBA라면 기본으로 자주 접할 것이고, 소규모 회사의 개발자라면 직접 DB까지 관리해야 하는 경우도 있는데, 어느정도는 알아두면 좋을 것 같네요. 트리거는 Oracle 등 다른 RDMBS도 지원하는 기능인데, MS-SQL에서만 사용해 보았습니다. ​ 위의 뜻처럼 DB에서 어떤 특정 이벤트가 발생하면 자동으로(방아쇠 당기면 총알이 나가듯이) 무언가 실행이 된다는 것으로 보면 되겠습니다. DB는 그 특성상 이벤트라 하면 테이블에 발생하는 것이겠죠? 테이블에 데이터가 삽입(INSERT)된다던지, 변경(UPDATE)된다.. 2022. 12. 22.
MSSQL HASHBYTES MSSQL HASHBYTES 적용 대상 SQL Server(지원되는 모든 버전) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics 병렬 데이터 웨어하우스 SQL Server에서 해당 입력의 MD2, MD4, MD5, SHA, SHA1 또는 SHA2 해시를 반환합니다. ​ 구문 HASHBYTES ( '', { @input | 'input' } ) ::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512 인수 입력 해시에 사용할 해싱 알고리즘을 나타냅니다. 필수 인수이며 기본값은 없습니다. 작은따옴표가 필요합니다. SQL Server 2016(13.x)부터 SHA2_256 및 SHA2_512 .. 2022. 12. 21.
sa 계정 비밀번호 변경 방법 sa 계정 비밀번호 변경 방법 SQL Server 인스턴스를 만들 때 인증 방식을 혼합 모드로 만들어서 sa 계정을 만들어 놓고 그 뒤로 윈도우 인증 방식으로만 접속하다보니 sa 계정 비밀번호를 잊어버리는 사태가 발생한 적이 있었다.. 이 때 sa 계정이 필요했던 이유는 윈도우 인증 방식이 [컴퓨터 이름]\[인스턴스 이름]으로 인증하기 때문에 컴퓨터 이름을 변경하면서 사용할 수 없어졌기 때문이다. 이번 포스팅은 sa 계정 비밀번호를 변경하기 위해 여러 번의 구글링과 몇 번의 오류를 해결한 뒤에 성공했던 여정을 기록한 글이다. 시작! 먼저, 컴퓨터 이름을 다시 기존 이름으로 바꾼 뒤 윈도우 인증 방식으로 SQL Server에 접속한다. [개체 탐색기]에서 서버 이름을 우클릭한 뒤 [속성] > [보안] > .. 2022. 12. 20.
MSSQL 설치형 한글 환경으로 변경 MSSQL 설치형 한글 환경으로 변경 MSSQL의 기본 언어 환경을 영어 -> 한글로 변경합니다. 개요 [필독] 네이버 클라우드 플랫폼에서 MSSQL 설치형 서버를 사용하실 경우, 기본 환경은 영어로 되어 있습니다. 이 가이드에서는 MSSQL의 언어 환경을 한글로 변경하는 방법을 설명합니다. 이 가이드는 크게 2가지이며 다음과 같이 나누어져 있습니다. ① MSSQL의 System Collation을 영어-> 한글로 변경하기 ② SSMS를 영어 -> 한글로 변경하기 단 이 가이드에서 설명하고 있는 작업들은 MSSQL 이 재시작 및 OS 재부팅이 되는 등의 문제가 발생하여 서비스에 영향이 발생합니다. 특히 1번 Collation 변경 작업의 경우 system database를 변경하게 되어 서비스에 영향없는.. 2022. 12. 19.
MS SQL Server 2019 Express 설치 방법 SQL Server 2019 Express 설치 방법 SQL Server 2019 Express를 설치 해보도록 하쟈~! MS SQL server 2019 Express는 완전 무료이다! 그러나....무료는 그만 제약이 있다~! 기능 설명 Number of CPUs ( CPU 수) 퍼포먼스 부분에서 사용가능한 CPU 가 1개입니다. Standard 버전은 4개, Enterprise 버전은 8개, Datacenter 버전은 무제한 입니다. 성능좋은 서버에 설치하면 자원을 다 쓸수가 없겠네요. 최대 메모리 (Maximum Memory) 1GB 라고 나오네요. 좀 짠거같습니다^^ 참고로 Standard는 64GB, Enterprise는 2TB, Datacenter은 무제한 입니다. 최대 데이터베이스 크기 10.. 2022. 12. 16.
MS-SQL 숫자 함수 CELLING, FLOOR, ROUND MS-SQL 숫자 함수 CELLING, FLOOR, ROUND MS-SQL 숫자함수에 대해 알아보겠습니다. ​ CEILING - 소수점 자리를 정수로 절상할 때 사용합니다. select CEILING(19.1) C1, CEILING(19.9) 20 20 FLOOR - 소수점 자리를 정수로 절삭할 때 사용합니다. select FLOOR(19.1) C1, FLOOR(19.9) 19 19 ROUND - 소수점 특정 자릿로 반올림 한다. select ROUND(19.123, 2) C1, ROUND(19.923, 2) C2, ROUND(19.123, 0) C3, ROUND(19.923, 0) C4 C1 C2 C3 C4 19.120 19.920 19.000 20.000 2022. 12. 13.
JOIN에서 중복된 레코드 제거방법 JOIN에서 중복된 레코드 제거방법 1:n 관계의 테이블을 JOIN하면 동일한 결과의 레코드가 n개 출력된다. 중복을 제거하는 방법은 아래와 같이 두 가지 방법이 있다. 최종 SELECT 결과에서 SELECT DISTINCT를 이용하는 방법 장점: 간단한다 단점: 속도가 느리다 JOIN 전에 중복을 미리 제거하는 방법 장점: 속도가 빠르다 단점: 복잡하다 아래와 같은 테이블 두 개를 이용하였다. job 테이블에 중복된 레코드가 없어야 정상이겠지만 예를 위해 중복 레코드를 입력하였다. person 테이블 CREATE TABLE person ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY(id) ); INSERT INTO person (na.. 2022. 12. 9.