DB에 주의 대상이라고 잠겨서 문제가 발생했을 때는 MASTER DB에서 아래 쿼리를 실행한다.
만약 다른 PC의 DB를 SQL 연결로 확인했을 때 해당 DB의 용량을 확인하는 방법은아래 쿼리를 실행하여 확인할 수 있다.SP_HELPDB DB명DB 이름, 경로, 용량등을 확인할 수 있다.
DB Lock Check
특정 테이블, 특정 쿼리를 찾을때
SELECT A.NAME AS 테이블명 , B.NAME AS 컬럼명 FROM SYS.TABLES A , SYS.COLUMNS B WHERE A.OBJECTID = B.OBJECTID AND B.NAME LIKE '%SEARCH_TEXT' AND A.NAME NOT LIKE '%[_]AT'
예를 들어 한 테이블에 정말 모든 컬럼이 동일한 데이터가 2개가 들어있는데 그 중 1개의 데이터만 수정해야 할 때는 아래 쿼리를 사용하여 SEQ를 주고 조건절에서 SEQ를 설정하여 조회하자 > select * -- begin tran delete x from (select testmasterid, rownumber() over (order by testm...
서버 통신시 > MSDTC를 사용할 수 없습니다. 라는 문구가 나오면 서비스에서 Distributed transaction 서비스를 껐다 킨다 서버, 클라이언트 방화벽 설정 및 PING 확인 MSDTC.EXE 방화벽 예외로 추가 [Windows Defender 방화벽 - Windows Defender 방화벽을 통해 앱 또는 기능 허용 - 다른앱허용 -...
왜나는거냐 니녀석
예를 들어 2023-03-10 00:00:00 데이터를 2021-05-58 14:57:21 로 수정해달라와 같은 요청이 있다면DATEADD(D, -X, '날짜')를 사용할 수 없고그렇다고 손으로 하기에는 1건이 아니라 여러건일 경우엔 DATEDIFF 함수를 사용하면 된
SQL 로그인 계정 비밀번호 변경 일시 확인 쿼리SELECT name --//이름 , LOGINPROPERTY ( name , 'IsExpired' ) AS IsExpired --//만료 상태 확인( 0 : 정상 ) , LOGINPROPERTY ( name , 'IsL
원격 데스크톱 연결시 CredSSP 암호화 오류창이 나타날 때가 있다.이 오류는 윈도우가 업데이트 되면서 보안이 강화되어 인증할때 오류가 발생한다.패키지 다운로드 주소 : https://www.catalog.update.microsoft.com/Search.a
SQL을 작성하는데 자꾸 한국어로 바뀔때가 있다여러번 반복되면 은근 거슬리고 짜증나는데 그럴땐 언어를 변경해주면 된다. (컴퓨터 다시시작해야함)옵션 > 국가별 설정 > 언어 : English
SQL 구성 관리자가 확인되지 않을 때는경로 : C:\\Windows\\SysWOW64 / SQLServerManager해당 경로에서 확인이 가능하다.
MSSQL에서 SMTP를 사용하여 메일을 발송할 수 있다. 관리에 데이터베이스 메일을 더블클릭 OR 우클릭 > 데이터베이스 메일 구성 SMTP 첫 셋팅이니 맨 위에를 선택 후 다음 프로필을 먼저 설정해야 하는데 프로필은 메일을 보내는 종류(?) 라고 해야 하나..
다시 돌아온 SMTP 메일 SEND 2
쿼리가 실행이 안될때는 우선적으로 1. DB LOCK 이 걸려있는지 확인 > SELECT GETDATE() AS SYSDATE , P.STATUS , P.LAST_BATCH , P.PROGRAM_NAME , P.HOSTNAME , P.SPID , 'DBCC INPUTBUFFER(' + CONVERT(VARCHAR, P.SPID) + ')'...
SQL에서 특정 테이블에 자주 실행되는 쿼리를 옵티마이저가 저장해놓고 쓰는데 이때 잘못된 쿼리를 옵티마이저가 저장할 경우 데이터 처리에 걸리는 시간이 오래걸릴 수 있다. 그래서 우선 쿼리를 잘 짜는게 중요하고 통계가 잘못되었을 경우 삭제하면 된다. 삭제는 쿼리를 통해서 지우는걸 추천한다. (가끔씩 그냥 삭제하려고 하면 안지워지는 경우 있음) > DRO...
MSSQL 제거 및 재설치 시 오류 해결
PC 사양별 RAM 크기에 따라 최대 메모리를 설정해야함 SQL은 메모리를 무자비하게 잡아먹기 때문에 서버가 먹통이 될 수 있어서 최대 메모리 설정해주는게 좋음
Identity가 있는 테이블에 identity 컬럼까지 포함해서 데이터를 insert 할 때는 > set identity_insert "table name" on insert into "table name"( column1 , column2 ) select column1 , column2 from "table name" set identity_i...
[ 테이블별 용량 확인 쿼리 ] > [ 테이블별 건수 확인 쿼리 ] >
그동안은 기존 DB 백업 -> 복원 하여 DB 세팅을 했으나.. 서버 PC가 그냥 다운되어 PC 실행이 안될 경우 DB를 복원하려면 잘 켜지는 PC에다가 기존PC 하드 갖다가 장착하고 DB를 복원하면됨 이때 mdf 파일을 통해 복원할 수 있음 > 1. 데이터베이스 > 연결(A) 선택 > 2. 추가 선택 후 mdf 파일을 선택하면 복원 끝
데이터를 처리하다보면 복원해야 할 때도 있는데 이때 제약조건 때문에 스트레스를 너무 받는다.. 그렇다고 관련 테이블에 데이터를 다 지워버릴 수는 없기에.. 간단하게 제약조건(FK)을 활성화/비활성화하여 데이터를 처리할 수 있다! > -- 비활성화 -- -- 활성화 --
SQL 실행하니 MSDTC를 사용할 수 없다는 오류 메시지가 나왔다. > 이때는 서비스 > Distributed Transaction Coordinator 가 꺼져있어서 그렇다! > 시작유형이 수동으로 되어있을 경우 PC를 재부팅하면 DTC가 실행이 안된다. 그렇기에 이런 문제가 생겼으면 시작유형을 변경해야 한다. > 우클릭 > 속성 > 시작유형 >...
분산 트랜잭션을 시작할 수 없으므로 요청한 작업을 수행할 수 없습니다. 와 같은 오류가 발생했을 때 확인해야 하는것은 총 2가지다. 이때 방화벽 설정이 되어있을 경우 2번도 필수 확인 > 1. 구성 요소 서비스 > 컴퓨터 > 내 컴퓨터 > Distributed Transaction > 로컬 DTC 속성 > 보안탭 (아래 이미지 확인)
getdate()를 substring으로 자르려고 하니까 오류가 난다.. 이건 getdate()는 datetime 형식인데 문자열로 자르려고 하느까 오류가 나는것임 > convert를 사용하여 string으로 만들면 substring을 사용할 수 있다
Visual Studio에서 디버깅을 통해 매개변수 값을 확인할 때 조건부를 통해 확인하는데 이때 매개변수가 여러개일 경우 해당 매개변수를 아래 코드를 통해 sql paramter로 쉽게 변환할 수 있다. >
MSSQL 특정 쿼리를 자동으로 실행해주는 스케줄러 생성 방법 SQL Server 에이전트 > 작업 > 우클릭 > 새 작업(N) 일반탭의 이름은 해당 스케쥴러의 이름을 입력해준다. 수정 시 편집을 눌러 수정할 수 있다. (이때 스크립트는 꼭 관리자 권한이 있는 SQL 계정으로만 생성이 가능하다.) 실행할 계획을 만들어 주기 위해 단계탭의 새로만들기를 ...