DBMS/MSSQL

    MSSQL 다시 만들 수 없는 테이블을 변경했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함] 옵션을 설정했습니다 해결방법

    MSSQL 다시 만들 수 없는 테이블을 변경했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함] 옵션을 설정했습니다 해결방법

    [에러내용] [해결] - 도구 > 옵션 > 디자이너 > 테이블 및 데이터베이스 디자이너 선택 - 테이블을 다시 만들어야 하는 변경 내용 저장 안 함 체크 해제

    [MS-SQL] 저장 프로시저 내용 검색·조회하는 방법 총정리 (MSSQL 실무용)

    간혹 프로시저에서 다른 프로시저 호출 되는 SP 로 검색 해야 하는 경우가 있다프로시저 검색 방법에 대해 알아보기로 했다프로시저 명칭 조회SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%SP명%'AND ROUTINE_TYPE='PROCEDURE'order by ROUTINE_NAME

    [MS-SQL] REPLACE로 특정 문자열 일괄 업데이트 하는 가장 쉬운 방법

    REPLACE 란?REPLACE() 함수는 문자열중 조건에 맞는 문자열을 다른 문자열로 변경하여 리턴하는 함수 REPLACE 사용방법 REPLACE([컬럼명], '[변경할 문자열 패턴]', '[새로운 문자열]') 데이터 일괄 업데이트 쿼리BEGIN TRANSACTION;SELECT *FROM [테이블] WHERE 대상컬럼 LIKE '%변경할 문자열%'UPDATE [테이블] SET 대상컬럼 = REPLACE(대상컬럼, '변경할 문자열', '새로운 문자열')WHERE 대상컬럼 LIKE '%변경할 문자열%' SELECT *FROM [테이블] WHERE 대상컬럼 LIKE '%새로운 문자열%' ;ROLLBACK;-- COMMIT;

    [MS-SQL] 날짜 형식 포맷(CONVERT) 쉽게 정리한 가이드

    CONVERT - 데이터 형식을 변환하기 위해 사용됨 - 날짜와 시간 데이터 형식을 변환하는데 자주 사용되고 다양한 날짜 및 시간 형식을 지원함CONVERT(date_type, expression, style)date_type : 변환하려는 데이터의 형식expression : 실제 데이터 값style : 변환할 날짜 및 시간형식 MSSQL 날짜 변환표 번호쿼리 결과코드 0 CONVERT(CHAR(19), DATETIME, 0) 01 02 2000 1:14PM MM DD YYYY H:MM 1 CONVERT(CHAR(10), DATETIME, 1) 01/02/2000 MM/DD/YYYY 2 CONVERT(CHAR(8), DATETIME, 2) 00.01.02 YY.MM.DD 3 CONVERT(CHAR(8)..

    [MSSQL] LDF 파일 없이 MDF 로만 DB 복원 방법

    /**[LDF 파일 없이 MDF 로만 DB 복원 방법 쿼리]*********************CREATE DATABASE [DB명]ON (FILENAME='[경로명')FOR ATTACH_FORCE_REBUILD_LOGATTACH_FORCE_REBUILD_LOG = 로그파일을 강제로 재생성하는 구문**************************************************************/

    [MSSQL] 로그인 히스토리 쿼리

    MSSQL 에서 로그인 히스토리를 추적 하는 쿼리 2가지 확인이 되어 정리 해 볼까 한다.1. 보안 - 감사를 통한 히스토리 SELECT TOP 2000 Audit.EVENT_TIME , Audit.ACTION_ID , Audit.SUCCEEDED -- 1 - TRUE(성공), 0 - FALSE (실패) , Audit.SERVER_PRINCIPAL_NAME --서버 보안 주체 이름 , Audit.SERVER_PRINCIPAL_SID --서버 보안 주체 SID , Audit.STATEMENT , Audit.FILE_NAMEFROM sys.fn_get_audit_file ('\\*',default,default) Audit INNER JOIN (SELECT DISTINCT..

    [MSSQL] 로그온 트리거 (Login Trigger)

    SQL 접속시 언제 누가 로그온 했는지 기록을 남겨야 했다간단하게 Login Trigger 를 사용하여 DB 에 기록을 남겨보도록 하겠다1. 접속 기록을 보관할 테이블 생성 USE DatabaseNameCREATE TABLE [dbo].[TableName]( [SessionId] [INT] NULL, [SID] [VARCHAR](50) NULL, [LogonTime] [DATETIME] NULL, [ProgramName] [VARCHAR](50) NULL, [HostName] [VARCHAR](50) NULL, [ClientHost] [VARCHAR](50) NULL, [LoginName] [VARCHAR](50) NULL, [EventType] [VARCHAR](10) NULL, [ServerName]..

    [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] index 리빌드 - 인덱스 다시 구성

    [MSSQL] index 리빌드 - 인덱스 다시 구성

    운영하던 DB에 특정 쿼리 속도가 나오지 않는다... 쿼리 튜닝도 이슈 없어 보이고 인덱스 (INDEX) 도 확인했더니 이상이 없어 보인다 마지막 방법.. index 리빌드 진행 하기 !! [원인] - 지속적인 데이터 변경 작업에 따라 반복되는 페이지 분할의 문제로 인해 인덱스 조각화가 발생 - 해당 원인으로 성능 저하가 되며 인덱스 조각모음을 통해 다시 작성 해서 조각화를 제거 한다 [확인] - 인덱스 리빌드 대상을 확인 SELECT DB_NAME() AS 'DatabaseName' , OBJECT_NAME(S.OBJECT_ID) AS 'TableName' , I.NAME AS 'IndexName' , ROUND(AVG_FRAGMENTATION_IN_PERCENT, 2) AS 'AVGT %' FROM ..

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

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

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