달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

SQL Server 2005 Clustering on Windows Server 2003

1. 클러스터 서비스를 위한 도메인 계정 생성
2. 네트워크 설정
2-1. Public 및 Private IP 주소 할당
2-2. 네트워크 바인딩 순서를 Public을 우선으로 설정
2-3. 인터넷 프로토콜(TCP/IP)를 제외한 모든 구성 요소 체크 해제
2-4. Private 네트워크의 NetBIOS over TCP/IP 기능 해제
2-5. DNS 동적 업데이트 기능 해제
3. 첫 번째 노드에 클러스터 디스크 할당
(ex. 쿼럼(512MB:Q), SQL 데이터(20GB:S), MSDTC(512MB:M))
4. 첫 번째 노드 시스템 종료 후 두 번째 노드에 동일하게 구성
4-1. 드라이브 문자 및 경로 변경
5. 첫 번째 노드 전원 On
6. 각 노드에 DTC, COM+ 설치
(응용 프로그램 서버 > 네트워크 COM+ 액세스 사용, 네트워크 DTC 액세스 사용)
7. 클러스터 생성 (Cluadmin)
7-1. 첫 번째 노드 입력
7-2. 클러스터 IP 입력
7-3. 클러스터 서비스 계정 입력
7-4. 쿼럼 디스크(Q) 설정
7-5. 두 번째 노드 추가
8. 클러스터 네트워크 설정
8-1. Private 네트워크를 '내부 클러스터 통신에만 사용' 설정
8-2. 클러스터 속성 > 네트워크 우선 순위 > Private 우선
9. MSDTC 설정
9-1. MSDTC 그룹 > 새로 만들기 > 리소스 > MSDTC IP 주소, 리소스 종류: IP 주소
9-2. IP 입력, 네트워크: Public
9-3. MSDTC 그룹 > 새로 만들기 > 리소스 > MSDTC 네트워크 이름, 리소스 종류: 네트워크 이름
9-4. MSDTC IP 주소 종속성 추가
9-5. 네트워크 이름 입력, DNS 등록 필수 체크
9-6. MSDTC 그룹 > 새로 만들기 > 리소스 > MSDTC, 리소스 종류: 분산 트랜잭션 코디네이터
9-7. 디스크(M), MSDTC 네트워크 이름 종속성 추가
9-8. 구성 요소 서비스 콘솔 실행(DCOMCNFG)
9-9. 내 컴퓨터 > 속성 > MSDTC > 보안 구성 > 네트워크 DTC 액세스, 원격 클라이언트 허용, 원격 관리 허용, 인바운드 허용, 아웃바운드 허용, 인증 필요 없음, XA 트랜잭션 사용
10. MSDTC 그룹 이동 테스트
11. SQL Server 2005 설치
11-1. SQL Server Database Services, Create a SQL Server failover cluster 체크
11-2. Workstation components, Books Online.... 은 각 노드별로 설치 필요
11-3. 가상 서버 이름 입력,  IP 주소 입력
11-4. SQL 클러스터 그룹 선택
11-5. 두 번째 노드 추가
11-6. 설치 경로 입력, 클러스터 계정 입력, 도메인 그룹 입력
11-7. 설치 진행
12. 서비스팩, 업데이트 롤업 등은 한 노드에만 설치하면 양 노드에 모두 적용됨

:
Posted by 커널64

정의

- 클러스터 이름: VCLUSTER

- 클러스터 노드: SQLNode1, SQLNode2

- 가상 SQL 서버 이름: SQLCLUSTERA

- 도메인 이름: VDOMAIN

 

SQLNode1의 하드웨어에 문제가 생겨 재설치가 필요한 상황을 가정

1.     클러스터 관리 도구에서 SQLNode1을 제거(Evict)

2.     SQLNode1의 운영체제 재설치 후 네트워크 설정(Public, Private)

-       DNS 서버에서 IP 정보가 반영되었는지 확인

3.     서버의 이름을 SQLNode1으로 변경 후 도메인 가입

4.     SQLNode2의 전원을 종료하고 SQLNode1을 재시작한다. SQLNode2의 전원을 종료해야 하는 이유는 공유 SCSI 디스크의 소유권을 SQLNode1이 가지게끔 하기 위해서이다.

-       소유권을 가져오면 쿼럼 디스크와 공유 디스크의 드라이브 문자를 설정한다.

5.     SQLNode2에 보이는 것과 동일하게 SQLNode1의 그룹에 필요한 로그인 정보를 추가한다.

6.     SQLNode2의 전원을 켠 후 SQLNode2를 클러스터에 가입시킨다.

7.     테스트를 위해 ‘Cluster Group’의 장애 조치를 해 본다.

-       ‘Cluster Group’에 마우스 우클릭 후 ‘Move Group’을 통해 양 노드로 테스트한다.

8.     SQLNode1 SQL Cluster ‘SQLCLUSTERA’에 추가한다.

-       SQLNode2 SQL Server 2000 Enterprise 설치 미디어를 넣고 실행한다.

-       Computer Name 페이지에서 Virtual Server를 선택하고 SQLCLUSTERA를 입력한다.

-       Advanced Options를 선택한다.

-       Maintain a Virtual Server for Failover Clustering을 선택한다.

-       Failover Clustering 페이지에서 다음을 클릭한다. (IP 정보 변경이 없는 경우)

-       Cluster Management 페이지에서 SQLNODE1을 선택하고 추가한다.

-       Remote Information 페이지에서 Cluster 계정 정보를 입력하고 다음을 클릭한다.

-       진행 화면이 나타난 후 완료 메시지를 확인하고 완료를 클릭한다.

9.     필요한 서비스팩을 다운 받아 설치한다.

10.   SQL Cluster Group Failover를 테스트해 본다.

:
Posted by 커널64

select DB_NAME(a.database_id) as DBName,
a.File_ID,
b.name,
a.IO_Stall,
a.Num_Of_Reads, a.Num_Of_Writes,
a.Num_Of_Bytes_Read, a.Num_Of_Bytes_Written
from sys.dm_io_virtual_file_stats(null, null) a
inner join sys.master_files b on a.database_id = b.database_id and a.file_id = b.file_id

결과에서 io_stall 값이 매우 높다면 I/O로 인한 성능 문제가 있을 수 있음

열 이름  데이터 형식  설명 
database_id smallint 데이터베이스 ID
file_id smallint 파일 ID
sample_ms int SQL Server 인스턴스를 시작한 이후 경과한 시간(밀리초)
num_of_reads bigint 파일에 대해 읽기가 실행된 횟수
num_of_bytes_read bigint 파일에 대해 실행된 읽기의 총 바이트 수
io_stall_read_ms bigint 사용자가 파일에 대한 읽기가 실행될 때까지 대기한 총 시간(밀리초)
num_of_writes bigint 파일에 대해 쓰기가 실행된 횟수
num_of_bytes_written bigint 파일에 대해 실행된 쓰기의 총 바이트 수
io_stall_write_ms bigint 사용자가 파일에 대한 쓰기가 완료될 때까지 대기한 총 시간(밀리초)
io_stall bigint 사용자가 파일에 대한 I/O가 완료될 때까지 대기한 총 시간(밀리초)
size_on_disk_bytes bigint 이 파일에 대해 디스크에서 사용된 바이트 수
file_handle varbinary 이 파일에 대한 Windows 파일 핸들

:
Posted by 커널64
2008. 11. 16. 17:51

SQL Server 인스턴스 간 LOGIN 정보 전송 Database2008. 11. 16. 17:51

첨부되어 있는 파일의 쿼리를 실행하면 sp_help_revlogin라는 SP가 생성된다.

생성된 SP의 실행(EXEC sp_help_revlogin) 결과로 Create LOGIN 쿼리를 생성한다.
해당 쿼리를 대상 서버에서 실행하면 SID와 Hash된 P/W 정보를 이용해 LOGIN이 생성된다.

:
Posted by 커널64
2008. 11. 16. 17:38

MSDTC.LOG 파일을 축소하는 방법 Database2008. 11. 16. 17:38

다음과 같은 방법을 통해 축소할 수 있으나 특별히 디스크 공간 이슈나 로그 파일이 손상이 아니라면 그냥 사용할 것을 권장

1. MSDTC 서비스 중지
Net Stop MSDTC

2.  C:\WINDOWS\system32\MSDTC 폴더의 MSDTC.LOG 파일의 이름을 변경 (예: MSDTC.BAK)

3. MSDTC.LOG라는 빈 파일을 생성한다.

4. 다음 명령을 이용해 MSDTC Log Reset
MSDTC -RESETLOG

5. MSDTC 서비스 시작
Net Start MSDTC

참고: 서비스 시작 시 '서비스 특유의 오류가 발생했습니다. 3221229584' 오류가 발생한다면 MSDTC.LOG 파일이 손상되었거나 Log Reset을 하지 않은 것이다.

:
Posted by 커널64

1. MPSReport - 구성 정보 수집
 
2. PSSDiag / SQLDiag
1) PSSDiag - SQL 2000에서 사용, 별도로 설치
PSSDIAG Data Collection Utility
2) SQLDiag - SQL 2005에서 사용, SQL 2005와 함께 설치됨 (Binn 폴더에 위치)
3) 수집하는 정보
- Windows Performance Logs
- Windows Event Logs
- SQL Server Profiler Traces
- SQL Server Blocking Information
- SQL Server Configuration Information
 SQLDIAG.XML 파일 수정을 통해 수집할 정보 수정

3. ReadTrace
RML Utilities for SQL Server (x86)
RML Utilities for SQL Server (x64)

수집된 Profiler Trace 분석 Tool (*실제 서비스 환경에 실행 금지* )
- Rollup by Duration
- Rollup bu CPU
- Rollup by Read/Write

:
Posted by 커널64
2008. 11. 16. 17:21

SQL Server 버전 및 서비스팩 확인 Database2008. 11. 16. 17:21

SQL Server 버전, 서비스팩 및 업데이트 빌드 번호 확인
SQL 서버 Version Build Number 에디션 Service Pack SP 서비스팩

확인 쿼리
Select @@version

SQL Server 2008 R2
RTM 10.50.1600.1
서비스 팩 1 10.50.2500.0

SQL Server 2008
RTM 10.00.1600.22
서비스 팩 1 10.00.2531.00
서비스 팩 2 10.00.4000.00
서비스 팩 3 10.00.5500.00

SQL Server 2005
RTM 9.00.1399
서비스 팩 1 9.00.2047
서비스 팩 2 9.00.3042
서비스 팩 3 9.00.4035
서비스 팩 4 9.00.5000.00

How to determine the version and edition of SQL Server and its components
http://support.microsoft.com/kb/321185/en-us  
:
Posted by 커널64