본문 바로가기

Database

시간 계산 등록된 작업 수행 시 Start_date과 End_date를 확인할 수 있습니다단순하게 (End_date-Start_date)하면 될꺼라고 생각이 들지만 그렇지 않습니다. 수행된 시간을 확인하기 위해서 아래와 같이 연산을 통해 초, 분, 시간 차이를 확인할 수 있습니다. -- 초 차이 확인SELECT ROUND((end_date-start_date)*24*60*60) FROM TBL; -- 분 차이 확인SELECT ROUND((end_date-start_date)*24*60) FROM TBL; -- 시간 차이 확인SELECT ROUND((end_date-start_date)*24) FROM TBL; 더보기
계정 속성 변경 실패 / URN OS설치 후 바로 DB설치 -> Hostname 변경 후 이런저런 작업을 하고 있었습니다 이런 히스토리를 모르고 담당자가 계정 속성을 변경하려고 하였더니'서버 수준의 URN 필터가 잘못되었습니다 ~~~~' 라는 에러 메시지가 발생했습니다. [원인]메타데이터가 이전 Old_Hoatname으로 저장되어져 있었기 때문입니다.sp_dropserver, sp_addserver 프로시저를 통해 메타데이터 변경해 주시기 바랍니다. 주의기본 인스턴스일때와 명명된 인스턴스일때 약간의 구문 차이가 있으니 참고해 주시기 바랍니다.[참고사이트]SQL Server의 독립 실행형 인스턴스를 호스팅하는 컴퓨터 이름 바꾸기https://docs.microsoft.com/ko-kr/sql/database-engine/install-w.. 더보기
시간 다루기 / TRUNC, NEXT_DAY, SYSDATE 등등 오라클 및 티베로 DB를 하다보면 JOB 등록 시 interval 설정이나, 시간과 관련된 쿼리문 작성 시 원하는 값을 얻기 위해서 시간을 잘 다루어야 합니다. [동작방식]JOB 등록시 내부 동작 방식을 잘 알아둬야 합니다. 그리고 티베로의 경우 비활성화된 JOB을 다시 활성화 하게 되면 JOB이 바로 수행되기 때문에 주의를 요합니다. (반드시 NEXT_DAY를 지정해 주시기 바랍니다. Next_DAY값은 작업이 수행되는 시점에 interval 값을 참조하여 계산되어 집니다. [핵심표현] 값/시/분/초 1/24 -- 1시 의미 예) 2/24 --2시1/24/60 or 1/1440 -- 1분을 의미 예) 60/24/60은 1시간을 의미1/24/60/60 or 1/86400 -- 1초를 의미 [다양한 예제].. 더보기
SA 패스워드 초기화 1. SQL Server 구성 관리자를 실행합니다. 2. SQL Server - 시작 매개 변수 이동하여 -m 시작 매개 변수를 추가해 주시기 바랍니다. (단일 사용자 모드로 시작)3. SQL Server 서비스를 재 시작해 주시기 바랍니다.4. 관리자 권한으로 커맨드 창을 실행해 주시기 바랍니다.5. Sqlcmd 명령어를 실행 한 후 아래와 같은 쿼리문을 타이핑 후 실행합니다. /* sa password change query */sp_password @old=null, @new='설정할 패스워드', @loginame='sa'6. 1-2번 스텝을 진행한 후 -m 시작 매개 변수를 제거해 주시기 바랍니다.7. SQL Server 서비스를 재 시작해 주시기 바랍니다. 8. SSMS 통해 정상 로그인 여부를.. 더보기
로그인 감사 설정 변경 보안상의 이유로 기본값인 [실패한 로그인만]이 아닌 [실패한 로그인과 성공한 로그인 모두] 남기는 설정이 필요한 경우가 있습니다.설정 값 변경 후 SQL Server 서비스 재 시작해야만 적용되므로 업무 시 참고해 주시기 바랍니다. 더보기
Pssdiag 수집 방법 [PSSDIAG 수집 방법] 1. 가용 공간이 충분한 드라이브를 선택한 후, PSSDIAG 폴더를 만듭니다. 2. PSSDIAG 폴더에 첨부된 파일을 저장한 후 확장자를 EXE로 변경합니다. 3. SQL Server가 클러스터 기반위에 설치되어져 있는 경우 PSSDiag.XML 을 열어 Machine name="SQLCluster_Network_Name"으로 수정, 명명된 인스턴스로 설치되어져 있을 경우 Machine name="hostname\instance_name"으로 변경 후 저장해 주시기 바랍니다. =>SQL Server Virtual Network Name 확인 방법 /* 기본, 명명된 인스턴스인지 확인하는 방법 */ 시작-실행-services.msc 실행 후 아래와 같이 MSSQLSERVER.. 더보기
시점복원 / 로그체인 풀 백업을 받고 그 다음에 트랜잭션 로그 백업을 받게 되면 이전 트랜잭션 로그 백업과의 로그체인이 끊어질까?라는 의문에서 아래와 같이 테스트를 해 보았습니다. /* 테스트 시나리오 */ 각각의 스텝을 시간 차를 두어 실행합니다. 문제가 있다는 가정하에 7번 스텝 바로 이전의 시점으로 돌아가려고 합니다. 데이터 입력 풀 백업 데이터 입력 데이터 입력 트랜잭션 로그 백업 데이터 입력 풀 백업 데이터 입력 트랜잭션 로그 백업 /* 테스트 전 사전 준비 SCRIPT */ CREATE DATABASE BED GO USE BED GO CREATE TABLE TBL1 (A INT) GO INSERT INTO TBL1 VALUES(1) GO --1차 FULLBACKUP BACKUP DATABASE BED TO DISK.. 더보기
SQL Server Native Client SQL Server Native Client는 SQL Server 2005에서 도입된 기술로, OLE DB 및 ODBC 모두에서 사용되는 독립 실행형 데이터 액세스 API(응용 프로그래밍 인터페이스)입니다 SQL Server Native Client는 OLE DB 또는 ODBC를 사용하여 SQL Server의 네이티브 데이터에 액세스하는 간단한 방법을 제공하도록 디자인되었습니다. 출처 - http://msdn.microsoft.com/ko-kr/library/ms130892.aspx 더보기
파일을 이용한 백업 및 복원 파일을 이용한 백업 및 복원이 가능할까요? 정답? 가능하다. [테스트 시나리오] 현재 테이블에는 1이라는 데이터만 있다.신규 데이터 2를 입력한다.SQL Server 서비스를 중지한다.파일(mdf, ldf)을 다른 곳으로 복사해 둔다.SQL Server 서비스를 시작한다.새로 추가한 데이터 2를 지운다.백업해 놓은 파일을 이용하여 복원을 해 보자SQL Server 서비스를 중지한다.백업한 파일(mdf, ldf)을 기존 파일 위치에 overwriting 한다.SQL Server 서비스를 시작한다.테이블을 조회하여 1,2 데이터가 있는지 확인한다. [참고사항]보통 백업 및 복원을 하기 위해서는 운영중인 서버와 모든 조건이 동일해야한다.(파일 저장 위치, SQL Server Version)Backup Data.. 더보기
패스워드 분실 / 로그인 불가 로그인 가능한 모든 계정에 대한 패스워드를 분실한 경우 아래와 같은 방법으로 장애 처리가 가능합니다. 1. SQL Server 구성 관리자 - SQL Server 속성 선택 후 시작 매개 변수에 -m 옵션을 추가합니다.2. SQL Server를 재 시작합니다.3. 커맨드 라인 창을 열고 sqlcmd를 타이핑 한 후 실행합니다.4. 아래와 같이 sysadmin 서버 역할을 가지는 로그인 계정을 생성합니다. 참고! 커맨드 라인에서 쿼리문을 실행하시기 위해서는 GO를 입력해야 합니다. 5. SQL Server 구성 관리자로 이동하여 1번 스텝에서 추가한 시작 매개 변수 -m을 제거 합니다.6. SQL Server를 재 시작합니다.7. SSMS를 통해 정상 로그인 되는지 확인합니다. [참고 사이트]sqlcmd .. 더보기