SQL Server Management Studio (SSMS) 에서 실행을 위해 F5 단축키를 누르면 영어 자판이 자동전환되어 한글로 뿅 하고 바뀌게 됩니다.이를 해결하는 방법을 하려 합니다. 다른 많은 블로거들이 포스팅 해 놓은 어디에 들어가서 어느 창에서 영어로 바꾸면 된다.네 그것도 맞습니다. 다만, 저는 그렇게 할 필요 없이 SSMS 창을 키고 에디터를 열 때 이미 해당 내용을 적용시켜보고자 합니다.(따라서 이 방법이 아닌 다른 방법을 알고싶으신 경우 다른 블로그를 참고해주세요^^) 혹시, 새 쿼리 창을 열 때 자판이 한글로 되어있는지 확인해 보셨나요?너무 무의식적으로 에디터 창을 열었기 때문에 기억이 안나시는 분들이 대다수일 거라고 생각합니다. 그럼 본론으로 들어가 해결방법을 설명드리겠습니다...
SQL Server
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 특..