728x90

SQL Server 2005 에서는 Default 값으로 기본 추적 로그가 활성화 되어 있습니다. (default trace enabled 옵션 1)
이 설정은 데이터베이스 문제 발생 시, 원인을 분석할 수 있는 중요한 자료가 될 수 있습니다.
구성 옵션과 관련된 변경 내용과 작업을 Trace 하고 있으므로 일종의 블랙박스 기능에 비유하고 있습니다.

Trace 된 정보를 SQL Server Profiler 를 이용하여 확인하는 방법을 아래와 같이 정리합니다.



1. 아래 쿼리를 사용하여 Trace 옵션이 활성화 되어 있는지 확인합니다.
    실행 결과에서 볼 수 있듯이 기본 추적이 설정되어 있음을 확인할 수 있습니다.

select * from ::fn_trace_getinfo(default)


# 실행결과 #

traceid     property     value
------------------------------------------------------------------------------------------------------------------------------------------------
-1           1               2

 1           2               C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\log_37.trc

 1           3               20

 1           4               NULL

 1           5               1

(5개 행 적용됨)



2. SQL Server Profiler 를 실행하여 확인된 trace file을 열면 추적 로그를 확인할 수 있습니다.

사용자 삽입 이미지










































[참고자료]
Viewing and Analyzing Traces with SQL Server Profiler
http://msdn.microsoft.com/en-us/library/ms175848.aspx

Default trace enabled Option
http://technet.microsoft.com/en-us/library/ms175513.aspx

자동화된 추적을 설정하기 위한 9단계
http://technet.microsoft.com/ko-kr/library/cc700796.aspx


작성자 : Lai Go / 작성일자 : 2008.08.11
728x90

SQL Server 2005 Cluster 설치 후 Fail-over 테스트 과정에서 SQL Agent Service 가 온라인 되지 않는
문제가 발생하였습니다.  Passive Node 의 메모리 옵션에서 페이지 잠그기 옵션을 활성화 하여 SQL Server
실행 권한을 가진 계정을 추가해야 하는 이슈입니다.


[환경]
Windows Server 2003 Enterprise Edition SP2
SQL Server 2005 (MSCS)
 

[현상]
SQL Server 2005 Cluster 설치 후 Passive Node로 Fail-over 하였을 때 SQL Agent Service 가 온라인 되지
않습니다.

 
[원인]
AWE 메모리를 이용하려면, 메모리 권한에 잠금 페이지가 할당된 계정에서 SQL Server 데이터베이스 엔진을
실행해야 합니다. SQL Server 설정 권한이 MSSQLServer 서비스 계정 권한에 자동으로 부여되므로 메모리의
페이지 잠그기 사용할 수 있습니다. 현재 Passive Node 에는 로컬 보안 정책 '메모리의 페이지 잠금' 권한이
없습니다.
 

[분석결과]
 
1. 이벤트 로그
 
 이벤트 형식:        오류
 이벤트 원본:        SQLSERVERAGENT
 이벤트 범주:        Failover
 이벤트 ID:        53
 날짜:                2008-06-10
 시간:                오전 5:32:11
 사용자:                N/A
 컴퓨터:        LAIGO
 설명:
 [sqagtres] OnlineThread: Error 435 bringing resource online.

 
2. SQL Error Log
 
 SQL Server blocked access to
프로시저 'dbo.sp_sqlagent_get_startup_info' of component 'Agent XPs'
 because this component is turned off as part of the security configuration for this server.
 A system administrator can enable the use of 'Agent XPs' by using sp_configure.
 For more information about enabling 'Agent XPs', see "Surface Area Configuration" in SQL Server Books Online.
 

3. Passive Node에서 SP_configure 쿼리
 
 sp_configure

 Agent XPs 0 1 1 0
 awe enabled 0 1 1 0

 
 RECONFIGURE; 

  AWE(Address Windowing Extensions)에는 현재 프로세스의 액세스 토큰에 없는 '메모리의 페이지 잠금' 권한이 있어야 합니다.

 
[해결 방법]
 
메모리 옵션에서 페이지 잠금을 활성화하려면
 1. 시작 메뉴에서 실행을 누른 다음 열기 상자에 gpedit.msc를 입력합니다.
 2. 그룹 정책 트리 창에서 컴퓨터 구성을 확장한 다음 Windows 설정을 확장합니다.
 3. 계속해서 보안 설정과 로컬 정책을 차례로 확장합니다.
 4. 사용자 권한 할당 폴더를 선택합니다.
 5. 로컬 정책이 세부 정보 창에 표시됩니다.
 6. 세부 정보 창에서 메모리의 페이지 잠그기를 두 번 누릅니다.
 7. 로컬 보안 정책 설정 대화 상자에서 추가를 누릅니다.
 8. 사용자 또는 그룹 선택 대화 상자에서 Sqlservr.exe 실행 권한이 있는 계정을 추가합니다.
  - LAIGO\SQLCluster

 
[참고자료]
How to: Enable the Lock Pages in Memory Option (Windows)
http://technet.microsoft.com/en-us/library/ms190730.aspx


작성자 : Lai Go / 작성일자 : 2008.06.11
728x90

declare @tab varchar(256)
declare tabinfo cursor for
select name from sysobjects where xtype='u' order by name --사용자 정의 테이블
open tabinfo
fetch from tabinfo into @tab
while @@fetch_status=0
begin
 select @tab

 select
  syscolumns.name,
  ISNULL(value, '') as FLD_DESC,
  systypes.name,
  syscolumns.length,
  case isnullable when 0 then 'NOT NULL' else 'NULL'
  end 'Nullable'
 from
  systypes,
  syscolumns left outer join
  ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table',@tab, 'column', default) c
  on (syscolumns.name = c.objname collate Korean_Wansung_CI_AS )
 where
  syscolumns.id=object_id(@tab)
 and syscolumns.xusertype =systypes.xusertype
 order by colid
 fetch from tabinfo into @tab
end
close tabinfo
deallocate tabinfo

출처 : http://kr.blog.yahoo.com/fazio127/7

+ Recent posts