소개
이 문서에서는 Microsoft SQL Server 2012 SP2(서비스 팩 2)에서 해결된 버그를 나열합니다.
노트
- 여기에 설명되어 있지 않은 추가 수정 사항도 서비스 팩에 포함될 수 있습니다.
- 이 목록은 더 많은 문서가 공개되면 업데이트됩니다.
SQL Server 2012 서비스 팩을 구하는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하세요.
2755533 SQL Server 2012용 최신 서비스 팩을 구하는 방법 참고 사용 가능한 다운로드 목록에서 선택해야 하는 다운로드에 대한 자세한 내용은 여기에서 릴리스 정보를 검사하세요.
추가 정보
SQL Server 2012 서비스 팩은 누적 업데이트이며 SQL Server 2012의 모든 버전 및 서비스 수준을 SP2로 업그레이드합니다. 이 서비스 팩에는 이 문서에 나열된 수정 사항 외에도 최대 Microsoft SQL Server 2012 SP1 CU9(누적 업데이트 9)가 포함되어 있습니다.
SQL Server 2012 SP1에 사용할 수 있는 누적 업데이트 패키지에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하세요.
2772858 SQL Server 2012 서비스 팩 1가 출시된 후 출시된 SQL Server 2012 빌드
이 서비스 팩에서 해결된 문제
SQL Server 2012 SP2에서 해결된 버그에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하세요.
| VSTS 버그 번호 | 기술 자료 문서 번호 | 설명 |
|---|---|---|
| 1374617 | 2028830 | 해결 방법: SQL Server 2008 또는 SQL Server 2012 장애 조치(failover) 클러스터 설치를 구현할 때 공유 구성 요소가 잘못된 위치에 설치됨 |
| 1703014 | 2963382 | 해결 방법: SSAS 2012에서 큐브 만들기 MDX 쿼리를 실행할 때 서버에 연결할 수 없음 |
| 2011247 | 2927741 | FIX: SSRS 2012 보고서에서 드릴스루 작업을 사용할 때 이미지가 웹 페이지에 올바르게 표시되지 않음 |
| 2034994 | 2963383 | FIX: HPB 렌더러를 사용하여 SSRS 2012에서 보고서를 볼 때 텍스트가 잘림 |
| 1769469 | 2963384 | 해결 방법: SQL Server 2012에서 tempdb 데이터베이스의 로그 파일이 가득 차면 SQL Server가 충돌함 |
| 1973168 | 2963386 | 해결 방법: Excel 워크시트로 내보낸 구독이 10MB보다 큰 경우 SSRS 2012가 IsolatedStorageException으로 실패함 |
| 1973196 | 2963388 | 해결 방법: SSRS 2012에서 10MB보다 큰 보고서를 Excel 형식으로 내보낼 수 없습니다. |
| 787358 | 2963404 | FIX: 롤백으로 인해 SQL Server 2012에서 데이터베이스가 주의 모드로 전환됨 |
| 1043717 | 2806979 | FIX: SQL Server 2012에서 RCSI 사용 데이터베이스의 테이블에 대해 쿼리를 실행할 때 성능 저하 |
| 1178585 | 2963412 | SQL Server 2012 SP2의 새로운 DMF sys.dm_fts_index_keywords_position_by_document |
| 1182241 | 2966520 | FIX: 1월 1일에 SSRS 2012에서 Reporting Services Windows 서비스를 다시 시작할 때 새 로그 파일이 만들어지지 않음 |
| 1240848 | 2966519 | 해결 방법: SQL Server 2012에서 로그 백업이 실패할 때 오류 메시지가 표시되지 않음 |
| 1253861 | 2936004 | FIX: 로컬 모드에서 Report Viewer 2012 UI의 데이터 원본 바인딩이 완료되면 액세스 위반으로 인해 Visual Studio 2012가 충돌함 |
| 1262029 | 2966522 | FIX: 파일 공유 구독이 SSRS 2012의 설명 열을 채우지 않음 |
| 1481773 | 2966523 | 해결 방법: SSRS 2012 보고서를 지정할 때 "이름" 드롭다운 목록이 비어 있음 |
| 1419367 | 2964762 | FIX: SSAS 2012에서 검색 명령을 사용할 때 이벤트 ID 22 또는 오류 0xC1000016가 기록됨 |
| 2103903 | 2972285 | FIX: SQL Server 2012에서 SSISDB를 배포 저장소로 사용할 때 성능 문제 발생 |
| 2021581 | 2965035 | SQL Server 2012 서비스 팩 2의 SSAS 2012 로깅 기능 개선 |
| 203749 | 2952444 | 해결 방법: SQL Server 2012에서 테이블 변수를 사용할 때 성능이 저하됨 |
| 2095064 | 2936328 | 해결 방법: SQL Server 2008 R2 또는 SQL Server 2012에서 계산된 열을 유지하는 테이블에 대해 CHECKTABLE 또는 CHECKDB를 실행하면 액세스 위반이 발생함 |
| 1222472 | 2827857 | 해결 방법: DTA가 보조 문자 데이터 정렬을 사용하는 SQL Server 2012 instance에서 작동하지 않음 |
| 2124209 | 2939277 | FIX: SQL Server에서 병렬 쿼리 계획을 사용하여 UNION 연산자를 포함하는 쿼리를 실행할 때 잘못된 결과가 나타남 |
다음 문제에 대한 해결 방법은 SQL Server 2012 SP2에도 포함되어 있습니다.
| VSTS 버그 번호 | 설명 |
|---|---|
| 950185 | 대규모 HTML 보고서로 작업할 때 오류 및 경고 처리에 대한 메시지가 개선되었습니다. |
| 950189 | 많은 매개 변수가 있는 보고서로 작업할 때 오류 및 경고 처리에 대한 메시지가 개선되었습니다. |
| 994470 | 블록 모드 단항 연산자를 사용하면 결과가 잘못되었습니다. |
| 1041277 | AlwaysOn 보조가 있는 서버에서 DPM의 전체 백업은 copy_only 백업으로 변환됩니다. |
| 1278767 | 테이블 형식 instance perfmon 카운터: Memory\VertiPaq <TypeName> KB의 값은 항상 0입니다. |
| 1355346 | end SCOPE 문이 여는 SCOPE 문과 일치하지 않습니다. |
| 1374617 | 해결 방법: SQL Server 2008 장애 조치(Failover) 클러스터 설치를 구현할 때 공유 구성 요소가 잘못된 위치에 설치됨 |
| 1610447 | 초기화되지 않은 개체는 조건부 계산을 사용하여 DAX 식을 실행할 때 충돌이 발생하고 결과가 잘못될 수 있습니다. |
| 1610492 | PowerPivot v2 11.0.3000.0을 사용하면 간단한 DAX 쿼리가 예기치 않은 결과를 반환합니다. |
| 2060218 | 잘못된 InstanceId를 사용하여 SSRS 구성 파일을 구문 분석하는 경우 "ACTIONABLE_HEAP_CORRUPTION"입니다. |
| 2065570 | 링 버퍼RING_BUFFER_NONYIELD_PROCESSTABLE NonYieldProcessTable 레코드에 사용자 및 커널 프로세스 시간이 없습니다. |
| 2075161 | SSRS 2012의 로그에서 플랫폼 정보를 제공합니다. |
| 1347204 | FIX: SQL Server 2012에서 데이터베이스 간 트랜잭션에서 시퀀스 기본값이 있는 열이 있는 테이블에 데이터를 삽입할 때 액세스 위반이 발생함 |
| 1184332 | 모델 데이터베이스에 대해 비상 로그 백업을 수행하면 서버 다시 시작 중에 모델 데이터베이스가 복원 상태로 정지되어 SQL Server가 성공적으로 시작되지 않습니다. 이는 서버를 시작하는 동안 tempdb 데이터베이스를 만들 수 없으며 "데이터베이스 '<DatabaseName>'을 열 수 없습니다."라는 오류 메시지가 나타나기 때문입니다. |
| 1243853 | 오류 3456은 초기 크기가 64704KB보다 큰 새 데이터 파일이 추가된 대량 로그 DB의 로그 백업을 복원할 때 발생합니다. |
| 1404999 | 데이터 삭제 스냅샷가 LOCK_TIMEOUT 설정된 세션에서 실행되면 시간 제한 오류가 발생한 후 어설션 오류가 발생할 수 있습니다. |
| 1190211 | InstallShield를 사용하여 SQL Server를 설치하면 중단 상태가 됩니다. 자세한 내용은 이기술 자료 문서를 참조하세요. |
| 1386073 | SQL Server 2012 SP2를 설치한 후 구성 관리자 또는 서비스 제어 관리자에서 SQL Server를 중지하면 종료가 실행된 직후 정보 메시지가 SQL Server에 기록됩니다. 이전 버전에서는 .NET Framework, 서비스 브로커와 같은 내부 서비스가 중지된 후에 이 메시지를 발행했습니다. |
커뮤니티에서 제출한 연결 항목에 대한 수정 사항
| 버그 ID 연결 | 설명 |
|---|---|
| 714689 | 여러 서버에 대해 Enterprise Management Framework를 구현하고 목록에 있는 서버 중 하나에 오류가 발생할 때 평가 결과가 출력 xml 파일에 여러 번 기록됩니다. |
| 735543 | 백업이 동일한 instance에서 다른 데이터베이스로 복원되면 데이터베이스가 복원 모드로 전환됩니다. |
| 736509 | SSMS(SQL Server Management Studio sp_executesql)를 호출하는 저장 프로시저는 디버깅할 수 없습니다. F11을 누르면 'Object reference not set to an instance of object' 오류 메시지가 나타납니다. |
| 740181 | SSMS는 SQL Server Express의 Full-Text 완전히 관리하지는 않습니다. |
| 745566 | SQL Server SMO는 SQL Server 2012 및 SQL Server 2014에서 기본 제약 조건을 무시합니다. |
| 764197 | SSMS는 번호가 매겨진 저장 프로시저를 일관되지 않게 처리합니다. |
| 769121 | "'열 이름<>' 열은 테이블 요약에 속하지 않습니다. 테이블의 이름은 같지만 다른 스키마에 있는 것을 복제할 때 (System.Data)" 오류 메시지가 표시됩니다. |
| 773710 | 전체 텍스트 인덱스가 포함된 데이터베이스 스냅샷로 되돌린 후에는 SQL Server를 다시 시작하거나, 데이터베이스를 분리한 다음 연결하거나, 데이터베이스를 오프라인으로 전환한 다음 데이터베이스를 온라인으로 설정할 때까지 ft_catalogs 만들 수 없습니다. |
| 774317 | SSMS가 닫힐 때 가끔 충돌한 후 자동으로 다시 시작됩니다 |
| 785064 | BIDS(Business Intelligence Development Studio)에서 고객 파이프라인 구성 요소로 작업할 때 "'null 값'은 '스트림'에 유효하지 않습니다." 오류 메시지가 표시됩니다. |
| 785151 | 실제 쿼리 계획 표시가 켜져 있는 상태에서 쿼리를 실행하면 Null 결과가 반환되고 다음과 같은 오류 메시지가 나타납니다. 오류: 메시지 50000, 수준 16, 상태 10, 프로시저 테스트, 줄 34 문자열 또는 이진 데이터가 잘립니다. |
| 791929 | 트리거가 있는 분할된 보기에 데이터를 삽입하면 "시스템 어설션 검사에 실패했습니다." 오류 메시지가 표시됩니다. |
| 797967 | 스크립트 만들기는 SSMS에서 열 수준 권한을 스크립팅할 때 문을 복제합니다. |
| 799430 | 작업 표시줄에서 SSMS 창 아이콘을 새로 고치려고 하면 SSMS가 충돌할 수 있습니다. |
| 804901 | 대규모 프로젝트의 새 버전을 배포하면 SSIS 카탈로그 데이터베이스(SSISDB)로 배포하는 동안 시간 제한이 발생합니다. 또한 다음과 같은 오류 메시지가 나타납니다. 프로젝트를 배포하지 못했습니다. 자세한 내용은 operation_messages 보기에서 작업 식별자 '219'를 쿼리하세요. (Microsoft SQL Server, 오류: 27203) 프로젝트를 배포하지 못했습니다. 문제를 해결하고 나중에 다시 시도하세요.:Timeout expired. 작업이 완료되기 전에 경과했거나 서버가 응답하지 않는 시간 제한 기간입니다. 명령문이 종료되었습니다. |
| 805659 | "SQL 문의 일부가 너무 깊게 중첩되었습니다. 쿼리를 다시 작성하거나 더 작은 쿼리로 분할하십시오." 오류 메시지가 구문 분석하거나 실행될 때 표시됩니다. |
SQL Server 2012 SP2의 주요 사항
다음은 SQL Server 2012 서비스 팩 2(SP2)의 일부 변경 사항의 주요 내용입니다.
AlwaysOn
지원 가능성:
- 메시지 35285가 오류가 아닌 정보 메시지로 표시됩니다.
기능:
- SQL 기록기 지원 COPY_ONLY 백업: AlwaysOn 보조가 있는 서버의 DPM(Data Protection Manager) 전체 백업은 COPY_ONLY 백업으로 변환됩니다.
Analysis Services(일명 SSAS)
로컬 큐브 만들기 시나리오에 지원 추가:
- SSAS 2012(SQL Server 2012 Analysis Services) SP2를 사용하는 경우 SQL 브라우저가 꺼져 있는 기본이 아닌 정적 포트에서 실행되는 SSAS에 연결하는 로컬 큐브를 만들 수 있습니다. 이 새로운 기능은 msmdsrv.ini의 새 구성 설정인 "ConfigurationSettings\LocalCubeServerPortInConnectionString"에 의해 제어됩니다. 이 기능을 사용하도록 설정하려면 값을 1로 설정합니다. SSAS 2012가 장애 조치(failover) 클러스터로 구성되어 있거나 기본 포트에서 실행 중인 경우에는 이 설정이 적용되지 않습니다.
더 많은 로깅 추가:
- 이 서비스 팩은 문제 해결을 개선하기 위해 SSAS 로그 파일에 더 많은 정보를 추가합니다. 여기에는 SSAS 버전, 컴퓨터 이름, netbios 이름, CPU 수, RAM 크기, IP, 포트, 프로토콜 유형, 교착 상태, 잠금 시간 제한 및 기타 정보가 포함됩니다.
통합 서비스(일명 SSIS)
SSISDB 교착 상태 및 정리 성능 향상
소개
SSISDB.catalog.create_execution 저장 프로시저에 대한 동시 호출 시 SSISDB 데이터베이스의 교착 상태
- SSISDB 동시 및 교착 상태 문제에 대한 수정이 완료되었습니다. 그러나 이것으로 모든 문제가 resolve는 아닙니다. 현재 해결 방법은 작업을 몇 초 정도 분산시키는 것입니다. 그러나 이 해결 방법을 사용하지 않을 수 있습니다.
- SSISDB 유지 관리 작업의 성능 저하
SSISDB 유지 관리 작업에 대한 핫픽스를 사용할 수 있습니다.
아키텍처
이전 모델:
- 각 트랜잭션에서 인증서와 대칭 키를 생성하며, 유지 보수 또는 정리 작업에서도 저장 및 처리되어야 합니다.
새로운 모델:
- 카탈로그 속성 테이블 SERVER_OPERATION_ENCRYPTION_LEVEL에 새 행을 도입하고 기본값을 PER_EXECUTION 이전 버전과의 호환성을 유지하기 위해 각 프로젝트에 대해 하나의 키 또는 인증서 쌍을 만들 PER_PROJECT 값을 변경할 수 있습니다. PER_EXECUTION에서 PER_PROJECT로 변경하기 전에 전체 정리가 필요합니다. 전체 정리를 위해 두 가지 새로운 스토어 절차가 도입되었습니다.
변경 요약:
SSISDB 속성 테이블 SERVER_OPERATION_ENCRYPTION_LEVEL에 새 행 도입:
- 두 개의 값(1 및 2)만 유효합니다.
- 값 "1": 기본값입니다. 실행 수준에 따라 대칭 키 및 인증서로 암호화됩니다. 보안은 높지만 성능 또는 교착 상태 문제가 있을 수 있습니다.
- 값 "2": 프로젝트 수준에 따라 대칭 키 및 인증서로 암호화됩니다. 보안 수준 저하, 성능 또는 교착 상태 문제를 resolve.
두 가지 새로운 SP(저장 프로시저) Cleanup_server_logs 및 cleanup_server_execution_keys 도입
SP는 암호화 수준을 "1"에서 "2"로 변경할 때 사용하도록 설계되었습니다. SSISDB를 양호한 상태로 만들기 위해 매우 신속하게 완료할 수 있는 Cleanup_server_logs 먼저 실행할 수 있습니다. SSISDB 데이터베이스를 암호화 수준으로 변경할 준비가 되었습니다.
Cleanup_server_keys는 Cleanup_server_logs보다 시간이 오래 걸립니다. 그러나 암호화 수준이 "2"로 변경된 후 실행되며 사용량이 적은 시간에 주기적으로 실행됩니다.
Cleanup_server_logs: 모든 작업 로그만 클린합니다.
Cleanup_server_execution_keys: 중요한 실행 매개 변수를 보호하는 데 사용되는 대칭 키 및 인증서를 클린합니다.
@cleanup\_flag int (in (1,2))
- cleanup_flag = 1: 실행 수준 삭제 대칭 키 및 인증서
- cleanup_flag = 2: 프로젝트 수준 대칭 키 및 인증서를 삭제합니다(이 특정 프로젝트가 삭제되고 이 프로젝트와 관련된 모든 작업 로그가 정리된 경우에만 삭제).
@delete\_batch\_size int = 1000
- 이 저장소 프로시저를 한 번 호출하면 삭제되는 키 또는 인증서의 수가 삭제됩니다.
internal.cleanup_server_retention_window에서 delete_batch_size를 10에서 1000으로 변경합니다.
관계형 엔진
쿼리 계획 개선을 위한 테이블 변수 행 개수에 대한 선택적 지원:
테이블 변수가 SQL Server의 다른 테이블과 조인된 경우 SQL Server가 쿼리 계획을 컴파일하는 동안 테이블 변수의 행 수를 지원하거나 통계를 지원하지 않으므로 비효율적인 쿼리 계획 선택으로 인해 성능이 느려질 수 있습니다.
SQL Server 2012 SP2에는 쿼리 최적화 프로그램이 보다 효율적인 쿼리 계획을 선택하기 위해 테이블 변수에 삽입된 행 수에 대한 정보를 사용할 수 있도록 하는 새 추적 플래그가 도입되었습니다. 이 동작을 활성화하려면 추적 플래그 2453을 사용하도록 설정합니다.
참고:
- 일부 시나리오에서 추적 플래그 2453을 사용하도록 설정하면 실행 시간 동안 테이블 변수에 삽입된 실제 행 수를 고려하기 위해 추가 컴파일이 필요하기 때문에 성능이 일부 저하될 수 있습니다. 일반적으로 테이블 변수에 다른 테이블과 조인된 행이 많거나 둘 이상의 행이 있고 많은 양의 행을 처리하는 안쪽에 계획이 있는 중첩된 루프 조인 연산자의 바깥쪽에서 사용되는 경우 이 추적 플래그가 도움이 됩니다.
- OPTION(다시 컴파일) 쿼리 힌트를 사용하여 다른 버전의 SQL Server에서도 비슷한 동작이 발생할 수 있습니다. 그러나 쿼리 힌트는 테이블 변수에 의한 많은 양의 작업으로 인해 잘못된 계획 선택으로 어려움을 겪는 모든 쿼리를 감지하고 수정해야 하며 추적 플래그 2453을 사용하도록 설정하면 기존 워크로드에 영향을 줄 수 있습니다.
병렬 쿼리 실행 계획에 대한 성능 문제 해결 개선
- DMV sys.dm_exec_requests는 이제 병렬 쿼리 실행 계획에 대한 cpu_time에 대한 정확한 값을 반환합니다. 이제 통계 IO 진단은 병렬 쿼리 실행 계획에 대한 정확한 논리적 읽기를 보고합니다.
향상된 해시 유출 진단
- 해시 조인 또는 해시 집계 연산자가 쿼리 실행 중에 tempdb 데이터베이스로 데이터를 분산하는 경우 이제 통계 IO 진단에 대한 해당 I/O가 보고됩니다.
향상된 전체 텍스트 색인 진단
- 경우에 따라 특정 전체 텍스트 쿼리의 결과가 반환되는 방법을 이해하기 어려울 수 있습니다. 전체 텍스트 검색 하위 시스템은 외부 단어 분리기 및 중지 목록과 상호 작용하며 이러한 상호 작용의 결과로 문서의 키워드에 대한 위치 정보가 실제 텍스트에서 관찰된 것과 다를 수 있습니다. 이는 일치하는 문서를 찾기 위해 단어 간의 델타가 내부 계산에 사용되기 때문에 '구' 또는 'NEAR' 검색을 수행할 때 매우 관련이 있습니다.
- SQL Server 2012 SP2에서는 문서에서 인덱싱된 키워드의 위치 정보에 액세스할 수 있도록 새로운 DMF(동적 관리 함수)가 추가되었습니다. 새 DMF는 기존 DMF sys.dm_fts_index_keywords_by_document과 유사하며 다음과 같은 구문이 있습니다.sys. dm_fts_index_keywords_position_by_document
(
DB_ID('database_name'), OBJECT_ID('table_name')
) - 발생 횟수 대신 각 발생에 대한 정보와 인덱싱된 문서에서의 해당 위치를 반환합니다.
- 이 정보는 텍스트와 검색 구에 대한 델타 차이(있는 경우)를 표시하는 내부 인덱스 간의 매핑을 확인하는 데 사용할 수 있습니다. 이는 구문 검색 결과를 이해하는 데 도움이 될 수 있습니다.
복제
지원 가능성
트랜잭션 복제:
기록 테이블의 통계에 자세한 정보 메시지가 추가되고 에이전트 로그의 자세한 메시지가 추가되었습니다.
- 로그 판독기 및 배포자 에이전트 모두에서 서로 다른 상태를 정의하기 위해 통계> xml 출력에 <문자 메시지가 추가되었습니다.
- 배포자 및 로그 리더 매개 변수화된 명령에 대한 문서 수준 통계를 추가했습니다.
- 배포자 에이전트의 출력 파일에 건너뛴 명령 수를 추가했습니다.
- 배포자 에이전트에서 스키마 변경에 소요되는 시간이 추가되었습니다.
LogReader: 사용자 덤프가 캡처될 때 로그 레코드.TXT 파일에 추가됩니다.
피어 투 피어: 충돌 메시지에 아래 세부 정보를 제공하도록 삽입, 업데이트 및 삭제 절차가 업데이트되었습니다.
- Table Name
- 기본 키 열 이름 및 값
- 현재 버전
- 사전 버전
- Post-version
병합 복제:
- 병합 에이전트의 자세한 정보 표시 출력 수준이 4로 설정된 경우 로그 파일에 추가되는 추적 플래그 101의 출력입니다.
기능
트랜잭션 복제:
- 피어 투 피어 복제는 이제 Update 또는 를 사용하여 텍스트 열에 대한 부분 업데이트를 지원합니다. 의미 체계를 작성합니다.
병합 복제:
- 정리 저장 프로시저가 중복 업로드를 방지하기 위해 다시 디자인되었습니다.
Reporting Services(일명 SSRS)
CSS, 대형 HTML 보고서에 대한 일반적인 호출을 방지하기 위해 처리 오류 및 경고가 포함된 로깅 메시지입니다.
개요:
- 보고서 디자인이 큰 HTML 보고서를 망가뜨리고 잠재적으로 성능 문제를 일으킬지 여부를 확인하기 위해 보고서 디자인을 감지합니다. 이는 대화형 페이지 높이 및 너비 설정을 검사하여 쉽게 감지할 수 있습니다.
사용자 시나리오:
보고서는 Report Builder에서 작성합니다. InteractiveSize 속성에 값 '0'을 입력합니다. 잠재적인 성능 영향에 대한 다음 경고 메시지가 포함된 팝업 창이 나타납니다.
참고
대화형 높이를 0 매트로 설정하면 성능에 영향을 줍니다.
스토리지 엔진
향상된 성능
다음 문서에 설명된 대로 서비스 팩 2의 몇 가지 성능 향상 기능:
- SQL Server 2012에서 데이터베이스 잠금 활동이 증가할 때 성능 문제가 발생함
- SQL Server 2012에서 외래 페이지를 처리하는 동안 NUMA 환경에서 성능 문제가 발생함
- ALTER INDEX 후 성능이 저하됨... SQL Server 2012에서 ONLINE 작업이 중단됨
DMV 개선 사항
- sys.dm_db_session_space_usage 세션당 사용자 개체가 tempdb 데이터베이스에서 사용된 공간의 양을 반영합니다. 삭제된 행 수가 1024페이지를 초과하면 이러한 페이지의 할당 취소가 지연됩니다. SQL Server 2012 서비스 팩 2에서 DMV에는 user_objects_deferred_dealloc_page_count라는 새 열에서 지연된 할당 단위에 대한 공간 사용량도 포함됩니다.
- 이제 장애 조치(failover) 클러스터에 설치된 경우 SQL Server sys.dm_server_services 열cluster_nodename 노드 이름을 올바르게 지정합니다.
링 버퍼 향상
앱 도메인의 링 버퍼에는 앱 도메인이 DoomReason> 필드에 <언로드된 이유가 RING_BUFFER_CLRAPPDOMAIN 포함됩니다.
- 1 = 드롭 어셈블리와 같은 DDL 작업에 의해 언로드됩니다.
- 2 = 권한 변경과 같은 보안 관련 작업에 의해 언로드됨.
- 3 = 메모리 압력 처리로 인해 언로드됨.
- 4 = 초기화 실패로 인해 언로드됨.
해당 확장 이벤트 app_domain_ring_buffer_recorded에는 이벤트 데이터 필드에 언로드 이유doom_reason 포함됩니다.
리소스 모니터에서 모니터링하는 상태에서 변경 사항이 감지되면 RING_BUFFER_RESOURCE_MONITOR 항목이 있습니다. 또한 시스템 및 프로세스 리소스 알림의 경우 풀 알림은 IndicatorsPool/IndicatorsPool><> 노드에서도 <사용할 수 있습니다.
확장 이벤트Resource_monitor_ring_buffer_recorded pool_indicators 데이터 필드에 풀 전체 알림이 포함됩니다.
RING_BUFFER_NONYIELD_PROCESSTABLE에는 링 버퍼 항목을 기록할 때 시스템에서 실행 중인 최대 8,192개 스레드의 다른 정보뿐만 아니라 프로세스 이름도 포함됩니다.
백업 및 복원 개선 사항
서비스 팩 2부터 norecovery 옵션을 사용하여 모델의 비상 로그를 백업할 수 없습니다.
오류 로그의 백업 및 복원 완료 메시지에는 기간 및 처리량 정보가 포함됩니다.
- BACKUP DATABASE는 0.026초(89.261MB/초)에 298페이지를 처리했습니다.
- RESTORE DATABASE는 0.016초(145.050MB/초)에 298페이지를 처리했습니다.
확장 이벤트
SQL Server 2012 서비스 팩 2에 다음과 같은 확장 이벤트가 추가되거나 수정되었습니다.
메모리 할당:
- 확장 이벤트 page_allocated 및 page_freed 사용하여 SQL Server 메모리의 상위 소비자를 볼 수 있습니다. 서비스 팩 2부터 이러한 확장 이벤트는 쿼리 실행 중에 할당 및 해제된 예약된 메모리도 보고합니다.
유령 정리:
테이블이나 인덱스에서 레코드가 삭제되면 이러한 삭제 작업은 페이지에서 레코드를 물리적으로 제거하지 않으며, 삭제되었거나 고스트된 것으로 표시하기만 합니다. 삭제 작업을 더 빠르게 완료할 수 있도록 하는 성능 최적화입니다. 그런 다음 고스트 정리 작업이라는 백그라운드 작업은 삭제된 모든 레코드를 물리적으로 제거합니다. 서비스 팩 2에는 이 작업의 다양한 단계에 대한 통찰력을 제공하기 위해 몇 가지 확장 이벤트가 추가되었습니다.
- ghost_cleanup_task_start
- ghost_cleanup_task_suspend
- ghost_cleanup_task_packet_enqueue
- ghost_cleanup_task_process_packet
- ghost_cleanup_task_process_pages_for_db_packet
참조 자료
현재 SQL Server 버전 및 에디션을 확인하는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
321185 SQL Server 및 해당 구성 요소의 버전 및 에디션을 확인하는 방법