728x90
반응형

mssql 47

MS SQL Server 설치하기 (SQL Server 2019, SSMS)

Microsoft SQL Server 및 SSMS(SQL Server Management Studio) 설치에 대해 알아보겠습니다. :::: SQL 관련 다른 글 보러가기 ::: 2020.12.15 - [IT Knowledge/Server] - MS SQL 데이터베이스 백업/관리 2021.01.04 - [IT Trouble Shooting] - MS SQL Server SSMS 연결오류, 물음표 아이콘 2020.12.18 - [IT Trouble Shooting] - MS SQL Database, SQLNCLI11 분산 트랜잭션 오류 2020.11.30 - [IT Knowledge/Server] - SQL Alwayson 가용성 그룹 구성 (데이터베이스 이중화, 데이터베이스 복제/백업) MS SQL Se..

IT/SQLD 2024.01.21

[mssql] SQL Server 버전별 비교

ms sql server는 최근 약 2~3년에 한번씩 새로운 버전이 출시되고 있습니다. 현재 2022년이므로 주기상으로 봤을 때 SQL server 2022 또는 2023 이 다시 출시되지 않을까 합니다 아래 표는 2016 이후부터 2019 버전까지 주요 기능의 명세를 나타냅니다. ms SQL server는 버전이 업그레이드 될 수록 데이터 관리와 분석 도구들이 추가됨과 동시에 최근의 트렌드에 발맞추어 인터넷, 모바일 장치 및 클라우드 통합을 포함한 새로운 기술들이 집약되어 있습니다. 새롭게 sql server 프로젝트를 구축할 계획이라면 가장 최근 출시된 sql server 2019를 사용하는 것이 아무래도 더 좋겠지요. ​ 다른 관계형 데이터베이스 제품들과 마찬가지로 sql server도 다양한 라이..

IT/SQLD 2024.01.21

MS-SQL Express 제약사항 정리, 무료버전 차이점

마이크로소프트에사의 데이터베이스인 MS-SQL 입니다. MS-SQL 2014까지는 사용해봤는데, 그 이후 버전이 나온지도 저도 정확히는 모르겠네요. 테스트 및 개인적인 용도로 사용가능한 MS-SQL Express 무료버전 마이크로소프트에서 다운로드 받아 사용할 수 있습니다. MS-SQL 무료버전이 Express 제약사항이 참 많은것 같은데. 일단 제가 알고 파악된 부분만 정리를 해보았습니다. 혹시 알고계신 부분이 있다면 참조할수 있도록 알려주세요~ ^^ 제약사항 정리는 MS-SQL 2008 R2 버전을 기준으로 작성하였습니다. 아마, 상위버전도 특별히 다를건 없다고 생각되네요. 기능 설명 Number of CPUs ( CPU 수) 퍼포먼스 부분에서 사용가능한 CPU 가 1개입니다. Standard 버전은..

IT/SQLD 2024.01.21

MySQL character set 확인 및 변경

언제나 한글 깨짐 문제로 인한 캐릭터 셋 확인 및 변경 작업이 많다. 일단 DB에 저장된 한글이 클라이언트에서 안 보이는 경우는 클라이언트의 인코딩 값을 변경해서 조치를 할 수 있다. 그러나 저장 당시의 인코딩 값이 서로 다른 한글이 들어가 있을 경우는 어떤 한글은 정상적으로 보이지만, 어떤 한글은 깨져서 보이는 경우가 발생하게 된다. MySQL은 기본으로 서버 캐릭터 셋이 latin1으로 설정 되어 있어서 DB 생성 시 캐릭터 셋 값을 지정해주지 않으면 latin1으로 생성이 된다. Character set ? 사용하는 언어를 표현하기 위한 문자들의 집합을 의미. 한글을 표현하기 위하여 사용하는 캐릭터 셋에는 여러가지가 존재 한다. Encoding ? Character Set을 컴퓨터가 이해할 수 있는..

IT/SQLD 2023.10.26

[SQL] MSSQL 트랜잭션 로그파일 비우는 방법

* 운영 및 유지보수 하다 보면 트랜잭션 로그파일이 꽉 차서 오류가 발생하게 된다. (MSSQL) 오류가 발생하면 사용량을 확인해서 로그를 축소해주는 작업이 필요하다. org.springframework.jdbc.UncategorizedSQLException: ### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 데이터베이스 'KINGPORK'의 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다. ### The error occurred while setting parameters ### SQL: INSERT INTO KINGPORK (KING, PORK, DATE) VALUES(?,?,GET..

IT/SQLD 2023.10.23

[MSSQL] 트랜잭션(Transaction)

이번에 설명한 내용을 MSSQL의 Transaction입니다. 설명에 앞서 우리가 사용하는 MSSQL 데이터베이스에 대해서 생각해 본다면 SQL 서버에 그림과 같이 데이터 베이스가 생성되어 있고 사용자가 데이터베이스에 조회 요청을 하면 일반적으로 사용자는 아래의 그림과 같이 결과를 전달 받는다고 생각합니다. 논리적 데이터 베이스 구조 이것은 우리가 논리적으로 생각하는 데이터 베이스의 모습입니다. 하지만 데이터라면 어딘가에 저장되어 있어야 합니다. 물리적인 데이터 베이스는 어떻게 구성되어 있을까요? 버전별로 다르겟지만 "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA" 위치로 이동하게 되면 mdf, ldf 파일이 존재하는 것을 확인..

IT/SQLD 2023.10.23

MSSQL 대량 데이터 삭제 요령

아래글은 SQL Server 대량 데이터 삭제 · GitHub 에서 갖고왔습니다. 이글은 MS SQL Server에서 수백만건의 데이터 행을 삭제할때 성능감소를 낮게 유지하기 위함을 위한 가이드이다. 전제조건은 다음과 같다. 특정테이블 ‘ExampleTable’ 에 있는 수백만건이 있다. TRUNCATE 문을 권한불충분이나 다른 문제로 수행할 수 없는 조건이다. 이때 당신이 단일 트랜잭션에서 테이블에 있는 모든 행을 제거하려만 다음과 같이 해야 한다. DELETE FROM ExampleTable 위 구문을 수행하는 순간 SQL서버는 트랜잭션을 처리하기 위하여 트랜잭션 로그에 모든 변경 사항을 작성하고, 완전한 테이블 잠금을 수행할 것이다. 위 설명은 잠재적으로 큰 문제를 몇가지 가지고 있다. 트랜잭션 로..

IT/SQLD 2023.10.23

[MS-SQL] IN / NOT IN

IN / NOT IN IN : 지정된 값이 하위 쿼리 또는 목록의 모든 값과 일치하는지를 확인합니다. NOT IN : 지정된 값이 하위 쿼리 또는 목록의 모든 값과 일치하지 않는지를 확인합니다. 쿼리문 SELECT * FROM A_TABLE WHERE COL1 IN ('VALUE1', 'VALUE2'); -- COL1이 'VALUE1', 'VALUE2'와 일치하는 값을 출력 SELECT * FROM A_TABLE WHERE COL1 NOT IN ('VALUE1', 'VALUE2'); -- COL1이 'VALUE1', 'VALUE2'와 일치하지 않는 값을 출력 출처 : [MS-SQL] IN / NOT IN (tistory.com)

IT/SQLD 2023.10.22

[SQL] (NOT)EXISTS 와 (NOT)IN 비교하기

최근 작업하고 있는 모듈에서 A 테이블과 B 테이블을 비교하여 B 테이블에 없는 값을 A 테이블에서 가져오는 작업을 진행하고 있다. 처음에는 NOT IN 구문을 사용하여 비교하고 가져오고 있었는데, NOT EXISTS 를 사용하면 더 효과적이라는 말을 듣고, 궁금증에 여기저기 검색해보았다. 결론적으로 말하자면 조회 건수가 많지 않은 쿼리에서는 성능이 비슷하지만, 조회 건수가 급격하게 늘어나면 (NOT)EXISTS 구문이 훨씬 효과적이라는 것이다. 초기 데이터 테이블은 rel1 , rel2 테이블을 생성하였다. rel1 rel2 1. (NOT) IN SELECT * FROM rel1 WHERE number IN (SELECT number FROM rel2); SELECT * FROM rel1 WHERE n..

IT/SQLD 2023.10.22

MSSQL DELETE 데이터 삭제하기

MSSQL의 데이터 삭제 기능인 DELETE문에 대한 사용법과 부가적인 팁에 대한 글입니다. DELETE란? 데이터베이스 테이블 내 데이터를 삭제하는 명령어입니다. 가장 기본적인 문법 중 하나입니다. 삭제이기 때문에 신중히 사용해야 합니다. DELETE문 사용법 기본 사용법 --//문법 DELETE 삭제대상 테이블 (WHERE 대상행 조건) --//예제 DELETE TARGET_TABLE --// TARGET_TABLE 모든 데이터 삭제 DELETE TARGET_TALBE WHERE IDX = 10 --// TARGET_TABLE에서 IDX = 10인 ROW 삭제 모든 데이터를 삭제하는 경우는 거의 없기 때문에 DELETE문 역시 WHERE 절을 지원합니다. WHERE절에 조건을 입력해 지우려는 행을 특..

IT/SQLD 2023.10.22
728x90
반응형