반응형
[MsSQL][장애 조치] 크랙 DATABASE 복구 1 - 주의대상 데이터베이스 복구 시도
DATABASE/MsSQL2025. 2. 12. 09:00[MsSQL][장애 조치] 크랙 DATABASE 복구 1 - 주의대상 데이터베이스 복구 시도

장애 조치사내 데이터 배치용으로 사용 중이던 MsSQL의 Database 중 하나의 Database의 장애가 발생하여 주의대상 상태가 되는 일이 발생하였다. 주의대상이 된 데이터베이스에는 접근도 할 수 없고 어떠한 작업도 불가능한 상태가 되었으며, 주의대상에서 자동으로 복구 중 무언가 문제가 발생하여, DB STARTUP 상태로 아무런 변경이 없었다.select command, percent_complete, start_time from SYS.DM_EXEC_REQUESTS where command in ('db startup', 'restore database', 'recovery');위의 Query를 통해 DB STARTUP 트랜잭션이 어느정도 진행되었는지 확인 할 수 있다 하여 확인하였으나, 몇 ..

[PostgreSQL] PG17 설치의 모든 것 - Data / Wal 분리부터 환경변수까지
DATABASE/PostgreSQL2024. 12. 21. 21:04[PostgreSQL] PG17 설치의 모든 것 - Data / Wal 분리부터 환경변수까지

PostgreSQL 설치의 모든 것새롭게 요즘 배우고 있는 데이터베이스 PostgreSQL이다.오픈소스의 DBMS이다보니 새로운 버전이 매년 나오고, 설치부터 세팅까지 직접해줘야한다는 불편함이 있다. 심지어 기존에 사용하던 CentOS7이 EOS가 되기에 새로운 Linux 버전인 Rocky 9 를 OS로 하여 PostgreSQL을 설치해 보았다. PostgreSQL 17버전을 설치하는 방법을 소개하며,PG의 인스턴스의 디렉토리를 OS와 분리된 다른 영역에 설치하는 방법Wal 디렉토리를 분리하여 심볼릭 링크를 설정하는 방법기본적으로 편의를 위한 환경변수를 설정하는 방법 등에 대해 소개해 보도록 하겠다. PostgreSQL Install원하는 PostgreSQL 버전의 설치를 위해 공식 홈페이지에 접속한다...

[MsSQL] SET STATISTICS 옵션을 활용 - 실제 실행 계획 상세보기
DATABASE/MsSQL2024. 11. 20. 10:58[MsSQL] SET STATISTICS 옵션을 활용 - 실제 실행 계획 상세보기

실제 실행계획 상세보기MsSQL 에서는 실행계획을 볼 수 있는 방법이 여러가지 있지만.대부분 그래프 이미지로 밖에 볼 수 없다. 기존의 실행계획 표시인 텍스트와 I/O 관련정보 등을 손쉽게 볼 수 있는 옵션에 대해서 소개하도록 하겠다. SET STATISTICSSET STATISTICS 는 MsSQL에서 쿼리의 성능분석/최적화 등에 도움을 주는 옵션이다.해당 옵션은 세션별로 적용을 하여 해당 세션의 쿼리를 분석할 수 있게 도와준다. 주로 실제 쿼리의 실행계획에 대해 아래의 옵션 3개를 활성화하여 확인한다.SET STATISTICS PROFILE ONSET STATISTICS IO ONSET STATISTICS TIME ON 해당 옵션을 활성화 하고 원하는 쿼리를 실행하여 쿼리가 실행 완료되면 실행계획과 ..

[MsSQL] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기
DATABASE/MsSQL2024. 11. 16. 09:34[MsSQL] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기

Procedure 내용 찾기오라클의 프로시저의 특정 내용을 찾는 쿼리를 알아보았었다.[Oracle] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기MsSQL도 이와 같은 쿼리를 만들 수 있는데, 해당 쿼리는 트리거나 함수 등에서 사용은 못하고 프로시저의 내용만 찾는 쿼리이다. Queryuse [데이터베이스 명]select name, object_definition(object_id) as txt from sys.PROCEDURES where object_definition(object_id) like '%[프로시저에서 찾고 싶은 내용]%' 위 쿼리를 사용하면 해당 데이터베이스 내의 프로시저 중 내가 찾고싶은 내용을 포함한 프로시저를 찾을 수 있다.데이터베이스 별로 검색해야하기에 ..

[MsSQL] SQL Server - AlwaysOn Basic 구성 (AD 없이 처음부터 끝까지)
DATABASE/MsSQL2024. 4. 23. 09:00[MsSQL] SQL Server - AlwaysOn Basic 구성 (AD 없이 처음부터 끝까지)

SQL Server - High Availability 데이터베이스를 운영함에 제일 중요한 것은 무엇일까? 중요한 것은 많지만 그 중에 하나를 꼽자면 바로 서버 이중화를 통한 고가용성 - High Availability (HA) 이 꼭 나올 것이다. 장애가 나도 최대한 빠른시간에 대처하여 서비스를 유지할 수 있게 해주는HA구성이야 말로 운영 서비스 중 제일 중요하기 때문이다. SQL Server 의 여러가지 HA구성 방법 중 Active Directory (AD) 설정이 없이 AlwaysOn Basic을 구성하는 방법에 대해서 소개해보도록 하겠다. AlwaysOn Basic 기존에 구성되어있는 SQL Server에서 라이센스 비용을 아끼고자 SQL Server 2019 Standard 버전으로 변경하여 ..

[MsSQL] SQL Server 2019 Standard 기본 설치 (Windows Server)
DATABASE/MsSQL2024. 4. 20. 09:00[MsSQL] SQL Server 2019 Standard 기본 설치 (Windows Server)

SQL Server 2019 Standard 여러종류의 데이터베이스를 설치해보았지만, 역시 윈도우 기반의 SQL Server 설치가 제일 편리하다. UI도 제공되고, 한글 번역과 다음 다음 버튼으로 손쉽게 설치할 수 있으니, Oracle 이나 MariaDB등 보다 쉽고 편리하다 생각이 든다. Server 설치 방법 SQL Server 2019 Standard ISO 파일을 실행하여 설치센터 창을 연다. 설치 -> 새 SQL Server 독립 실행형 설치 또는 기존 설치에 기능 추가 선택 아래와 같은 설치 창이 뜨며, 제품 키 입력 창이 나온다. 제품키 입력 / 확인 후 다음 동의함 체크 후 다음 업데이트 확인은 따로 필요하지 않기에 미체크 후 다음 SQL Server를 사용함에 있어 필수적인 인스턴스 기..

[MsSQL] Openquery insert - 다른 데이터베이스의 테이블에 데이터 저장하기
DATABASE/MsSQL2024. 4. 16. 09:00[MsSQL] Openquery insert - 다른 데이터베이스의 테이블에 데이터 저장하기

Openquery Linked Server (연결된 서버)를 통해 연결이 되어있는 데이터베이스 들에 대해 Openquery문법을 통해 서로 연결하여 DML을 실행 할 수 있으며, 저번 포스팅에 select문에 관련된 여러가지 방법에 대해서 소개 하였다. [MsSQL] Openquery select - 다른 데이터베이스 데이터 읽고 저장하기 select문을 이용하여 내가 현재 위치하고있는 데이터베이스에 데이터를 insert할 수 있지만, 원격지 이기종 데이터베이스에 데이터를 insert하는 방법에 대해서 간략하게 소개해 보도록 하겠다. insert into ~ values select * from openquery([Linked Server], '[select Query]') 연결된 서버를 통해 연결되어있..

[MsSQL] Openquery select - 다른 데이터베이스 데이터 읽고 저장하기
DATABASE/MsSQL2024. 4. 9. 09:00[MsSQL] Openquery select - 다른 데이터베이스 데이터 읽고 저장하기

OpenqueryLinked Server (연결된 서버)를 통해 연결이 되어있는 데이터베이스 들에 대해 Openquery문법을 통해 서로 연결하여 DML을 실행 할 수 있다. 해당 문법에 대해서 알아보도록하며 요번 포스팅에서는 Openquery문법 중 Select문을 통해 다른 데이터베이스의 데이터를 읽고, 읽은 데이터를 저장하며 사용하는 방법에 대해서 소개해보도록 하겠다. selectselect * from openquery([Linked Server], '[select Query]') 연결된 서버(Linked Server)를 설정해둔 서버에 대해서 openquery문법을 통해 해당 데이터베이스의 테이블을 조회 할 수 있다.[select query]에 들어가는 문법은 해당 연결된 ..

[MsSQL] 테이블 정의서 만들기 - 쿼리로 추출하기
DATABASE/MsSQL2024. 3. 26. 09:00[MsSQL] 테이블 정의서 만들기 - 쿼리로 추출하기

테이블 정의서 (Table Spec) 테이블의 자세한 내용에 대해 설명 할 때 꼭 필요한 것이 테이블 정의서이다. 테이블의 존재하는 컬럼과 컬럼들의 Data Type 등을 기록하는 문서이며, 해당 문서를 통해 DBA에게 Table 생성을 요청하거나, 프로젝트 명세를 위해 내역을 첨부하는 등 필요가 많다. 보통은 DBA에게 요청하는 문서로 작성되어 오지만, 기존의 테이블의 정의를 확인하고 문서화 하기위해 정의서를 생성해 내야할 필요가 있다. 그럴 때 사용하기 적절한 쿼리에 대해 소개해보도록 하겠다. Query Database에 생성되어있는 Table에 대한 테이블 정의서를 추출하는 쿼리는 아래와 같다. select o.name as table_name, a.value as table_comment, b.n..

[Ignite][Linux] 5. Cluster Node - 신규 노드 추가하기
DATABASE/Ignite2024. 3. 23. 09:00[Ignite][Linux] 5. Cluster Node - 신규 노드 추가하기

Ignite Cluster Node 이그나이트의 클러스터 구성에 장점중 하나는 새로운 노드를 추가하기 쉽다는 것이다. 이미 구성되어있는 이그나이트 클러스터에 새로운 노드를 추가하는 작업을 진행해보자. Cluster config.xml 설정 파일을 통해 두대의 노드를 클러스터로 연결해둔 상태이다. 노드 설정을 다시한번 확인해보자. 클러스터 설정에 대한 자세한 내용은 이전 포스팅을 참고하도록 하자. (글의 맨아래에 링크참고) [노드 1 IP]:[노드 연결 포트] [노드 2 IP]:[노드 연결 포트] 이렇게 설정파일을 설정 후 클러스터를 활성화 하였는데, 현재 클러스터의 상태를 확인해보자. ./control.sh --baseline 클러스터 상태가 active인 것을 확인 할 수 있으며, 두대의 노드가 연결되..

반응형
image