현재 지원되는 SQL Server에 사용 가능한 최신 업데이트

다음 각 링크는 적용 가능한 모든 제품 및 기술에 대한 정보를 제공합니다.

버전 최신 서비스 팩 최신 GDR 최신 누적 업데이트 전체 버전 정보 일반 지침
SQL Server 2019 없음 GDR(15.0.2095.3 - 2022년 6월) 2019용 CU17(15.0.4249.2 - 2022년 8월)
CU16 + GDR(15.0.4236.7 - 2022년 6월)
SQL Server 2019 빌드 SQL Server 2019 설치
SQL Server 2017 없음 GDR(14.0.2042.3 - 2022년 6월) 2017년 CU31(14.0.3456.2 - 2022년 9월)
CU29 + GDR(14.0.3445.2 - 2022년 6월)
SQL Server 2017 빌드 SQL Server 2017 설치
SQL Server 2016 Azure Connect 팩 (13.0.7000.253 - 2022년 5월)
SP3(13.0.6300.2 - 2021년 9월)
SP2(13.0.5026.0 - 2018년 4월)
SP1(13.0.4001.0 - 2016년 11월)
Azure Connect용 GDR(13.0.7016.1 - 2022년 6월)
SP3용 GDR(13.0.6419.1 - 2022년 6월)
SP2용 GDR(13.0.5108.50 - 2022년 6월)
SP1용 GDR(13.0.4259.0 - 2019년 7월)
RTM용 GDR(13.0.1745.2 - 2018년 1월)
SP2용 CU17 + GDR(13.0.5893.48 - 2022년 6월)
2016 SP2용 CU17(13.0.5888.11 – 2021년 3월)
SP1용 CU15 + GDR(13.0.4604.0 - 2019년 7월)
SP1용 CU15(13.0.4574.0 - 2019년 5월)
RTM용 CU9(13.0.2216.0 – 2017년 11월)
SQL Server 2016 빌드 SQL Server 2016 설치
SQL Server 2014 SP3(12.0.6024.0 - 2018년 10월)
SP2(12.0.5000.0 - 2016년 7월)
SP1(12.0.4100.1 - 2015년 5월)
SP3용 GDR(12.0.6169.19 - 2022년 6월)
SP2용 GDR(12.0.5223.6 - 2019년 7월)
SP1용 GDR(2017년 8월)
MS 15-058(2015년 7월)
SP3용 CU4 + GDR(12.0.6439.10 – 2022년 6월)
SP3용 CU4(12.0.6329.1 – 2019년 7월)
SP2용 CU18(12.0.5687.1 - 2019년 7월)
SP1용 CU13(12.0.4522.0 - 2017년 8월)
SQL Server 2014 빌드 SQL Server 2014 설치
SQL Server 2012 SP4(11.0.7001.0 - 2017년 9월)
SP3(11.0.6020.0 - 2015년 11월)
SP2(11.0.5058.0 - 2014년 6월)
SP1(11.0.3000.00 - 2012년 11월)
SP4용 GDR(11.0.7507.2 - 2021년 1월)
SP3용 GDR(2018년 1월)
MS 16-136(2016년 11월)
MS 15-058(2015년 12월)
SP3용 CU10(11.0.6607.3 - 2017년 8월)
SP2용 CU16(11.0.5678.0 - 2017년 1월)
SP1용 CU16(11.0.3487.0 - 2015년 5월)
SQL Server 2012 SQL Server 2012 설치
SQL Server 2008 R2 SP3(10.50.6000.34 - 2014년 9월)
SP2(10.50.4000.0 - 2012년 7월)
SP3용 GDR(2018년 1월)
MS 15-058(2015년 7월)
없음 SQL Server 2008 R2 빌드 SQL Server 2008 R2 SP3 설치
SQL Server 2008 SP4(10.0.6000.29 - 2014년 9월)
SP3(10.00.5500.00 - 2011년 10월)
SP4용 GDR(2018년 1월)
MS 15-058(2015년 7월)
없음 SQL Server 2008 빌드 SQL Server 2008 서비스

MSSQL  패치 버전 선정 기준

2017 이상의 버전은 Service Packs 없이 CU로만 업데이트가 진행됨

CU 패치의 경우 대부분 버그 및 보안 관련 내용이 진행됨

CU 패치 이후 버그가 확인되면 "WithDrawn" 문구가 포함되며 대부분 한달 이내로 수정 버전이 패치됨.

2019 

CU18 버전이 최신, 최신 버전 패치일이 얼마 되지 않기 때문에 CU17을 선정.

링크 : https://sqlserverbuilds.blogspot.com/#sql2019x

CU 17 다운로드

Recommended를 선택 시, 가장 최신 버전(현 시점 CU18)이 선택되기 때문에 두번째 메뉴를 클릭

CU 17 다운로드 링크 : https://support.microsoft.com/en-us/topic/kb5016394-cumulative-update-17-for-sql-server-2019-3033f654-b09d-41aa-8e49-e9d0c353c5f7#obtain

 

2016

Service Pack 3를 패치 하거나, Service Pack 2 및 CU 17 버전을 패치

CU 17 버전의 경우 확인 시점 기준 약 1년간 이슈 없이 서비스됨.

링크 : https://sqlserverbuilds.blogspot.com/#sql2016x

CU 17 다운로드

Recommended를 선택 시, 가장 최신 버전(현 시점 CU18)이 선택되기 때문에 두번째 메뉴를 클릭

CU 17 다운로드 링크 : https://support.microsoft.com/en-us/topic/kb5001092-cumulative-update-17-for-sql-server-2016-sp2-5876a4d6-59ac-484a-93dc-4be456cd87d1

RUNAS

Run as different user' 클릭 이후 계정 정보를 입력

CMD Line

runas.exe /netonly /user:myidomain\domain.useracc "Ssms.exe"

확인

 

참고

https://jasonbrimhall.info/2018/06/28/use-ssms-with-a-different-windows-account-back-to-basics/

MSSQL AlwaysOn 환경에서는 Job Agent에 등록시, Active에서만 Job Schedule이 실행되어야 한다.

dmv 정보를 활용하여 Active 환경을 체크 후 Job을 실행 하도록 설정 필요

 

설정

DECLARE @ROLE NVARCHAR(100)

IF SERVERPROPERTY ('IsHadrEnabled') = 1
BEGIN
    SELECT @ROLE=ARS.role_desc  -- Replica Role
    FROM sys.dm_hadr_availability_replica_cluster_states AS RCS
    INNER JOIN sys.dm_hadr_availability_replica_states AS ARS
    ON ARS.replica_id = RCS.replica_id
    WHERE RCS.replica_server_name = HOST_NAME()
END

IF @ROLE IS NULL OR @ROLE = 'PRIMARY'
BEGIN

    -- Job 실행 구문 추가

END

 

예외 사항

Secondary 환경에서 Job을 등록하였을때 아래와 같이 실행이 되지 않는 경우가  발생

아래는 Job Schedule의 로그 화면

Secondary 환경에서 동기화 중인 DB 선택 시, 아래와 같은 에러 발생

해결

Active 장비의 AlwaysON 속성에 들어가서 '읽을 수 있는 보조(E)' 항목을 '예'로 변경

서버가 잠겨 있거나 비정상적인 상태로 SQL Server에 연결이 되지 않는 경우

 

DAC 접근을 위한 설정

remote admin connection 옵션을 활성화

SSMS -> DB 인스턴스 우클릭 -> 패싯(A) 클릭

패싯 속성(P) -> 'RemoteDacEnabled' Ture 설정

스크립트 적용

SP_CONFIGURE 'remote admin connections', 1
GO
 
RECONFIGURE
GO

DAC 접근 방법

cmd창에서 sqlcmd 명령어로 접속

cmd> sqlcmd -S localhost -U sa -P [패스워드] -A

sqlcmd 설명 : https://docs.microsoft.com/ko-kr/previous-versions/sql/sql-server-2008-r2/ms162773(v=sql.105)?redirectedfrom=MSDN 

 

참고
https://sungwookkang.com/368

현상

Windows Cluster 서비스 시작이 되지 않을때

에러 로그

The Cluster service cannot be started. An attempt to read configuration data from the Windows registry failed with error '2'. Please use the Failover Cluster Management snap-in to ensure that this machine is a member of a cluster. If you intend to add this machine to an existing cluster use the Add Node Wizard. Alternatively, if this machine has been configured as a member of a cluster, it will be necessary to restore the missing configuration data that is necessary for the Cluster Service to identify that it is a member of a cluster. Perform a System State Restore of this machine in order to restore the configuration data.

 Cluster Service 시작시 에러

해결

administration 권한으로 Cmd 오픈 후, 아래 명령어 실행하여 클러스터 초기화 진행

Cluster Node ServerName /ForceCleanup

아래 명령어로 클러스터 추가

Start-DatabaseAvailabilityGroup DAG1 -MailboxServer SiteA-Mbx1

해소되지 않는 경우 클러스터 신규 구성을 추천..

 

참고

http://www.lab365.in/2017/03/the-cluster-service-cannot-be-started.html

현상

동일한 OS 버전 / 동일한 MSSQL 버전 / 동일한 구조 / 동일한 요청량 

동일한 조건이지만 트랜잭션 로그 및 로그 백업 파일의 사이즈가 약 8배 차이가 나는 경우

원인

Physical Disk Sector 크기의 차이

기존에는 Physical Disk Sector 사이즈를 512 Byte를 사용하였지만, 최근 H/W 스펙이 올라가며 4096 Byte를 디폴트로 설정되어 구성되는 경우가 있음.

 

확인

명령프롬포트(CMD)를 관리자모드로 실행하여 아래 명령어 실행

fsutil fsinfo ntfsinfo yourLogDrive:
fsutil fsinfo sectorinfo yourLogDrive:

------------- 실행 예

C:\WINDOWS\system32>fsutil fsinfo ntfsinfo D:
NTFS 볼륨 일련 번호 :        0x???????????????
NTFS 버전      :                3.1
LFS 버전       :                2.0
총 섹터     :                1,953,519,615  (931.5 GB)
총 클러스터    :                  244,189,951  (931.5 GB)
사용 가능한 클러스터     :                  217,448,760  (829.5 GB)
예약된 총 클러스터 :                  5,087  ( 19.9 MB)
저장소 예약을 위해 예약됨 :                 0  (  0.0 KB)
섹터당 바이트  :                512
실제 섹터당 바이트 :        4096
클러스터당 바이트 :                4096


C:\WINDOWS\system32>fsutil fsinfo sectorinfo D:
LogicalBytesPerSector:                                 512
PhysicalBytesPerSectorForAtomicity:                    4096
PhysicalBytesPerSectorForPerformance:                  4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity: 4096
장치 맞춤:                                      정렬됨(0x000)
장치 파티션 맞춤:                         정렬됨(0x000)
일반 검색 수행
자르기 지원 안 됨
DAX 지원 안 함
씬 프로비저닝되지 않음

C:\WINDOWS\system32>

 

PhysicalBytesPerSector Transaction Log I/O간의 관계

SQL Server transaction log 파일은 physical sector-aligned boundary  생성되며, sector-aligned sizes  sector-aligned boundaries  데이터가 쓰여집니다.
, PhysicalBytesPerSector 크기에 따라 IO 단위가 달라지며,  값이 512 bytes  경우 트랜잭션 로그는 512 Bytes – 60KB 단위로 저장  있습니다.
또한 PhysicalBytesPerSector 크기가 4KB 경우 4 KB – 60KB 단위로 저장  있습니다.

에러 내용

데이터베이스 보안 주체는 데이터베이스의 스키마을(를) 소유하며 삭제할 수 없습니다

(Microsoft SQL Server, 오류: 15138)

 

Msg 15110, Level 16, State 1, Line 14

The proposed new database owner is already a user or aliased in the database.

 

원인

변경하려는 계정이 이미 DB에 할당되어 있기 때문에

해소

DB의 기존 소유자를 삭제하는것이 아니라,

DB에 소유자을 변경하려는 계정을 삭제 후 실행

만약 스키마 정보에 삭제하려는 계정이 매칭되어 있다면, 변경 후 진행

USE TestDB;
DROP USER Test_srv;
--15138 오류가 난다면

select * from sys.schemas where principal_id = user_id('Test_srv');
-- 삭제하려는 아이디로 매핑된 스키마가 있는지 확인

ALTER AUTHORIZATION ON Schema::db_owner TO dbo;
-- db_owner의 소유자 정보를 dbo로 변경

-- add it back in AND change the dbowner
ALTER AUTHORIZATION ON DATABASE::TestDB TO Test_srv;    
-- DB 소유권 변경

참고

https://tori0712.tistory.com/5

http://www.sqlfingers.com/2017/07/sql-server-failure-to-change-database.html

 

정보

Core별 MSSQL 'max worker threads' Default 값 설정

Core 기준 : 논리 코어

 

'max worker threads' 설정 값 확인

  • SELECT max_workers_count FROM sys.dm_os_sys_info
  • sp_configure 'max worker threads'

기준

예시

CPU : 물리 코어 24 ( 논리 코어 48 )

512 + (( 48 - 4 ) * 16 ) = 1,216

 

 참고 : https://blog.sqlauthority.com/2018/06/15/sql-server-optimal-value-max-worker-threads/

Windows Server 환경에서 클러스터 구성시, 클러스터에 포함할 서버가 추가되지 않는 경우가 발생

 

1. host3.kook.com 노드 추가 > 오류 메시지 발생

2. 추가할 host3의 서비스를 확인 > Remote Registry > 시작

3. Server 서비스 > 시작

4. host3번을 다시 추가

참고

https://jkmoon.tistory.com/entry/%EC%9B%90%EA%B2%A9-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC%EC%97%90-%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%98%EC%A7%80-%EB%AA%BB%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4

 

원격 레지스트리에 액세스하지 못했습니다.

Windows Server 2012 환경에서 클러스터 만들기 마법사를 통해, 클러스터 구성시, 추가 호스트 를 추가할 때 아래와 같은 오류가 발생 하였습니다. 간단히 해당 오류에 대한 조치 방법을 정리 하도록

jkmoon.tistory.com

 


to Top