주형권의 포스트
-
오라클 운영 중에 황당한(?) 일을 겪어서, 확인해 보니 다음과 해결 법을 찾아서 내용을 공유합니다. 개발자가 오라클 서버에 새로운 인덱스를 생성해 달라고 요청이 왔습니다. 테이블을 조회하여, 인덱스를 걸고자 하였습니다. 그런데, 분명히 테이블이 있는데 인덱스를 생성할 경우 테이블이 없다고 나오며, ORA-00942가 계속해서 발생하였습니다. 메시지 내용은 상당히 간단합니다. 테이블 또는 뷰가 존재하지 않습니다. 우선 테이블이 실제 존재하는지 ALL_TABLES를 통해 확인 해봤습니다. 1 SELECT * FROM all_tables WHERE table_name = '테이블명' cs 테이블은 정상적으로 존재하였습니다. 하지만 테이블을 조회할 경우 다음과 같이 에러가 나왔습니다. ORA-00942: ta..
테이블이 존재 하는데, ORA-00942 발생오라클 운영 중에 황당한(?) 일을 겪어서, 확인해 보니 다음과 해결 법을 찾아서 내용을 공유합니다. 개발자가 오라클 서버에 새로운 인덱스를 생성해 달라고 요청이 왔습니다. 테이블을 조회하여, 인덱스를 걸고자 하였습니다. 그런데, 분명히 테이블이 있는데 인덱스를 생성할 경우 테이블이 없다고 나오며, ORA-00942가 계속해서 발생하였습니다. 메시지 내용은 상당히 간단합니다. 테이블 또는 뷰가 존재하지 않습니다. 우선 테이블이 실제 존재하는지 ALL_TABLES를 통해 확인 해봤습니다. 1 SELECT * FROM all_tables WHERE table_name = '테이블명' cs 테이블은 정상적으로 존재하였습니다. 하지만 테이블을 조회할 경우 다음과 같이 에러가 나왔습니다. ORA-00942: ta..
2016.04.29 -
SQL Server 2016 New features중에서 보안관련된 부분에 대해서 발표자료에 사용하였던 자료를 공유합니다.Demo 스크립트를 다운받아서, 직접 테스트 해볼 수 있습니다. 스크립트에 몇가지 URL이 있는데, 이것은 GUI를 이용하는 경우입니다. 이 부분 양해 부탁드립니다.혹시 궁금하신 내용은 댓글이나, 메일 주시면 확인하여, 답변 드리겠습니다. 차후에 더 많은 기능을 테스트하여, 업로드 하겠습니다.
SQL Server 2016 New features review - SecuritySQL Server 2016 New features중에서 보안관련된 부분에 대해서 발표자료에 사용하였던 자료를 공유합니다.Demo 스크립트를 다운받아서, 직접 테스트 해볼 수 있습니다. 스크립트에 몇가지 URL이 있는데, 이것은 GUI를 이용하는 경우입니다. 이 부분 양해 부탁드립니다.혹시 궁금하신 내용은 댓글이나, 메일 주시면 확인하여, 답변 드리겠습니다. 차후에 더 많은 기능을 테스트하여, 업로드 하겠습니다.
2016.04.25 -
SQL Server 2016에서 Temporal Table이라는 기능이 있어서, 소개하고자 합니다.Temporal은 다음과 같은 뜻을 가집니다.- 1. 현세적인, 속세의 2. 시간의; 시간의 제약을 받는 3. 관자놀이께의 Temporal 테이블은 제가 볼때 엄청난 기능은 아니고, Table의 내용이 변경(UPDATE, DELETE)이 될 경우 그 내용을 기록하는 History (?)성 테이블이라고 생각하면 됩니다.글로 표현하는 것보다 그림으로 보는 것이 더욱 이해가 될 것 입니다.제가 생각 할때 이 그림이 가장 맞는거 같습니다. 크게 별다른 기능이 아니고, 단순히 유저가 DELETE , UPDATE 라는 조작을 가하면 테이블에 기록을 남기는 것 입니다.음... 일종에 트리거 같은 기능을 종속하여, 추가한..
SQL Server 2016 - Temporal TableSQL Server 2016에서 Temporal Table이라는 기능이 있어서, 소개하고자 합니다.Temporal은 다음과 같은 뜻을 가집니다.- 1. 현세적인, 속세의 2. 시간의; 시간의 제약을 받는 3. 관자놀이께의 Temporal 테이블은 제가 볼때 엄청난 기능은 아니고, Table의 내용이 변경(UPDATE, DELETE)이 될 경우 그 내용을 기록하는 History (?)성 테이블이라고 생각하면 됩니다.글로 표현하는 것보다 그림으로 보는 것이 더욱 이해가 될 것 입니다.제가 생각 할때 이 그림이 가장 맞는거 같습니다. 크게 별다른 기능이 아니고, 단순히 유저가 DELETE , UPDATE 라는 조작을 가하면 테이블에 기록을 남기는 것 입니다.음... 일종에 트리거 같은 기능을 종속하여, 추가한..
2016.04.12 -
원본 MSSQLSERVER 이벤트 ID 17806 사용자 응용프로그램 수준 오류 내용 통합 보안으로 연결을 설정하는 동안 SSPI 핸드셰이크가 실패했습니다(오류 코드 0x8009030c). 연결이 닫혔습니다. [클라이언트: xxx.xxx.xxx.xxx] 위의 오류는 다음과 같은 SQL Server의 오류를 같이 발생 시킵니다. 원인 - 원인은 아래의 테스크를 통한 데이터를 가져올 경우 패스워드 오류로 인하여, 발생 합니다. - 다음과 같은 오류가 발생하면서, 오류가 발생하고, SQL Server 로그 및 Windwos Event 로그에 다음의 내용이 나타납니다. - 만약 이 오류를 DBA 또는 DB에 접근 할 수 있는 누군가가 냈다면, 크게 걱정하지 않아도 무방 할 것으로 보입니다. 하지만 , 이 오류를..
EventID : 17806 / MSSQLSERVER / Error원본 MSSQLSERVER 이벤트 ID 17806 사용자 응용프로그램 수준 오류 내용 통합 보안으로 연결을 설정하는 동안 SSPI 핸드셰이크가 실패했습니다(오류 코드 0x8009030c). 연결이 닫혔습니다. [클라이언트: xxx.xxx.xxx.xxx] 위의 오류는 다음과 같은 SQL Server의 오류를 같이 발생 시킵니다. 원인 - 원인은 아래의 테스크를 통한 데이터를 가져올 경우 패스워드 오류로 인하여, 발생 합니다. - 다음과 같은 오류가 발생하면서, 오류가 발생하고, SQL Server 로그 및 Windwos Event 로그에 다음의 내용이 나타납니다. - 만약 이 오류를 DBA 또는 DB에 접근 할 수 있는 누군가가 냈다면, 크게 걱정하지 않아도 무방 할 것으로 보입니다. 하지만 , 이 오류를..
2016.04.01 -
오라클 DBA가 아닌 저로써는 회사에서 비중이 적은 ORACLE을 사용 할때 매우 난감 합니다. 이번에 발생한 오류(?)와 같은 ORACLE 관련하여 문제가 생길 경우 많이 난감합니다. 오늘 겪은 내용은 오라클 계정에 암호 만료에 관련된 이슈 입니다.개발자 분이 다음과 같은 오류가 발생하였다고 하여, 제가 한번 봤는데 계정에 Default로 180일의 암호 만료 기한이 있더군요.(오라클 기본이 180일이라함)오늘 다음과 같은 얼럿이 발생하여, 계정의 패스워드를 초기화 시켜야 하는 상황이 발생하였습니다. 그래서, 금일 계정의 패스워드를 변경하면서 초기화하고, 계정의 암호 만료기한을 무제한으로 변경 하였습니다.우선 다음의 쿼리를 이용하여, 계정의 상태를 확인하였습니다. 아래의 OPEN일 경우 만료 기한이 아..
ORACLE 계정 만료 해제오라클 DBA가 아닌 저로써는 회사에서 비중이 적은 ORACLE을 사용 할때 매우 난감 합니다. 이번에 발생한 오류(?)와 같은 ORACLE 관련하여 문제가 생길 경우 많이 난감합니다. 오늘 겪은 내용은 오라클 계정에 암호 만료에 관련된 이슈 입니다.개발자 분이 다음과 같은 오류가 발생하였다고 하여, 제가 한번 봤는데 계정에 Default로 180일의 암호 만료 기한이 있더군요.(오라클 기본이 180일이라함)오늘 다음과 같은 얼럿이 발생하여, 계정의 패스워드를 초기화 시켜야 하는 상황이 발생하였습니다. 그래서, 금일 계정의 패스워드를 변경하면서 초기화하고, 계정의 암호 만료기한을 무제한으로 변경 하였습니다.우선 다음의 쿼리를 이용하여, 계정의 상태를 확인하였습니다. 아래의 OPEN일 경우 만료 기한이 아..
2016.03.30 -
이번에 모니터링 시스템을 만들면서 이것 저것 수집하다 보니, 쿼리를 이용한 Job 스케줄러의 상세정보를 보기 힘들다는 사실을 알았습니다. 그래서, 영문자료를 토대로 한글화하여, 쿼리를 만들었습니다. 결과는 다음과 같은 형태로 나타납니다. 제가 필요한 정보만 약간 변형하여, 하였으므로, 필요에 따라서 바뀌시면 좋을 것 같습니다. SELECT [jobs].name as [jobname] , description , CASE convert(nvarchar(3),[sSCH].[enabled]) WHEN 1 THEN 'Y' WHEN 0 THEN 'N' END AS [IsEnabled] , CASE WHEN convert(nvarchar(3),[freq_type],3) = 64 THEN 'SQL Server 시작 ..
쿼리를 이용한 JOB 스케줄러 상세보기이번에 모니터링 시스템을 만들면서 이것 저것 수집하다 보니, 쿼리를 이용한 Job 스케줄러의 상세정보를 보기 힘들다는 사실을 알았습니다. 그래서, 영문자료를 토대로 한글화하여, 쿼리를 만들었습니다. 결과는 다음과 같은 형태로 나타납니다. 제가 필요한 정보만 약간 변형하여, 하였으므로, 필요에 따라서 바뀌시면 좋을 것 같습니다. SELECT [jobs].name as [jobname] , description , CASE convert(nvarchar(3),[sSCH].[enabled]) WHEN 1 THEN 'Y' WHEN 0 THEN 'N' END AS [IsEnabled] , CASE WHEN convert(nvarchar(3),[freq_type],3) = 64 THEN 'SQL Server 시작 ..
2016.03.14 -
보통 TempDB를 만들고 나면 성능을 위해서 TempDB를 여러개로 쪼개고 위치를 변경하고 여러가지 작업을 합니다. TempDB는 성능에 많은 영향을 미치는 DB로써 SQL Server에서 매우 민감하게 작용됩니다. Latch를 유발할 수도 있으며, 다양한 이슈가 발생 합니다. 이번에 작업 시 TempDB 경로를 잘못 설정하여, SQL Server가 올라오지 않는 문제가 있어서 해결과정을 포스트 하였습니다. 문제 - TempDB의 ldf 파일의 경로를 잘못 변경하였는데, 잘못 변경한지 인지하지 못하고 올라오지 못하는 원인을 찾지 못하였음 - Eventvwr에 내용이 있지만, 엑세스가 거부되었다는 메시지가 나와서 권한 문제로 인식하여 권한을 추가하였으나 정상적으로 올라오지 않음 Windows Event ..
TempDB 경로 문제로 인한 SQL Server 시작 불가능보통 TempDB를 만들고 나면 성능을 위해서 TempDB를 여러개로 쪼개고 위치를 변경하고 여러가지 작업을 합니다. TempDB는 성능에 많은 영향을 미치는 DB로써 SQL Server에서 매우 민감하게 작용됩니다. Latch를 유발할 수도 있으며, 다양한 이슈가 발생 합니다. 이번에 작업 시 TempDB 경로를 잘못 설정하여, SQL Server가 올라오지 않는 문제가 있어서 해결과정을 포스트 하였습니다. 문제 - TempDB의 ldf 파일의 경로를 잘못 변경하였는데, 잘못 변경한지 인지하지 못하고 올라오지 못하는 원인을 찾지 못하였음 - Eventvwr에 내용이 있지만, 엑세스가 거부되었다는 메시지가 나와서 권한 문제로 인식하여 권한을 추가하였으나 정상적으로 올라오지 않음 Windows Event ..
2016.01.21 -
가끔 SQL Server 로그에 특정한 IP를 이용하여, 접속을 시도하였으나 실패한 메시지나 특정 IP에서 어떠한 공격이 들어옵니다. IP를 통해서 Profiler를 통해서 뭐가 실행되었는지 확인하고자 하였으나, IP로 추적은 없는 듯 하여, 구글링을 하여 찾았는데 좋은 정보가 있어서 공유하고자 합니다. 해당 내용은 http://mani4u.tistory.com/41 블로그를 참조하였으며 약간의 변형만 줘봤습니다. 우선 쿼리는 다음과 같습니다.123456789SELECT P.spid,E.name as DBname,P.login_time, P.last_batch, P.status,P.program_name,P.cmd,P.loginame,C.client_net_address,D.textFROM sys.sys..
특정 IP로 실행한 쿼리 추적가끔 SQL Server 로그에 특정한 IP를 이용하여, 접속을 시도하였으나 실패한 메시지나 특정 IP에서 어떠한 공격이 들어옵니다. IP를 통해서 Profiler를 통해서 뭐가 실행되었는지 확인하고자 하였으나, IP로 추적은 없는 듯 하여, 구글링을 하여 찾았는데 좋은 정보가 있어서 공유하고자 합니다. 해당 내용은 http://mani4u.tistory.com/41 블로그를 참조하였으며 약간의 변형만 줘봤습니다. 우선 쿼리는 다음과 같습니다.123456789SELECT P.spid,E.name as DBname,P.login_time, P.last_batch, P.status,P.program_name,P.cmd,P.loginame,C.client_net_address,D.textFROM sys.sys..
2016.01.19 -
업무 중에 DBA는 많은 장애에 직면합니다. 그중에 데이터의 손실은 아주 큰 장애라고 생각됩니다. 제가 겪은 대부분의 데이터 손실은 인재였으며, 다음과 같은 예제 시나리오를 통해서 복원하는 방법을 정리해봤습니다. 현재 상황- FULL BACKUP 매일 하루 새벽에 진행되고 있음- TRAN LOG BACKUP 1시간에 1번씩 진행되고 있음 장애 상황- 실수로 테이블에 WHERE 조건을 잊고, 그대로 실행하여 모든 데이터가 손실된 상황 위와 같은 상황은 은근히(?) 많이 발생합니다. 그 은근히(?) 많은 상황을 대비해서 테스트를 진행해봤습니다.순서는 다음과 같이 진행 됩니다. ① 유저가 5건의 Insert 를 통해 데이터를 넣음② FULL BACKUP 진행 (하루 1회 도는 백업으로 간주)③ 유저가 5건의 ..
데이터 손실 시 복구업무 중에 DBA는 많은 장애에 직면합니다. 그중에 데이터의 손실은 아주 큰 장애라고 생각됩니다. 제가 겪은 대부분의 데이터 손실은 인재였으며, 다음과 같은 예제 시나리오를 통해서 복원하는 방법을 정리해봤습니다. 현재 상황- FULL BACKUP 매일 하루 새벽에 진행되고 있음- TRAN LOG BACKUP 1시간에 1번씩 진행되고 있음 장애 상황- 실수로 테이블에 WHERE 조건을 잊고, 그대로 실행하여 모든 데이터가 손실된 상황 위와 같은 상황은 은근히(?) 많이 발생합니다. 그 은근히(?) 많은 상황을 대비해서 테스트를 진행해봤습니다.순서는 다음과 같이 진행 됩니다. ① 유저가 5건의 Insert 를 통해 데이터를 넣음② FULL BACKUP 진행 (하루 1회 도는 백업으로 간주)③ 유저가 5건의 ..
2016.01.18 -
클러스터링 테스트를 진행 할때 몇가지 테스트를 시나리오를 토대로 테스트를 진행하였는데, 생각처럼 되지 않아서 난항을 겪었습니다.그래서 이번에 테스트를 진행하면서 많은 어려움을 정리하고 공유하고자 이번 포스트를 작성합니다. 이 문서에 클러스터링 구성방법은 없으며, 옵션설정만 있음을 참고 바랍니다. 우리가 하고자 하였던 것 http://blogs.technet.com/b/vipulshah/archive/2009/06/17/failover-cluster-testing-methods.aspx 위의 내용에서 나오는 SQL 부분에 관하여, 테스트 하고자 하였습니다. 이곳에 우리는 "SQL Server Service 의 정지 시 정상적으로 넘어가는 가? "를 보고 싶었습니다. 1.2.1 SQL Server Servi..
SQL Server(MSSQL) Clustering Test클러스터링 테스트를 진행 할때 몇가지 테스트를 시나리오를 토대로 테스트를 진행하였는데, 생각처럼 되지 않아서 난항을 겪었습니다.그래서 이번에 테스트를 진행하면서 많은 어려움을 정리하고 공유하고자 이번 포스트를 작성합니다. 이 문서에 클러스터링 구성방법은 없으며, 옵션설정만 있음을 참고 바랍니다. 우리가 하고자 하였던 것 http://blogs.technet.com/b/vipulshah/archive/2009/06/17/failover-cluster-testing-methods.aspx 위의 내용에서 나오는 SQL 부분에 관하여, 테스트 하고자 하였습니다. 이곳에 우리는 "SQL Server Service 의 정지 시 정상적으로 넘어가는 가? "를 보고 싶었습니다. 1.2.1 SQL Server Servi..
2016.01.12 -
성능 튜닝을 하면서 처음보는 그래픽 실행계획을 봤습니다. NL조인 실행계획에 X표시가 떠있었습니다. " 조인 조건자 없음" 이라는 설명과 함께 이건 뭐지? 라는 생각이 이승연(전 MSSQL MVP)님에게 물어봤더니 좋은 답변을 얻어서 정리하였습니다.해당 내용에 도움을 주신 이승연님 대단히 감사드립니다. 우선 해당 실행계획을 보면 다음과 같습니다. 처음에 튜닝 할 당시에 이게 뭐하는 실행계획인지 잘 몰랐습니다. 조인 시에 Miss? / 인덱스 오류? 이런 저런 생각을 하였는데 정말 이유는 간단했습니다. 조인의 조건자가 정말 없습니다. 그런데 상식적으로 조인을 걸고 ON 절을 해주지 않으면 조인이 안되지 않나? 이런 생각을 했는데... 잘 됩니다. 음...없다기 보다는 같은걸 2번 쓰거나 엉뚱한(?)것을 입..
조인 조건자 없음성능 튜닝을 하면서 처음보는 그래픽 실행계획을 봤습니다. NL조인 실행계획에 X표시가 떠있었습니다. " 조인 조건자 없음" 이라는 설명과 함께 이건 뭐지? 라는 생각이 이승연(전 MSSQL MVP)님에게 물어봤더니 좋은 답변을 얻어서 정리하였습니다.해당 내용에 도움을 주신 이승연님 대단히 감사드립니다. 우선 해당 실행계획을 보면 다음과 같습니다. 처음에 튜닝 할 당시에 이게 뭐하는 실행계획인지 잘 몰랐습니다. 조인 시에 Miss? / 인덱스 오류? 이런 저런 생각을 하였는데 정말 이유는 간단했습니다. 조인의 조건자가 정말 없습니다. 그런데 상식적으로 조인을 걸고 ON 절을 해주지 않으면 조인이 안되지 않나? 이런 생각을 했는데... 잘 됩니다. 음...없다기 보다는 같은걸 2번 쓰거나 엉뚱한(?)것을 입..
2016.01.06 -
가끔 튜닝을 하고자 할때 인덱스를 생성해서 미리 어떻게 동작하는지 알고 싶을 때가 있습니다. 보통은 테스트서버 or 로컬(개인PC)에서 데이터를 마이그레이션 하거나 일부러 더미 데이터를 넣어두고, 인덱스를 생성하여, 어떻게 실행계획이 동작하는지 테스트를 합니다. 하지만 이 방법은 대단히 귀찮(?)습니다. 그래서 실제 서버에서 가상으로 인덱스를 만들어서, 실 데이터를 가지고 테스트를 진행 할 수 있는 방법을 소개하고자 합니다. 하지만 이 방법은 통계를 이용하기 때문에 100% 정확하지는 않습니다. 하지만 실제 서비스에서 바로 결과를 확인 가능하며, 빠르게 할 수 있다는 이점이 있습니다. 이 인덱스는 Hypothetical Indexes 라고 부르며, Hypothetical는 가상의라는 뜻으로 나타납니다. ..
가상 인덱스 (Hypothetical Indexes)가끔 튜닝을 하고자 할때 인덱스를 생성해서 미리 어떻게 동작하는지 알고 싶을 때가 있습니다. 보통은 테스트서버 or 로컬(개인PC)에서 데이터를 마이그레이션 하거나 일부러 더미 데이터를 넣어두고, 인덱스를 생성하여, 어떻게 실행계획이 동작하는지 테스트를 합니다. 하지만 이 방법은 대단히 귀찮(?)습니다. 그래서 실제 서버에서 가상으로 인덱스를 만들어서, 실 데이터를 가지고 테스트를 진행 할 수 있는 방법을 소개하고자 합니다. 하지만 이 방법은 통계를 이용하기 때문에 100% 정확하지는 않습니다. 하지만 실제 서비스에서 바로 결과를 확인 가능하며, 빠르게 할 수 있다는 이점이 있습니다. 이 인덱스는 Hypothetical Indexes 라고 부르며, Hypothetical는 가상의라는 뜻으로 나타납니다. ..
2015.12.30 -
클러스터링 구축 작업에서 발생한 NetFx3 라는 오류 메시지를 기반으로 문제를 해결 한 과정 및 원인에 대해서 포스팅 하였습니다.본 과정은 SQL Server 2012에서 클러스터링 구축시 발생하는 오류에 관련된 내용이며, 이 내용은 SQL Server 2012 에서만 발생하는 것으로 보여집니다. (개인적 생각임)해당 작업은 다수의 시스템 재부팅이 있으므로, Live 서버에서 진행이 불가능 할 수 있습니다. 물론 클러스터링을 구축하지 않은 상태에서 하고 있지 않으시겠지만 혹시나하는 마음에 미리 언급 드립니다. 작업 환경- OS : Windows Server 2012 R2 - DB : SQL Server 2012 작업 사항 - 2대의 서버를 클러터링으로 묶어서 구축 하는 작업 진행 작업 시 발생 한 문제..
SQL Server Clustering 설치 시 NetFx3 오류클러스터링 구축 작업에서 발생한 NetFx3 라는 오류 메시지를 기반으로 문제를 해결 한 과정 및 원인에 대해서 포스팅 하였습니다.본 과정은 SQL Server 2012에서 클러스터링 구축시 발생하는 오류에 관련된 내용이며, 이 내용은 SQL Server 2012 에서만 발생하는 것으로 보여집니다. (개인적 생각임)해당 작업은 다수의 시스템 재부팅이 있으므로, Live 서버에서 진행이 불가능 할 수 있습니다. 물론 클러스터링을 구축하지 않은 상태에서 하고 있지 않으시겠지만 혹시나하는 마음에 미리 언급 드립니다. 작업 환경- OS : Windows Server 2012 R2 - DB : SQL Server 2012 작업 사항 - 2대의 서버를 클러터링으로 묶어서 구축 하는 작업 진행 작업 시 발생 한 문제..
2015.12.29 -
원본 VDS Dynamic Provider 이벤트 ID 10 사용자 SYSTEM 수준 오류 내용 드라이버에서 알림을 저장하는 동안 공급자가 실패했습니다. 가상 디스크 서비스를 다시 시작해야 합니다. hr=80042505 원인 - VDS (Virtual Disk service) 의 작동이 중지 됨에 따라 해당 이벤트 로그가 발생 합니다.- 서비스에 지장이 없다고 합니다. (SE 팀의 의견) - VDS란? ( https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa381442(v=vs.85).aspx )- Windwos Server의 경우 2TB 이상의 Disk 파티션을 만들수가 없어서 VDS를 이용하여, 설정합니다. VDS는 2TB 이상의 파티션을 구성하기..
EventID : 10 / VDS Dynamic Provider / Error원본 VDS Dynamic Provider 이벤트 ID 10 사용자 SYSTEM 수준 오류 내용 드라이버에서 알림을 저장하는 동안 공급자가 실패했습니다. 가상 디스크 서비스를 다시 시작해야 합니다. hr=80042505 원인 - VDS (Virtual Disk service) 의 작동이 중지 됨에 따라 해당 이벤트 로그가 발생 합니다.- 서비스에 지장이 없다고 합니다. (SE 팀의 의견) - VDS란? ( https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa381442(v=vs.85).aspx )- Windwos Server의 경우 2TB 이상의 Disk 파티션을 만들수가 없어서 VDS를 이용하여, 설정합니다. VDS는 2TB 이상의 파티션을 구성하기..
2015.12.23 -
.Trc 파일을 합치는 경우가 거이 없어서, 이번에 꼭 필요하기에 테스트 한 내용을 정리하여 올립니다.일반적으로 트레이스 파일은 합치는 경우가 없는데 저 같은 경우 한번에 보기 위해서 이번에 합치는 작업을 하였습니다. pdf파일을 여시면 다음과 같은 식으로 문서화 되어있습니다. 감사합니다.
Trace 파일 통합.Trc 파일을 합치는 경우가 거이 없어서, 이번에 꼭 필요하기에 테스트 한 내용을 정리하여 올립니다.일반적으로 트레이스 파일은 합치는 경우가 없는데 저 같은 경우 한번에 보기 위해서 이번에 합치는 작업을 하였습니다. pdf파일을 여시면 다음과 같은 식으로 문서화 되어있습니다. 감사합니다.
2015.12.15 -
금일 점검작업 이후에 서비스를 정상적으로 오픈 한 이후에 백업이 계속 실패하여 확인 결과 계정 문제임을 발견하였습니다. ㉠장애발생 내용 : - SQL Server의 데이터베이스 Full / Transation 백업을 NAS서버에 받고 있음- 점검 작업으로 인한 서버 재부팅 이후에 백업이 실패 ㉡장애관려 로그 Windows Event Log - 로그 이름 : 응용 프로그램- 원본 : MSSQLSERVER- 이벤트 ID : 18204- 내용 BackupDiskFile::CreateMedia: 백업 장치 '네트워크 경로'이(가) create하지 못했습니다. 운영 체제 오류 = 1326(로그온 실패: 알 수 없는 사용자 이름이거나 암호가 틀립니다.). - 로그 이름 : 응용 프로그램- 원본 : MSSQLSERV..
계정문제로 인한 백업실패금일 점검작업 이후에 서비스를 정상적으로 오픈 한 이후에 백업이 계속 실패하여 확인 결과 계정 문제임을 발견하였습니다. ㉠장애발생 내용 : - SQL Server의 데이터베이스 Full / Transation 백업을 NAS서버에 받고 있음- 점검 작업으로 인한 서버 재부팅 이후에 백업이 실패 ㉡장애관려 로그 Windows Event Log - 로그 이름 : 응용 프로그램- 원본 : MSSQLSERVER- 이벤트 ID : 18204- 내용 BackupDiskFile::CreateMedia: 백업 장치 '네트워크 경로'이(가) create하지 못했습니다. 운영 체제 오류 = 1326(로그온 실패: 알 수 없는 사용자 이름이거나 암호가 틀립니다.). - 로그 이름 : 응용 프로그램- 원본 : MSSQLSERV..
2015.12.10 -
성능을 수집하기 위해서 사용되는 일반적인 도구인 SQL Server Profiler는 흔히 사용하는 도구입니다.하지만, Profiler 사용 시 예기치 못한 오류로 갑자기 종료되는 경우 Trace를 중지,종료 할 수 없어 당황하는 경우가 있습니다. 그래서 SSMS에서 쿼리를 이용하여 Trace를 조작하는 방법을 살펴 보겠습니다. 우선 Trace의 상태를 살펴보기 위해서 sys.trace를 이용 합니다. select * from sys.traces아래와 같은 결과가 sys.traces에 의해서 출력되며, 각각의 항목은 MSDN에 자세히 나와 있습니다. 항목 별 설명 (https://msdn.microsoft.com/ko-kr/library/ms178579(v=sql.120).aspx)열 이름데이터 형식설명..
Query를 이용한 Trace 조작성능을 수집하기 위해서 사용되는 일반적인 도구인 SQL Server Profiler는 흔히 사용하는 도구입니다.하지만, Profiler 사용 시 예기치 못한 오류로 갑자기 종료되는 경우 Trace를 중지,종료 할 수 없어 당황하는 경우가 있습니다. 그래서 SSMS에서 쿼리를 이용하여 Trace를 조작하는 방법을 살펴 보겠습니다. 우선 Trace의 상태를 살펴보기 위해서 sys.trace를 이용 합니다. select * from sys.traces아래와 같은 결과가 sys.traces에 의해서 출력되며, 각각의 항목은 MSDN에 자세히 나와 있습니다. 항목 별 설명 (https://msdn.microsoft.com/ko-kr/library/ms178579(v=sql.120).aspx)열 이름데이터 형식설명..
2015.12.07 -
DBA의 업무 중에 무엇하나 중요하지 않은 것이 없지만, 개인적으로 백업/복원은 가장 중요한 업무라고 생각 됩니다. 이번에 백업파일에 대한 이슈가 발생하면서 백업파일에 대한 확인을 꼭 해야하며, 백업 받은 파일을 주기적으로 복원하여, 복원에 문제가 없는지 확인해야 한다는 것을 느꼈습니다. 이슈는 다음과 같이 발생하였습니다. NAS장비로 백업을 하여 이 백업을 다시 2차 백업 서버로 옮기는 솔루션이 압축을 하는데, 이 솔루션이 압축을 하고 다시 가져와서 복원 하고자 할 때 압축된 .bak 파일의 압축을 정상적으로 풀지 못하여 문제가 발생 하였습니다. 모든 .bak 파일이 그런것은 아니고, 크기가 3GB 이상의 파일만 깨지는 것을 확인 하였습니다. 아무래도 솔루션 자체적으로 용량이 일정이상 크기 이상이라면 ..
Restore 에 대하여...DBA의 업무 중에 무엇하나 중요하지 않은 것이 없지만, 개인적으로 백업/복원은 가장 중요한 업무라고 생각 됩니다. 이번에 백업파일에 대한 이슈가 발생하면서 백업파일에 대한 확인을 꼭 해야하며, 백업 받은 파일을 주기적으로 복원하여, 복원에 문제가 없는지 확인해야 한다는 것을 느꼈습니다. 이슈는 다음과 같이 발생하였습니다. NAS장비로 백업을 하여 이 백업을 다시 2차 백업 서버로 옮기는 솔루션이 압축을 하는데, 이 솔루션이 압축을 하고 다시 가져와서 복원 하고자 할 때 압축된 .bak 파일의 압축을 정상적으로 풀지 못하여 문제가 발생 하였습니다. 모든 .bak 파일이 그런것은 아니고, 크기가 3GB 이상의 파일만 깨지는 것을 확인 하였습니다. 아무래도 솔루션 자체적으로 용량이 일정이상 크기 이상이라면 ..
2015.12.04 -
원본 RestartManager 이벤트 ID 10010 사용자 SYSTEM 수준 경고 내용 응용 프로그램 'W:\21b1ae053e4e964eeb31\x64\setup100.exe'(PID 15656)을(를) 다시 시작할 수 없습니다. 응용 프로그램 SID가 지휘자 SID와 일치하지 않습니다.. 원인 - SQL Server 설치 시 잘못 된 설치 파일을 설치하려고 시도 할 때 발생하였습니다. SQL Server 이외에 다른 응용프로그램도 발생 할 수 있을 것으로 보입니다. 해결 방법 - 정상적인 설치 프로그램으로 설치를 합니다.- 해당 오류에 대해서 당시 사용자가 설치파일을 잘못 가져온 것이므로, 크게 시스템에 지장이 없다고 판단하여, 해당 이벤트 로그는 무시 하였습니다. 참조https://technet..
Event : RestartManager / EventID : 10010원본 RestartManager 이벤트 ID 10010 사용자 SYSTEM 수준 경고 내용 응용 프로그램 'W:\21b1ae053e4e964eeb31\x64\setup100.exe'(PID 15656)을(를) 다시 시작할 수 없습니다. 응용 프로그램 SID가 지휘자 SID와 일치하지 않습니다.. 원인 - SQL Server 설치 시 잘못 된 설치 파일을 설치하려고 시도 할 때 발생하였습니다. SQL Server 이외에 다른 응용프로그램도 발생 할 수 있을 것으로 보입니다. 해결 방법 - 정상적인 설치 프로그램으로 설치를 합니다.- 해당 오류에 대해서 당시 사용자가 설치파일을 잘못 가져온 것이므로, 크게 시스템에 지장이 없다고 판단하여, 해당 이벤트 로그는 무시 하였습니다. 참조https://technet..
2015.12.04 -
백업을 받은 파일을 복원 시 다음과 같은 메시지가 발생 하면, SQL Server의 버전을 확인 해야 합니다. 에러 메시지 메시지 3241, 수준 16, 상태 13, 줄 1장치 'D:\TEST.BAK'의 미디어 패밀리 유형이 잘못되었습니다. SQL Server는 이 미디어 패밀리를 처리할 수 없습니다.메시지 3013, 수준 16, 상태 1, 줄 1RESTORE DATABASE이(가) 비정상적으로 종료됩니다. 이는 백업 파일을 받은 곳의 버전 또는 호환성 수준이 높고, 복원하고자 하는 서버의 버전 또는 호환성 수준이 낮을 경우에 발생 합니다.백업 파일을 받고, 복원시 확인 하는 'FILELISTONLY'에서도 다음과 같은 문제가 발생 합니다. restore filelistonly from disk = 'D..
메시지 3241, 수준 16, 상태 13백업을 받은 파일을 복원 시 다음과 같은 메시지가 발생 하면, SQL Server의 버전을 확인 해야 합니다. 에러 메시지 메시지 3241, 수준 16, 상태 13, 줄 1장치 'D:\TEST.BAK'의 미디어 패밀리 유형이 잘못되었습니다. SQL Server는 이 미디어 패밀리를 처리할 수 없습니다.메시지 3013, 수준 16, 상태 1, 줄 1RESTORE DATABASE이(가) 비정상적으로 종료됩니다. 이는 백업 파일을 받은 곳의 버전 또는 호환성 수준이 높고, 복원하고자 하는 서버의 버전 또는 호환성 수준이 낮을 경우에 발생 합니다.백업 파일을 받고, 복원시 확인 하는 'FILELISTONLY'에서도 다음과 같은 문제가 발생 합니다. restore filelistonly from disk = 'D..
2015.12.01 -
클러스터링으로 묶여있는 서버에서 Active 장비에서 Standby 장비로 넘기고 서버를 재부팅 하려는 과정에서 클러스터링이 넘어가지 않고, SQL Serve가 시작되지 않는 상황이 발생하여, 지인 분의 도움으로 해결하였습니다. 결론적으로 SSL 인증서 문제였으며, 인증서를 삭제함으로써 문제를 해결하였습니다. 해당 포스트는 그 과정을 상세히 설명하였습니다. 1. 장비 구성 및 버전 - 장비는 클러스터링으로 묶여 있으며, 두 서버 모두 SQL Server 2012 STD를 사용하고 있습니다. 2. 장애 당시 상황 ㉠ Node 1 장비(Active)의 Windows Update를 모두 하고 재부팅을 하고자 함㉡ Node 1 장비를 Standby 상태로 만들고, Node 2를 Active 로 만들어서 순차적으..
SSL 인증서 문제로 인한 SQL Server 시작 불가능클러스터링으로 묶여있는 서버에서 Active 장비에서 Standby 장비로 넘기고 서버를 재부팅 하려는 과정에서 클러스터링이 넘어가지 않고, SQL Serve가 시작되지 않는 상황이 발생하여, 지인 분의 도움으로 해결하였습니다. 결론적으로 SSL 인증서 문제였으며, 인증서를 삭제함으로써 문제를 해결하였습니다. 해당 포스트는 그 과정을 상세히 설명하였습니다. 1. 장비 구성 및 버전 - 장비는 클러스터링으로 묶여 있으며, 두 서버 모두 SQL Server 2012 STD를 사용하고 있습니다. 2. 장애 당시 상황 ㉠ Node 1 장비(Active)의 Windows Update를 모두 하고 재부팅을 하고자 함㉡ Node 1 장비를 Standby 상태로 만들고, Node 2를 Active 로 만들어서 순차적으..
2015.11.27 -
성능 Perfmon카운터 정리 문서 추가적으로 업데이트 합니다. 문서 보는 방법 1. - 으로 시작하는 부분은 항목에 대한 설명입니다.2. > 으로 시작 하는 부분은 임계치와 해결 방법을 나타냅니다.3. * 으로 시작 하는 부분은 항목에 대한 용어 및 부연 설명입니다.4. 문서의 내용은 어디까지나 서버의 스팩,용도에 따라 다릅니다. 이점을 유의 하시기 바랍니다. SQLServer:Access Methods\Forwarded Records/sec - http://yoonsy.tistory.com/8 (제거 방법)- 현재 운영중인 환경에서 얼마나 많은 Forward Pointer를 사용하여 데이터를 엑세스 하는지 확인하는 성능 카운터 입니다. * Forward Pointer란 Heap 테이블의 가변형 데이터..
SQL Server Perfmon Counter성능 Perfmon카운터 정리 문서 추가적으로 업데이트 합니다. 문서 보는 방법 1. - 으로 시작하는 부분은 항목에 대한 설명입니다.2. > 으로 시작 하는 부분은 임계치와 해결 방법을 나타냅니다.3. * 으로 시작 하는 부분은 항목에 대한 용어 및 부연 설명입니다.4. 문서의 내용은 어디까지나 서버의 스팩,용도에 따라 다릅니다. 이점을 유의 하시기 바랍니다. SQLServer:Access Methods\Forwarded Records/sec - http://yoonsy.tistory.com/8 (제거 방법)- 현재 운영중인 환경에서 얼마나 많은 Forward Pointer를 사용하여 데이터를 엑세스 하는지 확인하는 성능 카운터 입니다. * Forward Pointer란 Heap 테이블의 가변형 데이터..
2015.11.19 -
파라미터 스니핑에 대해서 지난 포스트에 작성하였습니다.지난 번에 이어서 파라미터 스니핑이 문제가 언제 발생하며, 해결은 어떻게 해야 하는지 공부하여, 정리한 포스트를 이번에 작성 합니다. Ⅰ. 파라미터 스니핑은 언제 성능에 영향을 주는가? 파라미터 스니핑이 문제가 되는 경우는 데이터의 분포가 적고 얼마 없는 데이터를 조회하면서 플랜A를 만들었는데, 데이터의 분포도가 많은 데이터를 조회할때 문제가 될 수 있습니다. 쉽게 이야기하면 회사에서 행사를 열었는데, 오는 사람마다 선물을 하나씩 준다고 가정합니다. 그런데, 생각보다 사람이 더 많이와서 줄 선물을 만들어서 바로바로줘야하는 경우죠. 그러니 느려질 수 밖에 없죠. 앞서 포스트에서 말했던 것 처럼 옵티마이저는 샘플링된 데이터를 보고 하기 때문에 우리가 예측..
Parameter Sniffing Trouble Shooting파라미터 스니핑에 대해서 지난 포스트에 작성하였습니다.지난 번에 이어서 파라미터 스니핑이 문제가 언제 발생하며, 해결은 어떻게 해야 하는지 공부하여, 정리한 포스트를 이번에 작성 합니다. Ⅰ. 파라미터 스니핑은 언제 성능에 영향을 주는가? 파라미터 스니핑이 문제가 되는 경우는 데이터의 분포가 적고 얼마 없는 데이터를 조회하면서 플랜A를 만들었는데, 데이터의 분포도가 많은 데이터를 조회할때 문제가 될 수 있습니다. 쉽게 이야기하면 회사에서 행사를 열었는데, 오는 사람마다 선물을 하나씩 준다고 가정합니다. 그런데, 생각보다 사람이 더 많이와서 줄 선물을 만들어서 바로바로줘야하는 경우죠. 그러니 느려질 수 밖에 없죠. 앞서 포스트에서 말했던 것 처럼 옵티마이저는 샘플링된 데이터를 보고 하기 때문에 우리가 예측..
2015.11.18 -
Parameter Sniffing(파라미터 스니핑)은 기존에 제가 알기론 성능에 나쁜 영향을 미치는 것으로 알고 있었습니다. 하지만 파라미터 스니핑은 SQL Server에서 대부분의 프로세스에서 성능을 향상 시킵니다. 이것은 단순한 용어이며, 파라미터 스니핑이 성능에 나쁜 영향을 주는 것은 아닙니다. 하지만 파라미터 스니핑에 의한 성능 문제 발생 시 엄청난 장애로 이어질 수 있습니다. (실제 30분 작업이 7시간이 걸려서 장애가 발생 한 적이 있습니다.) 파라미터 스니핑은 옵티마이저와 관련이 있습니다. 옵티마이저는 실행계획(Execution Plan)을 작성하기 위해서 통계 정보의 내용을 이용합니다. 그러므로 옵티마이저에 의해 생성된 실행 계획의 정확도는 통계 정보의 정확도와 통계를 생성하는데 사용된 데..
Parameter Sniffing에 관하여...Parameter Sniffing(파라미터 스니핑)은 기존에 제가 알기론 성능에 나쁜 영향을 미치는 것으로 알고 있었습니다. 하지만 파라미터 스니핑은 SQL Server에서 대부분의 프로세스에서 성능을 향상 시킵니다. 이것은 단순한 용어이며, 파라미터 스니핑이 성능에 나쁜 영향을 주는 것은 아닙니다. 하지만 파라미터 스니핑에 의한 성능 문제 발생 시 엄청난 장애로 이어질 수 있습니다. (실제 30분 작업이 7시간이 걸려서 장애가 발생 한 적이 있습니다.) 파라미터 스니핑은 옵티마이저와 관련이 있습니다. 옵티마이저는 실행계획(Execution Plan)을 작성하기 위해서 통계 정보의 내용을 이용합니다. 그러므로 옵티마이저에 의해 생성된 실행 계획의 정확도는 통계 정보의 정확도와 통계를 생성하는데 사용된 데..
2015.11.17