본문 바로가기
반응형

IT/MSSQL170

[MSSQL] SQL Server Developer 과거 버전 다운로드(2014,2016,2019) SQL SERVER는 다양한 버전이 존재한다. SQL Server 버전 종류 1. SQL Server Standard 2. SQL Server Enterprise 3. SQL Server Web 4. SQL Server Developer 5. SQL Server Express 이중 개발자 버전인 Developer 버전은 Enterprise와 동일한 기능을 가지고 있다. 상업용이 아니라면 누구나 사용이 가능하다. 최신 버전을 받는 방법은 쉽지만 과거 버전인 SQL Server 2014, 2016, 2019 등을 받기 위해서는 비쥬얼 스튜디오 사이트를 이용하는 것이 좋다. SQL Server 2014 Developer 다운로드 사이트 사이트 이동 후 Microsoft 계정으로 로그인하면 다운로드가 가능하다 .. 2023. 2. 11.
[MSSQL] SQL SERVER 버전 업그레이드(2014 -> 2019) SQL서버의 버전을 업그레이드 해야하는 경우가 있다. 이번시간에는 SQL SERVER 2014 -> SQL SERVER 2019 버전 업그레이드를 진행해보는 시간이다. (버전은 SQL EXPRESS를 사용하였다.) 지원되는 업그레이드 버전 확인. 먼저 SQL 2014 EXPRESS에서 SQL2019 EXPRESS로 업그레이드가 가능한지 확인을 해야한다. 아래의 내용을 보면 2019로 업그레이드가 가능하다고 나온다. SQL Server 2014(12.x) SP2 Express SQL Server 2019 (15.x) Enterprise SQL Server 2019 (15.x) Standard SQL Server 2019(15.x) Web SQL Server 2019(15.x) Express SQL Serv.. 2023. 1. 29.
[MSSQL] SQL SERVER 삭제(완전 깨끗하게) MSSQL 설치 후 삭제를 해야할 경우 프로그램을 완전 깨끗하게 삭제하는 방법에 대해서 알아보자 1.SQL서버의 모든 서비스 중지 윈도우 + R 눌러 실창행을 띄운다음 services.msc 입력 후 아래의 SQL SERVER 관련 서비스를 모두 중지한다. (서비스 목록은 약간 차이가 있을 수 있다) 2.프로그램 삭제 시작 검색창에 "프로그램" 을 입력하여 프로그램 추가/제거를 클릭한다. 앱 목록에 SQL을 입력하면 삭제해야 될 SQL SERVER 들이 보인다. 제거를 클릭해서 삭제를 진행하자.(삭제 중 데이터베이스 엔진 서비스를 클릭하고 제거를 진행 해야함) 3.폴더 삭제 SQL 프로그램을 삭제 하고 난 후에도 빈 쓰레기 폴더들이 남아있다. 아래의 해당 경로를 열어 폴더를 삭제하자. C:\Program.. 2023. 1. 29.
[MSSQL] IDENTITY_INSERT가 OFF로 설정되면 테이블 열에 명시적 값을 삽입할 수 없습니다 테이블에 데이터를 INSERT 시 아래와 같은 오류가 발생하며 데이터 삽입이 불가능한 경우가 있습니다. 테이블 생성시 IDENTITY 옵션으로 테이블 컬럼이 생성된 경우 인데요. IDENTITY_INSERT 구문을 사용하여 데이터를 입력하는 방법에 대해서 알아보겠습니다. IDENTITY_INSERT 란 데이터 입력시 명시적 값을(순번) 테이블의 ID 열에 삽입할 수 있도록 합니다. 테이블 생성시 IDENTITY 옵션으로 지정이 가능합니다. [문법] SET IDENTITY_INSERT [ [ database_name . ] schema_name . ] table_name { ON | OFF } [예제] 다음 예에서는 ID 열이 있는 테이블을 만든 다음 SET IDENTITY_INSERT 설정을 사용하여 D.. 2023. 1. 29.
[MSSQL] UNION ALL 오류 체크(알 수 없는 쿼리 사용) UNION ALL 사용 시 문법을 제대로 사용한 것 같은데 실행 시 오류가 나는 쿼리 문장이 될 수 있다. [오류 메시지] 키워드 'union' 근처의 구문이 잘못되었습니다. [오류 예시] 아래는 잘못된 사용으로 인한 오류의 예시를 보여준다. 여러가지 상황이 있지만 자주 발생하는 오류 몇가지를 확인해 보자. 1. UNION 하려는 각각의 단위 쿼리에서 ORDER BY 를 사용하지 않았는지 확인. 만약 단위 쿼리별로 ORDER BY를 사용하고 있다면 단위 쿼리를 한 번 감싸서 그 안에서 써 주자 2. 디비 변경을 위한 USE [디비명] 사용 후 UNION 다른 디비의 쿼리들을 하나로 묶으려고 하면 오류가 발생한다. USE 문을 제거 하도록 하자. 이상으로 UNION ALL 사용시 발생하는 오류 상황에 대해.. 2023. 1. 29.
DTC(분산트랜잭션) 서비스 테스트(방화벽 포트) 네트워크 주소 변환 방화벽을 포함하여 방화벽을 통해 통신하도록 DTC를 구성할 수 있습니다. DTC는 RPC(원격 프로시저 호출) 동적 포트 할당을 사용합니다. 기본적으로 RPC 동적 포트 할당은 1024 이상의 포트 번호를 임의로 선택합니다. 레지스트리를 수정하여 들어오는 통신에 RPC가 동적으로 할당하는 포트를 제어할 수 있습니다. 그런 다음 들어오는 외부 통신을 해당 포트 및 포트 135(RPC 엔드포인트 매퍼 포트)로만 제한하도록 방화벽을 구성할 수 있습니다. 허용포트 : 135, 1024이상포트 모두 (DTC 동적포트로 설정시) 오류내용 DTC 포트가 막혀 있으면 아래와 같은 오류가 발생한다. 오류 : 개발DB서버에서 분산트랜잭션이 작동하지 않았다. 상황에 따라 다른 에러코드가 반환됐는데, 다음.. 2023. 1. 29.
[MSSQL] 비상 로그 백업 및 복원(MDF 파일 장애 발생-복구 보류 중) MSSQL 디비 서버의 mdf 파일이 갑자기 장애가 발생하였을 경우 데이터를 최대한 보존하기 위해 비상로그백업을 실시하고 복원하는 방법에 대해서 알아보자. 1. 디비생성 및 백업 디비 생성 구문 --디비생성 CREATE DATABASE CrashDB ON PRIMARY ( NAME = N'CrashDB', FILENAME = N'D:\data\CrashDB\CrashDB.mdf' , SIZE = 10MB) LOG ON ( NAME = N'CrashDB_log', FILENAME = N'D:\data\CrashDB\CrashDB_log.ldf' , SIZE = 10MB) GO 데이터 입력 및 백업 --데이터 입력 및 백업 use CrashDB go create table tb1 (col1 varchar(1.. 2023. 1. 29.
[MSSQL] 호환성 레벨 수준 차이점(160, 150, 140, 130, 120, 110, 100, 90) MSSQL은 설치하는 데이터베이스의 버전 별로 기본적인 호환성 레벨 수준, 그리고 지원되는 하위 호환성 레벨 수준의 범위가 존재한다. 예를 들어 SQL2019의 호환성 수준은 150이고, 지원되는 호환성 수준은 150, 140, 130, 120, 110, 100 이다. 이 호환성 수준에 따라서 지원하는 쿼리와 내부 동작 방식이 달라지기 때문에 운영중인 디비의 호환성 레벨을 변경하는 것은 상당한 주의가 필요하다. 데이터베이스 엔진 확인 SELECT SERVERPROPERTY('ProductVersion'); 현재 호환성 수준 SELECT name, compatibility_level FROM sys.databases; 호환성 수준 변경 ALTER DATABASE database_name SET COMPAT.. 2023. 1. 28.
[MSSQL] 2019 신규 함수 Approx_Count_distinct SQL2019 버전이 나오면서 신규로 등장한 함수 "Approx_Count_distinct"에 대해서 알아보자 [문법] Approx_Count_distinct 함수는 COUNT 함수와 같이 수량을 반환합니다. 차이점은 테이블의 대략적인 행 수를 반환하는 차이가 있습니다. SELECT Approx_Count_distinct(컬럼명) FROM 테이블명 [예제] AdventureWorks2016 데이터베이스의 [Person].[Address] 테이블의 AddressID 컬럼으로 행수를 구해보자. use AdventureWorks2016 go select count(AddressID) From [Person].[Address] --19,614 건 GO select Approx_Count_distinct(Addr.. 2023. 1. 28.
[MSSQL] 중첩루프, 머지, 해시조인 3가지 설명 MSSQL에서 지원하는 조인 방식은 아래와 같이 3가지가 존재한다. 1.중첩루프조인(NESTED LOOP JOIN) 2.머지조인(SORT MERGE JOIN) 3.해시조인(HASH JOIN) 중첩루프조인(NESTED LOOP JOIN) - 순차적으로 처리된다. - 작은 입력을 인덱스를 사용하여 조인할 때 가장 효율적 성능을 보인다.(OLTP 환경에 적합) - 정렬이나 해시 테이블 생성과 같은 대기(STOP&GO)를 해야하는 추가적인 선행 작업이 필요 없기 때문에 추가 메모리를 사용하지 않는다. 따라서 메모리 사용량이 가장 적다 - 메모리를 사용하지 않는 점은 많은 동시 사용자를 처리하는 OLTP 환경에서 큰 장점으로 작용한다. 외부참조 테이블 - 통계를 기반으로 데이터가 작은 테이블을 외부테이블로 선택 .. 2023. 1. 28.
반응형