메모리 테이블 활용하기 -- 디스크내에 할당되는 실제 테이블이 아닌 프로시저에서 메모리에 사용하고 버려지는 휘발성 테이블 DECLARE @Table TABLE(IDX int identity(1,1), name VARCHAR(20), InsertDate DATETIME) INSERT INTO @TableVALUES ('사과', GETDATE()) SELECT * FROM @Table[출처] 메모리 테이블 활용하기|작성자 만쥬 DataBase/SQL Server 2017.09.20
테이블 필드 추가 ALTER TABLE 테이블명 ADD 필드명 필드타입 [NOT NULL] [default 값] 필드타입 = INT, VARCHAR(50) 등등[]안의 내용은 옵션, 생략해도 됨. NULL 허용 일 경우, 이미 데이터가 있는 Row의 필드값은 모두 NULL이 되기 때문에 데이터를 초기화 해주는 작업이 필요함[출처] 테이블 필드 추가|작성자 만쥬 DataBase/SQL Server 2017.09.20
테이블 필드명, 테이터타입 변경 1. 필드명 변경EXECUTE sp_rename N'dbo.테이블명.변경할필드명', N'변경될필드명', 'COLUMN' 2. 데이터타입 변경ALTER TABLE 테이블명 ALTER COLUMN 필드명 데이터타입 ※ 해당 필드가 인덱스 or 제약조건이 있다면 삭제 후 데이터 타입을 변경하고 다시 인덱스 or 제약조건을 생성해 주어야 한다.[출처] 테이블 필드명, 테이터타입 변경|작성자 만쥬 DataBase/SQL Server 2017.09.20
테이블에서 필드명 찾기 한 테이블에 필드 개수가 100개가 넘어가는 경우 육안으로 찾기가 쉽지 않기때문에 사용 하면 편하다.또한 필드의 풀네임이 헷갈릴때도 사용. SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '테이블명' AND column_name like '%필드명%'[출처] 테이블에서 필드명 찾기|작성자 만쥬 DataBase/SQL Server 2017.09.20
저장프로시저 내에 사용되는 필드, 내용, 문구 찾기 DB에서 특정 필드 또는 문구를 사용하는 저장프로시저의 이름을 검색함실무에서 알아두면 상당히 요긴하게 쓰임 SELECT disTinct A.NAME FROM dbo.sysobjects AS A JOIN dbo.syscomments AS B ON A.ID = B.ID WHERE B.TEXT LIKE '%검색할 내용%' ORDER BY Name[출처] DB에서 저장프로시저 내에 사용되는 필드, 내용, 문구 찾기|작성자 만쥬 DataBase/SQL Server 2017.09.20
테이블 정보 보기 필드명, 데이터타입, 데이터길이, NULL여부, 기본값을 보여준다. SELECT COLUMN_NAME, CASE WHEN DATA_TYPE in ('char', 'varchar') THEN UPPER(DATA_TYPE) + '(' + CONVERT(VARCHAR,CHARACTER_MAXIMUM_LENGTH) + ')' ELSE UPPER(DATA_TYPE) END DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, CASE WHEN IS_NULLABLE = 'YES' THEN 'NULL' ELSE 'NOT NULL' END NULL_YN, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '테이블명'[출처] 테이블 정보 보.. DataBase/SQL Server 2017.09.20
프로시저 정보 보기 프로시저 이름, 파라메터값, 파라메터 데이터타입 select b.name sp_name, a.name param, CASE a.system_type_id WHEN 175 THEN 'CHAR(' + CONVERT(VARCHAR, a.max_length) + ')' WHEN 167 THEN 'VARCHAR(' + CONVERT(VARCHAR, a.max_length) + ')' WHEN 56 THEN 'INT' WHEN 62 THEN 'FLOAT' WHEN 127 THEN 'BIGINT' WHEN 104 THEN 'BIT' WHEN 231 THEN 'NVARCHAR(' + CASE WHEN a.max_length = -1 THEN 'MAX' ELSE CONVERT(VARCHAR,a.max_length) EN.. DataBase/SQL Server 2017.09.20
프로시저의 CPU / IO 사용량 체크 -- CPU 사용량보기SELECT TOP 20 [Average CPU used] = total_worker_time / qs.execution_count ,[Total CPU used] = total_worker_time ,[Execution count] = qs.execution_count ,[Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2, (CASE WHEN qs.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) ,[Parent Quer.. DataBase/SQL Server 2017.09.20
최근 수정된 저장프로시저 검색 SELECT TOP 100 * FROM sys.objects WHERE TYPE = 'P' ORDER BY modify_date DESC[출처] 최근 수정된 저장프로시저 검색|작성자 만쥬 DataBase/SQL Server 2017.09.20
[MSDTC처리] 파트너 트랜잭션 관리자가 원격/네트워크 트랜잭션에 대한 지원을 할 수 없습니다. 서버 환경 구축을 완료하면 Main DB에서 Sub DB로 트랙잭션 처리시 오류가 발생하는데DTC서비스를 활성화 하고 MSSQL에서 Sub DB로의 연결된서버를 지정해주면 끝. 방화벽이 활성화 되어있다면 인바운드, 아웃바운드 규칙을 추가해줘야 하는데 시작 -> 관리도구 -> 고급보안이 포함된 Windows 방화벽 에서 135, 137포트를 추가. 내부 네트워크에서만 사용이라면 방화벽은 꺼도 무방하다. 1. DTC 설정 (Server 2008 기준)시작 -> 관리도구 -> 구성요소 서비스 -> 컴퓨터 -> 내컴퓨터 -> Distributed Transection Coordinator -> 로컬DTC -> 속성 -> 보안위와 같이 설정 한 후 적용을 누르면 MSDTC서비스를 재시작한다. 2. 연결된 서버 설.. DataBase 2017.09.20