본문 바로가기

DB/mssql

(37)
[MSSQL] oracle multi table column update to sql server -- base oracle UPDATE ( select cu.stat as stat , cs.sys_date as last_update_date , cu.user_id as user_id , cu.sys_date as update_date from table_1 cs , table_2 cu where cs.emp_sabun = cu.user_id ) SET STAT = 'N' , update_date = to_char(sysdate, 'yyyymmdd') where user_id IN ( select distinct expired_user from table_a where trunc(expired_date) = trunc(sysdate) and SYSTEM_NAME IN ('xxxxxx','yyyyyy'..
When meet timeout message in excuting alter table command. (alter table 명령 원격 쿼리 타임아웃) ALTER 대상 테이블의 DATA TYPE 변경 시 데이터가 많을 경우에는 의외로 실행 시간이 오래 걸리는 가끔 타임아웃이 걸려서 진땀나게 하는데요. EXEC sp_configure 'remote query timeout', 0; reconfigure; 원격쿼리 기본 타임아웃을 0을 무한으로 재설정합니다. SSMS 에서 DB에 설정할 수 있으나 재설정 시간이 너무 오래 걸리므로 쿼리로 실행 합니다. ALTER TABLE {{TABLE_NAME}} ALTER COLUMN {{COLUMN_NAME}} {{DATA_TYPE}}; ALTER 구문을 실행합니다. EXEC sp_configure 'remote query timeout', 600; reconfigure; 원격쿼리 기본 타임아웃으로 재설정합니다.
[mssql] sp명으로 정의 가져오기 SELECT OBJECT_NAME(object_id) AS sp_name, OBJECT_DEFINITION(object_id) AS sp_context FROM sys.procedures WHERE OBJECT_DEFINITION(object_id) like '%{0}%'
[mssql] 특정 문자열 포함 sp 명 반환 SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%{{문자열}}}%' AND ROUTINE_TYPE = 'PROCEDURE' order by ROUTINE_NAME
[mssql] 트랜잭션로그 백업하기(SSMS) 1. DB 탐색기 > 태스크 > 백업 2. 페이지 선택 > 일반 > 백업유형 > 트랜잭션로그 선택 3. 트랜잭션 로그 크기 줄이기트랜잭션로그 크기 줄이기
[mssql] 테이블 컬럼으로 DECLARE 문 만들기 USE {{DB NAME}}; SELECT 'DECLARE @Kr_' + COLUMN_NAME + ' ' + UPPER(DATA_TYPE) + ( CASE WHEN CHARACTER_MAXIMUM_LENGTH IS NOT NULL AND CHARACTER_MAXIMUM_LENGTH > 0 THEN '(' + CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR) + ')' ELSE '' END ) + ' = NULL' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{{TABLE NAME}}' 결과 DECLARE @Kr_address NVARCHAR(200) = NULL DECLARE @Kr_detailAddress NVARCHAR(200)..
[mssql][웹서비스호출] 구성 요소 'Ole Automation Procedures'이(가) SQL Server 보안 구성의 일부로 해제되었으므로 이 구성 요소의 프로시저 'sys.sp_OACreate'에 대한 액세스가 차단되었습니다. 시스템 관리.. 구성 요소 'Ole Automation Procedures'이(가) SQL Server 보안 구성의 일부로 해제되었으므로 이 구성 요소의 프로시저 'sys.sp_OACreate'에 대한 액세스가 차단되었습니다. 시스템 관리자는 sp_configure를 사용하여 'Ole Automation Procedures'의 사용을 활성화할 수 있습니다. 'Ole Automation Procedures' 활성화 방법은 SQL Server 온라인 설명서의 "노출 영역 구성"을 참조하십시오. 관련 문서 https://docs.microsoft.com/ko-kr/sql/relational-databases/system-stored-procedures/ole-automation-stored-procedures-transact..
[mssql] 특정 그룹의 첫번째만 가져올때 SELECT {{컬럼들}} FROM ( SELECT RANK() OVER(PARTITION BY {{그룹으로 묶을 키 컬럼}} ORDER BY {{그룹안에서 정렬할 컬럼}} ) AS rowNum , {{컬럼들}} FROM {{대상 테이블}} AS f WITH(NOLOCK, INDEX({{인덱스}})) WHERE {{조건들}} ) AS a WHERE a.rowNum = 1