2018/12

MS SQL 에서 문서화 되어있지는 않지만, 페이지의 내용을 확인할 수 있는 DBCC PAGE 를 제공합니다. DBCC PAGE 의 명령문 구문DBCC PAGE(DB 이름, 파일 번호, 페이지 번호, 옵션)옵션에는 다음과 같은 것이 있습니다.0 : 헤더만1 : 행 단위2 : 페이지 단위3 : 행 그리고 컬럼 값 (대부분 이 옵션을 사용) 파일 번호와 페이지 번호는 아래 방식으로 찾을 수 있습니다. 한 예를 들어보겠습니다.1. text 컬럼을 가진 TEX 테이블을 생성합니다.CREATE TABLE TEX(C1 CHAR(5), C2 TEXT); INSERT INTO TEX VALUES('AAAAA', REPLICATE('ABCDE', 50));2. SYSINDEXES 테이블의 FIRST 컬럼을 조회하여 파일..
MS-SQL 을 구동, 종료, 재구동 하는 방법에 대해 알아봅니다. 시작에서 구성관리자는 검색하여 SQL Server 구성 관리자 창을 엽니다. 2. SQL Server 서비스에서 SQL Server(서버명칭)이 검색됩니다. 해당 서비스는 실행 중이며 MS-SQL 이 구동되고 있다는 의미입니다. 3. 해당 서비스에서 우클릭을 해보면 시작 / 중지 / 다시 시작 등이 있습니다. 4. 중지를 눌러 MS-SQL 서비스를 종료시킵니다. 5. SQL Server Management Studio (SSMS) 에서 접속을 시도하는 경우 서버가 내려가 있기 때문에 연결이 되지 않습니다. 6. MS-SQL 을 다시 구동하려는 경우 마찬가지로 우클릭 후 시작을 선택합니다.
MS-SQL 의 시스템 함수에 대해 알아봅니다. 예를들어 현재 사용자 세션의 ID 가 알고싶은 경우 spid 의 함수를 사용하면 됩니다. 시스템 함수 사용은 앞에 @@ 를 붙여주면 됩니다. 이외에도 다양한 시스템 함수들이 있습니다. 몇 개만 좀더 알아보겠습니다. 시스템 함수(앞에 @@붙이기) 설명 CONNECTIONS SQL Server가 마지막으로 실행된 후의 사용자가 연결을 시도한 회수 CPU_BUSY SQL Server가 마지막으로 실행된 후의 CPU 작업 시간을 밀리 초 단위로 반환 ERROR 최근에 실행된 T-SQL 문의 오류 개수를 반환 오류가 없으면 0을 반환 오류가 있는 경우 sys.messages.message_id 열의 값이 포함되며, sys.messages 에서 오류번호와 연결된 텍스..
MS-SQL 의 시스템 프로시저에 대해 알아봅니다. sp_helpdb 는 SQL Server 의 데이터베이스에 관한 정보를 보여줍니다. sp_helpdb 설명 name 데이터베이스 이름 db_size 데이터베이스의 총 크기 owner sa와 같은 데이터베이스 소유자 dbid 데이터베이스 ID created 데이터베이스가 만들어진 날짜 status 현재 데이터베이스에 설정된 데이터베이스의 옵션 compatibility_level 데이터베이스 호환성 수준 sp_helpdb 뒤에 데이터베이스 명을 입력하면 해당 데이터베이스에 대한 자세한 정보를 확인할 수 있습니다. sp_helpdb 설명 name 논리적 파일 이름 fileid 파일의 ID filename 운영체제 파일 이름(물리적 파일 이름) filegrou..
MS-SQL 의 시스템 프로시저에 대해 알아봅니다. sp_statistics 는 테이블에 관한 인덱스 및 통계 목록을 보여줍니다. sp_statistics 설명 TABLE_QUALIFIER 테이블 한정자 이름 TABLE_OWNER 테이블 소유자 이름 TABLE_NAME 테이블 이름 NON_UNIQUE NOT NULL 을 의미합니다. 0 : 고유함 1 : 고유하지 않음 INDEX_QUALIFIER NON_UNIQUE 가 NULL 이 아닌 경우, TABLE_NAME 컬럼과 항상 동일한 값을 가짐 INDEX_NAME 인덱스 이름 TYPE 0 : 테이블에 대한 통계 1 : 클러스터형 2 : 해시됨 3 : 비클러스터형 SEQ_IN_INDEX NON_UNIQUE 가 NULL 이 아닌 경우, 인덱스 내의 열 위치 C..
MS-SQL 시스템 프로시저에 대해 알아봅니다. sp_spaceused 는 데이터베이스 또는 테이블의 각종 공간 사용 정보를 보여줍니다. sp_spaceused 설명 database_name 현재 데이터베이스 이름 database_size 현재 데이터베이스의 크기. database_size 데이터와 로그 파일이 포함 unaloocated_space 데이터베이스 개체용으로 예약되지 않은 데이터베이스의 공간 reserved 데이터베이스의 개체에 의해 할당된 총 공간 data 데이터가 사용하는 총 공간 index_size 인덱스가 사용하는 총 공간 unused 데이터베이스의 개체에 예약되었지만 아직 사용되지 않은 총 공간 sp_spaceused 뒤에 객체 명을 붙여 해당 객체 명을 상세히도 볼 수 있습니다.예..
MS-SQL 의 시스템 프로시저에 대해 알아봅니다. sp_monitor 는 SQL Serever 의 서버 작업량 통계를 보여줍니다. sp_monitor 설명 last_run sp_monitor 를 마지막으로 실행한 시간 current_run sp_monitor 를 이번에 실행한 시간 seconds sp_monitor 를 마지막으로 실행한 시간과 이번에 실행한 시간의 차이 초 cpu_busy 서버 컴퓨터의 CPU 가 SQL Server 작업을 수행한 시간 초 io_busy SQL Server 에서 입력 및 출력 작업을 수행하는데 걸린 시간 초 idle SQL Server 가 유휴 상태에 있던 시간 초 packets_received SQL Server 에서 읽은 입력 패킷 수 packets_sent SQL ..
MS-SQL 의 시스템 프로시저에 대해 알아봅니다. sp_lock 은 현재 잠금에 대한 정보를 보고합니다. sp_lock : 모든 잠근 나열에 대한 정보 출력 sp_lock 53 : SPID 가 53에 대한 잠금을 포함한 정보를 출력 sp_lock 의 정보를 보기위해서 락을 발생시킵니다. 1. SSMS 창에서 BEGIN TRAN 을 사용하여 트랜잭션을 발생시킵니다. 2. 다른 SSMS 창(다른 세션)에서 트랜잭션이 걸린 테이블에 대한 데이터를 조회합니다.WITH(NO LOCK) 을 사용하지 않았기 때문에 락이 발생합니다. 3. EXEC sp_lock 을 수행하여, 락에 대해서 조회합니다. sp_lock 설명 spid 잠금을 요청하는 프로세스의 데이터베이스 엔진 세션 ID SELECT @@SPID 로 확인..
MS-SQL 의 시스템 프로시저에 대해 알아봅니다. sp_who 는 현재 사용자, 세션 및 인스턴스의 프로세스 정보를 제공합니다.sp_who 프로시저는 인자를 받아 필터를 설정할 수도 있습니다. sp_who 프로시저를 실행한 모습입니다.해당 프로세스는 아래처럼도 사용이 가능합니다. sp_who : 현재 프로세스 모두 나열 sp_who 'sh' : 로그인 이름으로 현재 사용자에 대한 정보를 나열 sp_who 'active' : 활성 프로세스를 모두 나열 sp_who '10' : 세션 ID 가 10인 사용자에 대한 정보를 나열 sp_who2 프로시저를 실행한 모습입니다.sp_who 에 비해서 좀 더 디테일한 정보를 확인할 수 있습니다. sp_who sp_who2 설명 spid SPID 세션 ID ecid 특..
클라이언트에서 통계를 표시하는 방법입니다. 클라이언트 통계 포함의 버튼을 누른 뒤 해당 쿼리를 실행하면,클라이언트 통계 탭이 추가되고 여기에서 각종 클라이언트 관련 통계들이 표시됩니다.
꽁담
'2018/12 글 목록