본문 바로가기
반응형

IT/MSSQL170

[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.
MSSQL 파일그룹이란?(mdf, ldf, ndf) 이번시간에는 MSSQL 파일그룹에 대해서 알아보겠습니다. 파일그룹이란 논리적으로 데이터를 저장하는 그룹으로 데이터베이스 생성시 PRIMARY기본 그룹으로 생성됩니다. PRIMARY 그룹은 삭제가 불가능하며 해당 그룹에는 물리적인 데이터 파일인 .mdf 파일이 생성됩니다. mdf 주 데이터 파일(Primary Data File) 실제 데이터가 저장되는 공간 ldf 트랜잭션 로그 파일(Transaction Log File) 데이터베이스 복구에 사용되는 트랜잭션 로그가 저정되는 공간 ndf 보조 데이터 파일(Secondary Data File) 추가적으로 데이터가 저장되는 공간 위의 그림과 같이 데이터파일에 저장 시 하나의 파일그룹을 사용할 때 보다 좋은 성능을 낼 수 있기 때문에 보조데이터 파일을 사용합니다.. 2022. 7. 15.
[MSSQL] 패스워드 암호화 함수 사용법 및 비교검증 - PWDENCRYPT / PWDCOMPARE MSSQL에서는 패스워드 단방향 암호화 함수 PWDENCRYPT() 를 지원합니다. 암호화 방식에는 단방향과 양방향이 존재하지만 암호(패스워드)는 복호화가 불가능 해야하기 때문에 단방향 함수를 사용해야합니다. 단방향 함수를 사용하여 암호화된 해시값을 비교할 수 있도록 PWDCOMPARE()함수를 제공하고 있으니 해당 패스워드가 맞는지 확인해 보시면 됩니다. 간단한 실습을 통해서 단방향 암호화와 검증 방법에 대해서 알아보자. 1. 사용자 테이블 생성 패스워드 변환 함수(PWDENCRYPT) 사용시 varbinary로 반환되기 때문에 컬럼을 varbinary(128)로 생성 CREATE TABLE USERS ( U_ID VARCHAR(20), U_PWD VARBINARY(128) ) 2. 사용자 계정 및 패.. 2022. 6. 26.
[MSSQL] 오픈쿼리 다른 디비 연결 / 연결된 서버 사용법 MSSQL 서버에서 원격지에 있는 디비서버를 연결하기 위해서는 "연결된 서버" 옵션을 사용한다. 해당 기능을 사용해서 연결하게되면 일반 쿼리가 아닌 오픈쿼리(OPENQUERY) 문법으로 쿼리를 작성해야 한다. 이번 시간에는 MSSQL 오픈쿼리 사용법에 대해서 알아보자. 오픈쿼리(OPENQUERY) 문법 SELECT [컬럼명] FROM OPENQUERY ([서버이름], 'SELECT [컬럼명] FROM [테이블명]'); 오픈쿼리(OPENQUERY) 예문 오픈쿼리를 사용하여 데이터 조회를 하는 SELECT 예문이다. 오라클과 MSSQL 문법에 맞게 사용하면 되겠다. ORACLE SELECT * FROM OPENQUERY (ORACLE_DB, 'SELECT * FROM bebeTB where ROWNUM 2022. 1. 18.
[MSSQL] 모델링 실습 / 데이터베이스 다이어그램 데이터베이스 ERD 작성이 필요하다. ERD(Entity Relationship Diagram)란 무엇일까? ERD는 말로서 되어있는 요구분석사항을 그림으로 그려내어 그 관계를 도출하는 것이다. 데이터 모델링 분야에서 "개체-관계 모델(Entity Relationship Model)"이란 구조화된 데이터에 대한 일련의 표현이다 ERD 설계시 전문 설계툴을 사용하기도 하지만 MSSQL에서는 SSMS(SQL Server Management Studio)에서 기본적으로 제공하는 "데이터베이스 다이어그램"이 존재한다. 이를 사용하여 엔터티간의 관계나 테이블 구조를 볼 수 있다. 그럼 이제 이 도구를 사용해보도록 하자. 데이터베이스 다이어그램 실행 데이터베이스-> 데이터베이스 다이어그램 -> 새 데이터베이스 다이.. 2022. 1. 17.
[MSSQL] null & not null 제약조건 변경하기 MSSQL 테이블의 특정컬럼 제약조건을 not null에서 -> null 허용으로 변경하려고 작업하는중 오류가 발생. 오류내용 변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야됩니다. 해결방법 GUI 편집기를 사용하지 않고 명령어를 입력하여 변경진행. null 허용하지 않음으로 설정 변경하기 문법 : ALTER TABLE [table] ALTER COLUMN [column] [datatype] NOT NULL; 에제 : ALTER TABLE 고객테이블 ALTER COLUMN 주소 nvarchar(20) NOT NULL; null 허용으로 설정 변경하기 문법 : ALTER TABLE [table] ALTER COLUMN [column] [datatype] NUL.. 2022. 1. 14.
반응형