본문 바로가기
반응형

IT565

[MSSQL] 테이블 파티셔닝 실습예제(SPLIT, SWITCH, MERGE) MSSQL에는 테이블 파티셔닝이라는 개념이 존재한다. 특정 구성표로 데이터 범위를 지정하고 지정한 범위의 데이터를 특정 파티션에 저장하도록 테이블을 생성하여 운영하는 기법이다. 이렇게 분할을 한 테이블은 데이터가 작아지기 때문에 INSERT, UPDATE, SELECT등의 작업 속도를 향상 시킨다. 이제 테이블 파티셔닝 실습(SPLIT, SWITCH, MERGE)을 진행해보자 1. 데이터베이스 생성 -- 데이터베이스 생성 USE master GO CREATE DATABASE bebeDB ON PRIMARY ( NAME = bebeDB, FILENAME = 'C:\data\bebeDB.MDF', SIZE = 5, FILEGROWTH = 1 ) LOG ON ( NAME = bebeDB_Log, FILENAM.. 2022. 8. 21.
[MSSQL] 어셈블리 등록 오류 / 구성 옵션 'clr strict security'이 없거나 고급 옵션입니다 어셈블리 DLL 파일 등록을 위해서는 sp_configure를 수정해 줘야합니다. 아래는 어셈블리 등록을 위해 sp_configure 설정을 변경하는 내용입니다. 1.변경 전 확인 EXEC sp_configure 2.변경 진행 --(clr 활성화) EXEC sp_configure 'clr enabled', 1 RECONFIGURE WITH OVERRIDE GO --오류 발생시 고급옵션 활성화 후 다시 실행(구성 옵션'clr strict security'이 없거나 고급 옵션입니다.) EXEC sp_configure 'clr strict security', 0; RECONFIGURE WITH OVERRIDE GO --고급 옵션 활성화 sp_configure 'show advanced options', 1; .. 2022. 8. 21.
[MSSQL] 오류 35208, master 데이터베이스를 사용중인 경우에만 가용성 그룹 DDL 작업이 허용됩니다. 가용성 그룹 추가 마법사를 이용하여 MSSQL Always ON 가용성 그룹 데이터베이스 추가를 진행하는 도중 아래와 같은 오류:53208 이 발생하였다. 오류내용 가용성 복제본 XXX 데이터베이스를 가용성 그룹에 조인하지 못했습니다. master 데이터베이스를 사용중인 경우에만 가용성 그룹 DDL 작업이 허용됩니다. USE MASTER 명령어를 실행하고 가용성 그룹 DDL 명령을 다시 시도하십시오 오류:35208 해결방법 Master로 로그인하라고 하여 처음에는 새 쿼리창를 켜서 use master 명령어를 실행하고 다시 진행 하였지만 결과는 동일. 알고보니 SSMS 처음 로그인시 디비를 선택하는 부분이 있는데 이 부분을 변경하여 로그인 후 진행하면 정상적으로 가용성 그룹에 추가되는 것을 볼 수 있다... 2022. 8. 21.
[MSSQL] tempdb 용량축소(SHRINKFILE) 안될 때 캐시 삭제하기 [Tempdb 축소] Tempdb파일의 증가로 용량을 줄이고 싶을 경우 아래의 2개의 명령어를 선택하여 수행합니다. - 데이터베이스 축소 : DBCC SHRINKDATABASE(tempdb,0) --여유공간을 0%로남기고 축소, 디폴트값0, 0아닌 다른값은 성능문제가 생길수있음 - 파일축소 : DBCC SHRINKFILE(tempdev,10) --10M로 축소 해당 명령어를 실행하면 일반적으로 용량이 줄어들지만 축소가 안되는 경우 캐시를 삭제해야 합니다. [캐시삭제] --현재 데이터베이스이 모든 더티 페이지를 디스크에 쓰고 버퍼를 정리 CHECKPOINT --프로시저 캐시 삭제 DBCC FREEPROCCACHE --Buffer Pool에 존재하는 데이터 페이지 제거 DBCC DROPCLEANBUFFERS.. 2022. 8. 21.
[MSSQL] tempdb 테스트 - 데이터 증가 스크립트 임시 테이블을 사용해서 tempdb 데이터,로그 용량을 증가시키는 쿼리입니다. #으로 임시테이블을 만들어서 사용하면 tempdb영역을 사용할 수 있습니다. CREATE TABLE #TempTable (col1 char(1000), col2 char(1000)) BEGIN TRAN SET NOCOUNT ON; DECLARE @i INT = 1 WHILE @i 2022. 8. 21.
[MSSQL] ID열의 명시적 값은 열 목록이 사용되고 IDENTITY_INSERT가 ON 일 때만 지정할 수 있습니다. 오류내용 ID열의 명시적 값은 열 목록이 사용되고 IDENTITY_INSERT가 ON 일 때만 지정할 수 있습니다. 오류원인 MSSQL에서 해당 테이블의 특정 컬럼에 IDENTITY 속성이 적용되어 있을 경우 임의로 지정한 값을 insert하려고 할 때 발생합니다. (insert 명령어 실행시 IDENTITY 속성으로 지정된 컬럼은 max+1의 값이 자동으로 생성되어 저장됩니다.) create table test001 ( T_IDX int identity(1,1) not null, name varchar(20) ) 해결방법 1. IDENTITY_INSERT ON 명령어를 실행하여 명시적으로 입력이 가능하도록 변경 - SET IDENTITY_INSERT 테이블명 ON 2. insert 쿼리 실행 - INS.. 2022. 8. 21.
성능모니터 SQL서버 기본 모니터링 - 기본설정값 설명 윈도우 서버&MSSQL 데이터베이스를 운영하게되면 서버와 MSSQL의 자원을 모니터링을 진행한다. 비용을 지불하고 성능과 가시성이 좋은 다른 모니터링 솔루션을 구매하여 사용해도 되지만 윈도우에서는 무료 모니터링 툴인 성능모니터링(Perfmon) 이라는 프로그램을 지원한다. 다양한 항목들을 모니터링 할 수 있지만 기본적으로 서버와 DB에서 모니터링을 진행해야하는 항목을 추려보았으니 설정해서 모니터링을 진행해 보자. [윈도우 서버 설정항목] [Processor(CPU)] "% Processor Time" [Memory] "Available MBytes" [Physical Disk] "Avg. Disk sec/Read" [Physical Disk] "Avg. Disk sec/Write" [System] "Pr.. 2022. 7. 16.
[SQL Server] Access Methods 카운터 설명 Access Methods SQL Server 개체는 데이터베이스 내의 논리 페이지에 액세스하는 방법을 모니터링하는 카운터를 제공합니다. 디스크에 있는 데이터베이스 페이지에 대한 실제 액세스는 Buffer Manager 카운터를 사용하여 모니터링됩니다. 데이터베이스에 저장된 데이터에 액세스하는 방법을 모니터링하면 인덱스를 추가/수정하거나, 파티션을 추가/이동하거나, 파일 또는 파일 그룹을 추가하거나, 인덱스를 조각 모음하거나, 쿼리를 다시 작성하여 쿼리 성능을 향상시킬 수 있는지 확인하는 데 도움이 됩니다. 또한 Access Methods 카운터를 사용하면 데이터베이스에 있는 데이터, 인덱스, 여유 공간의 양을 모니터링하여 각 서버 인스턴스에 대한 데이터 볼륨 및 조각화 상태를 나타낼 수 있습니다. 과도.. 2022. 7. 16.
[MSSQL] Table Lock Escalations이란? 이번시간에는 테이블 잠금 에스컬레이션(Table Lock Escalations)에 대해서 알아보도록 하겠습니다. Table Lock Escalations이란? 잠금 에스컬레이션은 행, 페이지 잠금과 같은 많은 세분화된 잠금을 "테이블 잠금으로 변환"하는 프로세스입니다. SQL Server는 서버는 잠금 에스컬레이션을 수행할 시기를 동적으로 결정합니다. 일반적으로 잠금을 유지하려면 메모리 리소스가 필요합니다. 따라서 SQL Server는 기본적으로 행 수준 잠금을 사용하지만 SQL 엔진이 많은 수의 행 잠금을 단일 테이블 잠금으로 변환하고 프로세스에서 행 잠금이 보유한 메모리를 해제하는 것이 훨씬 더 효과적이라 생각합니다. "잠금 에스컬레이션"은 SQL Server에서 사용하는 최적화 기술이며 기본적으로 .. 2022. 7. 16.
성능모니터(Perfmon) 컴퓨터에 연결할 수 없습니다 원격오류 윈도우에서는 성능을 모니터 할 수 있는 성능모니터링(Perfmon) 프로그램을 지원합니다. 기본적으로 자신의 로컬 컴퓨터의 성능을 수집하지만 원격지의 컴퓨터 성능을 모니터링 해야하는 경우가 있습니다. 이번시간에는 성능모니터 원격연결시 발생하는 오류인 "컴퓨터에 연결할 수 없습니다" 오류 발생시 해결하는 방법에 대해서 알아보겠습니다. 원격연결 오류원인 1. 네트워크 방화벽 네트워크 방화벽이 막혀있으면 통신이 불가능하기 때문에 원격지 서버와 통신이 불가능합니다. 성능 모니터링을 하기위해 허용할 포트는 135, 445로 알려져있지만 방화벽 담당자에게 접속시 차단되는 포트를 확인해 달라고 하자. 2. 수집할 서버의 로컬 방화벽 네트워크 방화벽과 별게로 서버의로컬에 있는 방화벽이다. 보안상 문제가 안된다면 사용하.. 2022. 7. 16.
반응형