MSSQL

    [MSSQL] 메시지 3702, 수준 16, 상태 3, 줄 1Cannot drop database "database name" because it is currently in use.

    [MSSQL] 메시지 3702, 수준 16, 상태 3, 줄 1Cannot drop database "database name" because it is currently in use.

    mssql 데이터 베이스를 삭제 하려고 하니 삭제가 되지 않고 오류가 난다. [에러내용] " 메시지 3702, 수준 16, 상태 3, 줄 1 Cannot drop database "ABC" because it is currently in use. " [발생원인] ABC 라는 데이터 베이스 삭제를 하려고 하니 삭제가 되지 않는다 [해결] 1. 해당 데이터베이스를 다른 세션에서 사용하고 있어 강제로 종료 하는 쿼리를 사용했다 USE master GO ALTER DATABASE 데이터베이스이름 SET OFFLINE WITH ROLLBACK IMMEDIATE GO 2. 데이터베이스 삭제 DROP DATABASE 데이터베이스이름

    [MSSQL] DB(Database) 전체 백업, 데이터베이스 Full BackUp

    [MSSQL] DB(Database) 전체 백업, 데이터베이스 Full BackUp

    DBA 기본 업무중에 하나는 데이터베이스(DB) 백업 이다 데이터베이스 (DB) 백업 을 자동으로 설정 해두지 않는다면 장애발생, 문제발생시에 대응이 어렵다 SSMS 유지관리계획 을 통해 자동으로 데이터베이스 전체 백업 설정 하도록 정리를 해볼까 한다. 1. [관리탭 OPEN] > [유지관리계획 클릭] 2. [유지관리계획 오른쪽마우스 클릭] > [유지관리계획마법사 클릭] 3. [유지관리계획마법사 시작] > [다음 클릭] 4. [계획 속성 선택] > [이름, 설명 작성] > [다음 클릭] 5. [데이터베이스백업 (전체) 선택] > [유지 관리 정리 태스크 선택] > [다음 클릭] 6. [데이터베이스 백업(전체)] > [다음 클릭] 7. [데이터베이스 백업 태스크 정의] > [데이터베이스 오른쪽 화살표 선택..

    [MSSQL] 데이터베이스 (DB) 백업 압축 설정

    [MSSQL] 데이터베이스 (DB) 백업 압축 설정

    운영 하는 DB 관리 중에 IDC 서버와 EC2 에서 운영 중인 DB들이 있다 모니터링 하다보니 디스크 공간이 부족하여 공간확보하기 위한 점검들을 하였다 공간 확보를 하기 위해 전체데이터 (FULL) 백업시 압축 설정을 하여 공간 확보 한 내용을 정리해보았다. [현상] DB SERVER 모니터링 하다보니 디스크 공간이 부족한 현상 발견 [확인] 전체 데이터베이스 자동 백업 시 백업 압축 설정 되지 않은 부분 확인 [해결] 1. [데이터베이스백업태스크] > [백업압축설정 확인] 2. [백업압축설정 확인] - 기본서버 설정 사용 : 백업 압축 기본값 서버 구성 옵션으로 설정 - 백업 압축 : 서버 수준 기본값에 관계 없이 백업을 압축 - 백업 압축 안함 : 서버 수준 기본값에 관계업싱 압축되지 않는 백업 3..

    [MSSQL] DB 접근 접속자 로그 조회

    [MSSQL] DB 접근 접속자 로그 조회

    현재 DB(데이터베이스) 에 누가 접근 했는지 확인 할때가 종종 있다. 예를 들면 강제로 KILL 을 해야 하는 경우 , 데이터베이스 정보 변경 , 데이터베이스 접속기록을 남기고자 할때 등의 경우다. 1. 쿼리 (Query) 실행 SELECTSP.SPID , SP.LOGINAME , SP.LOGIN_TIME , SP.LAST_BATCH , SP.PROGRAM_NAME , SP.CMD , SC.CLIENT_NET_ADDRESS FROMSYS.SYSPROCESSES SP INNER JOIN SYS.DM_EXEC_CONNECTIONS SC ON SP.SPID = SC.SESSION_ID 2. 결과 LOGINAME : 접속자명 LOGIN_TIME : 로그인 시간 LAST_BATCH : 마지막 실행시간 PROGR..

    [MSSQL] 프로파일러(Profiler) 실행 및 설정 쿼리 추적 사용법

    [MSSQL] 프로파일러(Profiler) 실행 및 설정 쿼리 추적 사용법

    시스템 운영 중 개발자들에게 자주 들어오는 질문 중 하나..!! " 사이트가 느려요..DB 에 이상 없는지 봐주세요 " 왜 어떤 액션을 했을때 느린건지, 이벤트는 진행 된게 있는지 등의 상세 상황은 말해주지 않는것인가...?! 이럴때 주로 사용하는 프로파일러 (SQL Profiler) ..!!! 프로파일러( Profiler) 란? 각종 이벤트를 추적, 수집 함으로써 SQL SERVER 최적화를 위해 사용되는 도구 실행 1. SSMS [도구] > [SQL Server Profiler 선택] 2. SQL Server Profiler 창 확인 3. [파일] > [새추적 클릭] 4. 추적 하고자 하는 데이터베이스에 로그인 5. 이벤트 선택 - 쿼리문 추적 진행할 경우 저장프로시저(Stored Procedures..

    [MSSQL] ALTER COLUMN 열 수정 안될 때

    [MSSQL] ALTER COLUMN 열 수정 안될 때

    테이블 컬럼을 삭제를 해야 해서 컬럼 삭제 쿼리를 실행했더니 오류가 나서 삭제가 안된다 해결 한 내용에 대해 정리 해보았다 [에러내용] " 메시지 5074, 수준 16, 상태 1, 줄 10 The object 'DF_' is dependent on column 'COLUMN NAME'. 메시지 4922, 수준 16, 상태 9, 줄 10 ALTER TABLE DROP COLUMN COLUMN NAME failed because one or more objects access this column. " [발생원인] 컬럼을 삭제하려고 하니 해당 열에 DEFAULT 제약조건이 걸려 있어 수정이 불가능 한 오류 가 났다 [해결] 1. 제약조건 확인 EXEC SP_HELP 테이블명 2. 제약조건 삭제 ALTER T..

    [MSSQL] SELECT * INTO vs INSERT INTO SELECT

    SELECT INTO SELECT INTO 는 원본 기준으로 대상테이블을 새롭게 생성할때 사용 대상테이블이 미리 생성되어 있지 않아도 데이터 복사및 구조를 그대로 사용 가능 SELECT * INTO 대상테이블 FROM 원본테이블 INSERT INTO 원본과 대상테이블이 모두 있을경우 INSERT INTO 사용 INSERT INTO 대상테이블 SELECT * FROM 원본테이블

    [MSSQL] BEGIN TRAN

    BEGIN TRAN은 왜 사용 하는가? MSSQL 은 AUTO_COMMIT이 기본 설정값으로 설정되어 있다. UPDATE, DELETE 시 잘못된 구문 사용으로 데이터 변동이 이루어 졌을때 되돌릴 수가 없다 BEGIN TRAN 사용 SELECT * FROM CUSTOMER WHERE WEBID='TEST' BEGIN TRAN -- 트랜잭션 시작 UPDATE CUSTOMER SET CUSTNM='테스트' SELECT * FROM CUSTOMER WHERE WEBID='TEST' ROLLBACK TRAN -- 되돌리기 COMMIT TRAN -- 트랜잭션 완료

    [MYSQL] DBeaver 데이터베이스(DB) 생성

    [MYSQL] DBeaver 데이터베이스(DB) 생성

    지난번 설치한 DB Tool DBeaver (디비버) 로 데이터베이스(database) 생성을 해보도록 하겠다. 쿼리로 데이터베이스를 생성 해도 되지만 쉽게 접근 가능한 디자인 툴이 있으니 디비버 툴로 데이터 베이스 생성을 해보았다. 참고 - DBeaver 설치 및 실행 [DBeaver] 설치 및 실행 (Window10) 회사에서 다양한 DBMS를 확장함에 따라 통합으로 사용하면서 좋은 무료 툴 (tool) 이 필요 했다. 주로 mssql , mysql 을 사용하고 있고 oracle도 확장 하는 상황이다 MYSQL은 HeidiSQL도 사용해 보고 Workbanch도 hotinme35.tistory.com - DBeaver 설치 후 데이터베이스 연결 [MYSQL] DBeaver 데이터베이스 연결 지난번 D..

    MSSQL 미러 주 서버 연결 끊김(데이터베이스 에 액세스할 수 없습니다. (ObjectExplorer)

    MSSQL 미러 주 서버 연결 끊김(데이터베이스 에 액세스할 수 없습니다. (ObjectExplorer)

    운영 중인 AWS SQL SERVER 데이터베이스 중 미러링 된 DB 서버가 있다 개발자에게 온 문의... "테스트 용 데이터 베이스를 구성했는데 접근이 안되요......" 알고 보니 프로젝트 개발 건으로 인해 주 DB 서버 기준으로 Amazon Machine Image(AMI)를 활용하여 동일한 DB 서버가 구성되어 있는 상황이었다. 왜 문의하지 않고.. 수습하게만 하는 것인가... 항상 의문이다... 한마디로 미러링 된 주 서버를 복사해서 IP만 다른 DB 서버를 구성한 거다.. 확인하기 위해 기존 계정 정보로 접근하니 "데이터베이스 A에 액세스 할 수 없습니다. (ObjectExplorer)" 라고 나온다. 미러링 참고 [MSSQL] Database Mirroring 구축 미러링이란? 데이터베이스의..