2008/08/21

Windows SharePoint Services 3.0 응용 프로그램 서식 파일: 응용 프로그램 서식 파일 핵심 솔루션


  • 다운로드 지침
    참고: 서버 관리 서식 파일을 설치 또는 제거하려면 Windows SharePoint Services 사이트 및 서식 파일을 설치 또는 제거할 루트 서버 모두에 대한 관리자 권한이 있어야 합니다. 설치 및 제거는 Stsadm.exe 명령줄 유틸리티를 통해 수행됩니다.
    32비트 버전의 Windows Server 2003의 경우 stsadm.exe 유틸리티는 %PROGRAMFILES%\common files\microsoft shared\web server extensions\12\bin에 저장됩니다.
    64비트 버전의 Windows Server 2003의 경우 stsadm.exe 유틸리티는 %drive%\program files (x86)\common files\microsoft shared\web server extensions\12\bin에 저장됩니다.

핵심 솔루션 설치
압축을 푼 배포 파일에서 ApplicationTemplateCore.wsp 핵심 파일을 가져옵니다. 이 핵심 솔루션 파일은 솔루션 저장소, 즉 솔루션 파일이 저장되는 Windows SharePoint Services 구성 저장소의 표에 추가됩니다.
명령줄을 통해 stsadm -o addsolution -filename \ApplicationTemplateCore.wsp를 실행합니다.
그런 다음 stsadm -o deploysolution -name ApplicationTemplateCore.wsp -allowgacdeployment를 실행합니다. Windows SharePoint Services의 구성에 따라 다음과 같은 추가 특성이 필요할 수 있습니다. 단일 서버: [ -local | -time

2008/08/14

원하는 시간까지 롤백하기

데이터베이스를 사용하다보면 잘못된 트랙젠션으로 인하여 그 이전의 상태로 복구해야 하는 필요성을 느끼게 되는 경우가 있습니다. 예를 들어 잘못해서 테이블을 전부 지워버린 경우 그 이전 상태로 복구하거나 아니면 수작업으로 입력해야 합니다.



로그 백업을 이용하여 특정 시점으로 데이터베이스를 복구하는 방법을 살펴보도록 하겠습니다.





가끔 이런 질문을 받습니다.



"큰일 났어요. 잘못해서 테이블을 다 지워버렸거든요. 이거 복구하지 못하면 저 짤려요. 제발 살려주세요.."



저도 위와 같은 경우를 경험한 적이 있었습니다. 분명히 SELECT를 하려는 생각으로 쿼리문을 날렸는데 아뿔사, 제가 수행한 쿼리문은 SELECT 문이 아니고 DELETE 문이었습니다. 참으로 황당하더군요.



SQL 서버에서는 트랜잭션 로그 백업을 이용하여 특정 시점으로 데이터베이스를 복구하는 방법이 있습니다. 위와 같이 테이블을 전부 지워버렸으면 지우기 바로 이전 상태로 복구하면 모든 문제는 해결이 됩니다. 물론 이와 같은 복구 작업이 항상 가능한 것은 아닙니다. 다음과 같은 조건이 만족된 상태여야 합니다.



① 데이터베이스 백업모델이 "최대" 여야 합니다.

② 전체 백업을 받은 상태여야 합니다.

③ 이전의 로그백업이 있다면 안전하게 보관된 상태여야 합니다.



지금 부터의 복구 예제는 다음과 같은 순서로 이루어 집니다.



o 예제 테이블 만들기

o 테이블에 5개의 레코드 추가

o 데이터베이스 전체 백업

o 테이블에 5개의 레코드 추가

o 데이터베이스 로그 백업

o 테이블에 5개의 레코드 추가

o 테이블 삭제 (문제발생)

o 현 시점의 로그 백업

o 전체백업 Restore

o 기존 로그 백업 Restore

o 문제 발생후 백업 받은 로그 Restore(테이블을 지우기 전까지만)



단, 예제에 사용되는 sqlworld 데이터베이스의 복구모델은 "최대" 입니다.



1) 데이터베이스 전체 백업



우선 Test1 이라는 예제 테이블을 만들고 레코드 5개를 추가하도록 하겠습니다.





CREATE TABLE Test1

(

col1 int,

col2 char(05)

)

GO

INSERT INTO Test1 VALUES(1,'AAAAA')

INSERT INTO Test1 VALUES(2,'BBBBB')

INSERT INTO Test1 VALUES(3,'CCCCC')

INSERT INTO Test1 VALUES(4,'DDDDD')

INSERT INTO Test1 VALUES(5,'EEEEE')





이제 지금 상태의 sqlworld 데이터베이스를 전체 백업 받도록 하겠습니다.





BACKUP DATABASE sqlworld TO DISK = 'D:\sqlworld.bak'



위 전체 백업으로 인해 우리는 어떤 사태가 발생하더라도 Test1 테이블에 5개의 레코드가 추가된 상태로 복구를 할 수 있습니다.(당연하죠)



2) 로그백업



이제Test1 테이블에 레코드를 5개 더 추가하도록 하겠습니다.





INSERT INTO Test1 VALUES(6,'FFFFF')

INSERT INTO Test1 VALUES(7,'GGGGG')

INSERT INTO Test1 VALUES(8,'HHHHH')

INSERT INTO Test1 VALUES(9,'IIIII')

INSERT INTO Test1 VALUES(10,'JJJJJ')



앞에서 전체 백업을 받은 상태이므로 이제는 방금 작업한(5개의 레코드 추가) 트랜잭션만을 보관하도록 로그 백업을 받도록 하겠습니다. (물론 지금 같은 경우는 예제이므로 데이터량이 많지 않아 전체 백업을 다시 받아도 되지만 실무에서는 전체 데이터베이스 양이 엄청 큰 경우라면 로그 백업을 받는게 더 효율적일 수 있습니다.)





BACKUP LOG sqlworld TO DIsk = 'D:\sqlworld_log.bak'



만일 이 상태에서 데이터베이스에 문제가 발생하여 복구를 해야 하는 경우는 처음에 받은 전체 백업을 Restore 한 후에 뒤에 받은 로그 백업을 Restore 하면 됩니다. 여기 까지는 누구나 다 아는 사실입니다.



3) 사태발생



이제Test1 테이블에 레코드를 5개 더 추가하도록 하겠습니다.





INSERT INTO Test1 VALUES(11,'KKKKK')

INSERT INTO Test1 VALUES(12,'LLLLL')

INSERT INTO Test1 VALUES(13,'MMMMM')

INSERT INTO Test1 VALUES(14,'NNNNN')

INSERT INTO Test1 VALUES(15,'OOOOO')



자! 지금까지는 일반적인 작업이 순조롭게 진행이 되고 있는 상태임을 볼 수 있습니다.



그런데 제가 잘못해서 이 상태에서 다음과 같은 퀴리문을 이용하여 Test1 테이블을 전부 삭제 해 버렸습니다. 이 때의 시간이 2001-11-19 1:10AM 입니다.





DELETE FROM Test1



큰일 났습니다!

엄청난(?) 양의 Test1 테이블이 전부 지워져 버렸습니다!



4) 복구하기



이제 해야 할 일은 Test1 테이블을 지우기전 즉 15개의 레코드가 존재하는 상태로 복구하는 것입니다. 다음의 순서를 정확히 기억하시기 바랍니다.



1) 현재 시점의 로그를 NO_TRUNCATE 옵션을 이용하여 백업받기



다음과 같이 NO_TRUNCATE 옵션을 이용하여 현재 상태의 로그를 백업 받습니다.(실무에서는 "모두 작업을 멈추시오!" 라고 외치고 백업 받아야 합니다)





BACKUP LOG sqlworld TO DISK = 'D:\Check.bak' WITH NO_TRUNCATE



2) 전체 백업 Restore



우선 제일 먼저 백업 받은 전체 백업을 Restore해야 합니다. 단 계속해서 추가적인 Restore 작업이 수행되어야 하므로 WITH NORECOVERY 옵션을 이용해야 합니다.





RESTORE DATABASE sqlworld FROM DISK = 'D:\sqlworld.bak' WITH NORECOVERY



이제 처음 레코드 5개가 추가된 상태로는 복구가 되었습니다. 하지만 WITH NORECOVERY를 사용했으므로 아직은 접근할 수 없는 상태입니다.



3) 로그 백업 Restore



전체 백업 후에 5개의 레코드를 추가하고 백업받은 로그가 있습니다. 이것을 WITH NORECOVERY 옵션으로 계속해서 Restore 해야 합니다.





RESTORE LOG sqlworld FROM DISK = 'D:\sqlworld_log.bak' WITH NORECOVERY



이제 처음 레코드 5개를 포함해서 새로 추가된 5개의 레코드 까지는 복구가 된 셈입니다. 하지만 WITH NORECOVERY를 사용했으므로 여전히 접근할 수 없는 상태입니다



4) STOPAT을 이용한 특정 시점까지의 로그 백업 Restore



문제 발생후 백업받은 로그 안에는 새롭게 추가된 5개의 레코드에 대한 작업과 함께 테이블 전체를 지운 작업이 포함되어 있습니다. 여기서 우리는 테이블 전체를 지운 작업 바로 이전까지만 Restore를 하면 됩니다. 이때 사용되는 것이 STOPAT 이라는 옵션입니다.



이 옵션을 이용하여 다음과 같이 테이블 전체를 지웠던 2001-11-19 1:10AM 이전 까지만 Restore 하면 됩니다. 그래서 2001-11-19 01:09 까지만 Restore 하겠습니다.





RESTORE LOG sqlworld FROM DISK = 'D:\Check.bak'

WITH RECOVERY, STOPAT = '2001-11-19 01:09'



그리고 WITH RECOVERY 옵션을 사용한 이유는 Restore가 다 끝났으므로 사용자가 접근 할 수 있게 하기 위함 입니다.



이렇게 해서 우리는 완벽하게 테이블이 지워지기 바로 전까지를 복구 할 수 있었습니다.



5) 정리



위 내용을 직접 수행해서 결과를 확인해보시기 바랍니다. 그렇지 않고 실제 문제가 발생한 경우에 복구 작업을 하려고 하면 안절부절 하게되기 때문입니다. 많은 분들이 백업은 받을 줄 아는데 정작 중요한 복구는 못하는 경우가 있습니다.



물론 복구할 일이 없는데 제일 좋지만 만일의 경우에 대비해서 연습해 두는 것이 좋습니다. 그리고 백업받은 데이터는 안전하게 보관을 하고 있어야 합니다. 아무리 복구 방법을 잘 안다고 해도 백업받은 데이터가 손상이 된 상태라면 아무 의미가 없기 때문입니다.

Windows Server 2008 인증 회피

제품 키 입력 시

Serial Number을 입력하지 않고 진행

"온라인일 때 자동으로 정품인증" 체크 해제


Windows Server 2008 설치 완료 후

SL UI Notification Service를 중지하고, 사용 안 함 상태로 변경


파일 삭제 가능하도록 변경

C:\Windows\System32의

SLLUA.exe
SLUI.exe
SLLUI.ddl

각 파일의 등록정보 > 보안탭 > 고급 > 소유자탭

소유자를 Administrator로 변경


각 파일의 등록정보 > 보안탭 > Administrator 유저 선택

모든 권한 부여


파일 삭제

파일을 삭제하거나 이름을 바꾸어 백업


테스트를 위해 날짜를 미래로 변경

Reboot

windows 2008 클라이언트형 설치

윈도우즈 2008은 서버이기 때문에 일반 사용자들이 사용하기에는 불편한 점이 있습니다.
그래서 사용이 편하도록 설정을 변경하는 팁을 몇가지 정리를 해보았습니다.

팁의 순서는 아래와 같습니다.

1. 한글 언어팩 설치
2. 로그인시 [Ctrl + Alt + Del] 누르지 않기
3. 종료시 이벤트 추적기 사용하지 않기
4. 자동 로그인 설정
5. 인터넷 보안 강화 구성 사용 하지 않기
6. 원격 데스크탑 포트 변경하기
7. 입력 도구 모음 숨기기
8. 시스템 아이콘 중에서 볼륨 아이콘 제거하기
9. 윈도우즈 정식 인증 연장하기
10. Windows Media Player 11 설치하기
11. Windows Mobile Device Center 6.1 설치하기


1. 한글 언어팩 설치

처음 설치 할때 한글판을 설치했다면 상관 없겠지만 영문으나 다른 언어용 윈도우즈를 설치 했다면 한글 언어팩을 설치하여 한글 윈도우즈로 변경을 할 수 있습니다.

윈도우즈 2008 한글판도 영문판에 한글 언어팩이 추가되어 자동 설치되는 것일뿐이기 때문에 영문판 설치 후 한글 언어팩을 설치해서 사용해도 똑같습니다.

일단 아래 링크로 이동하여 한글 언어팩을 다운로드 합니다.

Windows Server 2008 MUI(Multilingual User Interface) 한글 언어 팩

위 페이지로 이동 후 설치한 윈도우즈 버전에 맞는 언어팩을 다운로드해야 합니다.
그리고 한국 언어팩은 그룹2에 포함이 되어 있습니다.

다운받은 파일은 img 파일로 이미지 파일입니다. 확장자를 iso 변경해서 버추얼 드라이브에 넣어 두던지 아니면 압축을 해제 해 놓으시기 바랍니다.

그런 후 아래와 같이 이동을 합니다.

[Start] - [Control Panel] - [Regional and Language Options]

국가 및 언어 설정을 하는 창이 뜹니다. 총 4개의 탭이 존재하는데 3번째 탭인 [Keyboards and Languages]를 선택합니다.



Display language에서 [Install/uninstall languages...] 버튼을 클릭합니다.



[Install languages] 버튼을 클릭합니다.



[Browse folder...] 버튼을 클릭하여 받아놓은 한글 언어팩의 폴더를 선택하고 [Next] 버튼을 눌러 언어팩 설치를 합니다. 설치 할때 설정에 대해 물어보면 본인이 원하는 대로 설정을 하시면 됩니다.

언어팩 설치는 시간이 조금 걸립니다. 설치가 완료되면 로그오프 후 다시 로그인을 하면 모든 메뉴가 한글로 바뀐것을 확인하실 수 있을것입니다.

아래 2번 팁부터는 한글 언어팩이 적용된 상태로 진행을 하도록 하겠습니다.

2. 로그인시 [Ctrl + Alt + Del] 누르지 않기

[시작] - [실행]을 눌러 [gpedit.msc]를 입력하고 실행한다.

[컴퓨터 구성] - [Windows 설정] - [보안 설정] - [로컬 정책] - [보안 옵션]으로 순서대로 이동을 한다.

오른쪽에 대화형 로그인 : [Ctrl+Alt+Del]을 사용할 필요 없음을 더블클릭한다.

창이 뜨면 [사용]으로 변경한다.

3. 종료시 이벤트 추적기 사용하지 않기

[시작] - [실행]을 눌러 [gpedit.msc]를 입력하고 실행한다.

[컴퓨터 구성] - [관리 템플릿] - [시스템]으로 순서대로 이동을 한다.

오른쪽에 시스템 종료 이벤트 추적기 표시를 더블클릭한다.

창이 뜨면 [사용 안 함]으로 변경한다.

4. 자동 로그인 설정

[시작] - [실행]을 눌러 [control userpasswords2]를 입력하고 실행한다.

[사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음]에 체크를 해제하고 [확인] 버튼을 클릭한다.

본인이 사용할 계정과 비밀번호를 넣고 완료한다.

5. 인터넷 보안 강화 구성 사용 하지 않기

윈도우즈 2008은 서버이기 때문에 기본적으로 인터넷 보안 강화 구성이 사용으로 설정되어 있습니다. 이 기능이 설정이 되어 있으면 사이트를 이동 할 때 마다 사이트 등록을 해줘야 할 뿐 아니라 많이 사용하는 플래시나 ActiveX를 사용할 수 없습니다. 그러므로 이 기능을 사용하지 않도록 할 것입니다.

윈도우즈 2003은 제어판의 프로그램 추가/삭제에서 윈도우즈 기능 추가에서 선택을 취소해서 설치를 제거했는데 윈조우즈 2008은 기능 제거가 아닌 기능을 사용 하지 않음으로 변경을 하면 됩니다.

먼저 관리 도구에 보면 서버 관리자가 있습니다. 서버관리자를 실행 시키면 초기 화면에서 [서버요약 - 보안정보]의 오른쪽에 보면 아래 이미지처럼 있습니다. 여기서 [IE ESC 구성]을 클릭합니다.



그러면 아래와 같은 창이 뜨게 됩니다.



관리자와 사용자를 모두 [사용 안 함]으로 변경하고 [확인] 버튼을 클릭하면 설정이 끝납니다.

6. 원격 데스크탑 포트 변경하기

외부에서 내 컴퓨터에 접근해서 사용하기 위해서 원격 데스크탑을 많이 사용할 것입니다.
그런데 기본 포트로 사용을 하면 보안상 좋지 않기 때문에 원격 데스크탑용 포트를 변경해서 사용을 많이 합니다.
윈도우즈 2008도 이전의 윈도우즈처럼 같은 방법으로 포트를 변경하면 됩니다.

[시작]에서 [실행]을 누른 후 [regedit]를 입력하여 레지스트리 편집기를 실행 시킵니다.
그런후 아래의 키로 이동을 합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

이동을 했으면 오른쪽에 보면 많은 데이터가 있습니다. 그 중에서 [PortNumber]를 찾아서 더블 클릭하면 아래와 같은 창이 뜹니다. 단위에서 10진수로 변경하고 값 데이터를 원하는 포트로 변경을 하면 됩니다.



* Windows 방화벽 사용시

Windows 방화벽을 사용중이라면 변경한 포트를 방화벽에 예외추가를 해줘야 원격 제어를 사용할 수 있습니다.
[제어판] - [Windows 방확벽]으로 이동을 합니다. 윈2008은 [Windows 방확벽 설정 또는 해제]를 누릅니다.
Windows 방화벽 설정 창이 뜨면 [예외] 탭으로 이동을 하고 [포트 추가]를 눌러 이름은 원하는 이름으로, 포트는 위에서 변경한 번트번호를 입력하고, 프로토콜은 TCP를 선택하고 [확인] 버튼을 눌러 설정을 완료합니다.

7. 입력 도구 모음 숨기기

트레이 옆에 보면 아래와 같은 입력 도구 모음이 있습니다.



솔직히 전 이 입력 도구 모음이 화면에 있을 필요가 없다고 생각해서 항상 숨겨놓고 사용을 합니다.

[제어판] - [국가 및 언어 옵션]을 선택합니다.
4개의 탭중 3번째 [키보드 및 언어]로 이동 후 [키보드 변경...] 버튼을 클릭한다.
그러면 [텍스트 서비스 및 입력 언어]라는 창이 뜨고 3개의 탭이 있습니다.
2번재 탭인 [입력 도구 모음] 이동 하여 아래 이미지와 같이 숨김으로 변경합니다.



8. 시스템 아이콘 중에서 볼륨 아이콘 제거하기

트레이에 보면 아래 이미지와 같이 네트워크, 볼륨, 시계가 표시되어 있습니다.



저 같은 경우는 사운드 카드를 벌도로 사용하여 볼륨 컨트롤러가 별도로 존재합니다.
그래서 기본으로 지원하는 볼륨 아이콘이 필요 없습니다.
이전 윈도우즈 2003에서는 제어판의 소리에 가면 아이콘 제거가 있었는데 윈도우즈 2008은 위치가 조금 다릅니다.

[제어판] - [작업 표시줄 및 시작 메뉴]로 이동을 하거나 작업 표시줄에서 마우스 오른 쪽을 눌러 [속성]으로 들어갑니다.
4개의 탭중 3번째 [알림 영역]으로 이동 한 후 아래 이미지와 같이 [볼륨]에 체크를 해제합니다.



이것으로 윈도우즈 2008 설치 후 설정 변경에 대한 팁을 마치도록 하겠습니다.
이 글을 보시는 분들에게 많은 도움이 되었으면 합니다!!

9. 윈도우즈 정식 인증 연장하기

윈도우즈 2008은 인증없이 60일동안 사용이 가능합니다. 그러나 정식사용자가 아닌 사람이 많을 것입니다.
뭐 나중에 인증 크랙이 나올수도 있지만 뭐 현재는 없으니 임시 방편으로 인증 연장을 사용하는 방법도 있죠!!
이 인증 연장은 총 3번 사용할 수 있으며, 인증 연장 기간 1일 남았을때 연장을 하면 총 8개월을 사용할 수 있습니다.
솔직히 3~6개월에 한번씩 포멧하고 새로 설치하는 저한테는 정식 인증이 필요 없을 수도 있는것이죠!!
단지 인증 기간이 얼마나 남았는지 체크를 해줘야 된다는거.. 뭐 이런건 예약작업을 잡아 놓아도 될듯합니다.
그럼 인증 기간 연장하는 방법을 알려 드리겠습니다.

우선 [시작]으로 가서 [명령 프롬프트]를 실행 시키거나 [실행]에서 [cmd]를 치고 확인을 누릅니다.
그러면 시커먼 창이 하나 뜹니다. 여기서 slmgr -rearm를 치고 엔터를 누릅니다.
좀 기다리면 완료 메세지 창이 뜹니다. 다시 시스템으로 들어가서 확인하면 인증 기간이 60일로 늘어난것을 확인할 수 있을 것입니다.

10. Windows Media Player 11 설치하기

윈도우즈 2008을 설치하면 미디어 플레이어가 설치되어 있지 않습니다. 그렇다고 XP용 받아서 설치도 안되더군요!!
그래서 알아보았습니다.. 허허!!~~ 정말 간단하게 해결이 됩니다^^
방법은 먼저 [서버 관리자]를 실행 시킵니다. 초기화면에 보면 [기능 추가]라고 있습니다. 클릭하세요!!




위 이미지에서 보는거와 같이 [데스크톱 경험]에 체크를 하고 다음을 누른 후 설치를 하고 재부팅을 합니다.
재부팅이 완료되고 [시작]에 [모든 프로그램]에 보면 아래와 같은 프로그램이 추가된 것을 확인 하실수 있습니다.



여기서 설치된 WMP가 버전 11입니다.

11. Windows Mobile Device Center 6.1 설치하기

PDA를 사용하시는 분들은 ActiveSync나 WMDC를 사용하실것입니다.
그러나 WMDC는 윈도우즈 2008용이 별도로 존재하지 않습니다. 그래서 비스타용을 사용해야 합니다.
그런데 처음 설치 후 WMDC를 설치하려고 하면 설치가 되지 않습니다. 이 문제는 아래와 같이 해결을 하시면 됩니다.

일단 아래 주소로 이동을 하여 비스타용 WMDC 6.1을 받으시기 바랍니다.

http://www.microsoft.com/korea/windowsmobile/devicecenter.mspx

다운로드가 완료 되었으면 위 10번 팁에 보면 기능추가로 [데스크톱 경험]을 추가하라고 되어 있습니다.
하신분은 넘어가시고 안하신 분은 [데스크톱 경험]을 설치해주세요!!
그러면 비스타용 WMDC 설치가 아주 질 될것입니다^^