본문 바로가기

SQL Server

(5)
[Service Broker] 성능 최적화 - 150 Trick 이전 글의 소스를 유심히 살펴보셨다면 아래 테이블에서 [_150TrickEnableFlag] 컬럼이 어떤 역할을 하는지 알고 계실 것 같습니다. 123456-- Dialog Pool 설정 테이블 생성CREATE TABLE dbo.DialogPoolConfig ( _150TrickEnableFlag bit NOT NULL, DialogCount int NOT NULL);GOColored by Color Scriptercs [P_StartUp_CreateDialogs]의 내용은 아래와 같았죠. 12345678910111213141516171819202122232425262728293031CREATE PROCEDURE dbo.P_StartUp_CreateDialogsASSET NOCOUNT ON;SET XAC..
[Service Broker] 시작하며... 이런 저런 핑계를 대며 미루고 미뤘던 Service Broker - 이하 SSB라고 쓰겠습니다 - 에 대한 포스팅을 시작합니다. - MESSAGE TYPE - CONTRACT - QUEUE - SERVICE - ROUTE - ENDPOINT - REMOTE SERVICE BINDING SSB를 구성하는 개체들입니다만.. 각각의 역할과 각 개체 간의 상관 관계를 이해하기가 쉽지는 않더군요. 아마 MS SQL 구성 요소 중 가장 불친절한 친구 중 하나가 아닌가 싶습니다. 그럼에도 공부할 가치가 있는가? 네, 전 있다고 생각합니다. Service Broker 란? BOL을 보면 "메시징 및 큐", "서로 다른 데이터베이스 간에 통신", "데이터베이스 작업을 여러 데이터베이스에 분산" 이란 말이 나옵니다. SS..
SSMS에서 Ctrl-F, Ctrl-H 단축키가 동작하지 않을 때 어제 SSMS로 작업 중이었는데, 갑자기 Ctrl-F와 Ctrl-H 단축키가 먹통이 되었습니다. SSMS를 다시 시작해봐도 소용 없고 OS를 리부팅해도 소용 없더군요. 아.. 그 당황스러움이란.. ^^ 구글링을 조금 해보니 원인까지는 잘 모르겠지만 해결 방법은 찾을 수 있었습니다. 혹시 같은 문제를 겪고 계시다면 아래와 같이 해결할 수 있습니다. SSMS의 상단 메뉴 표시줄에서 Window 메뉴 > Reset Window Layout 클릭
server collation과 database collation을 한번에 바꾸기 - SQL Server 인스턴스에 있는 모든 Database를 백업 받습니다. - 디스크 공간이 충분히 남아 있는지 확인합니다. - Windows Server 2003이라면 command prompt, 2008이라면 admin command prompt를 엽니다. - 다음의 명령을 실행합니다. 단, collation을 변경할 인스턴스의 sqlservr.exe라야 합니다. sqlservr.exe -m -T4022 -T3659 -q"latin1_general_ci_as" 또는 sqlservr.exe -m -T4022 -T3659 -q"latin1_general_ci_as" -s 인스턴스이름
로그 DB 설계와 관리에 대한 컨셉 (슬라이딩 윈도우) 첫째, 로그를 DB에 적재하는 방법 1. 대량 로그이고 다음날 조회해도 되는 경우 => 로그를 파일로 쌓고, 필요한 것만 daily batch로 DB에 적재 2. 대량 로그이지만 실시간 조회가 필요한 경우 => 로그의 DB적재를 비동기 처리할 수 있는 미들웨어를 만듭니다. 3. 대량 로그가 아닌 경우 => Application Server에서 직접 DB에 INSERT 합니다. 둘째, DB에 적재한 로그 테이블의 용량을 관리하는 방법 1. 보통 슬라이딩 윈도우 기법을 사용합니다. A. 테이블을 일자 기준으로 파티셔닝하고, 기준 일자가 지난 데이터는 파티션을 스위치해서... 데이터를 다른 테이블로 옮기는 방식입니다 B. 이 방식을 사용하면 대량 데이터를 옮기는 동안에도 해당 테이블에 Lock이 걸리지 않습니..