[MCP/MCSE] IIS 5 를 사용하여 메타베이스 백업 및 복원하기

MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE

메타베이스(MetaBase)는 IIS 구성 설정을 저장하기 위한 구조이다. Windows 시스템 레지스트리와 몇몇 동일한 기능을 수행하지만 IIS에만 적용된다.

IIS 메타베이스는 여러분의 인터넷 사이트에 대한 가장 핵심적인 정보를 가지는 크고 복잡한 구조로 되어 있다. 따라서, 중요한 데이터를 쉽게 보호하기 위해 메타베이스를 백업함으로써 상대적으로 쉽게 일을 처리할 수 있다. 이 글은 관리적 구성 설정들을 쉽게 복원하기 위해 메타베이스를 백업하는 방법에 대해 다룬다.


  1. IIS 5 메타베이스의 관리적 백업을 생성하는 방법
    1. 시작 을 클릭하고, 프로그램 을 클릭하고, 관리 도구 를 클릭하고, 인터넷 서비스 관리자 를 클릭한다.
    2. 컴퓨터 이름을 오른클릭한다.
    3. 구성 백업 미 복원 을 클릭한다. 그러면 그 컴퓨터의 IIS 5 메타베이스를 백업할 수 있는 대화상자가 나타난다.



    4. Create Backup 을 클릭하고, 이 백업의 이름을 입력해준다.

    NOTE: 백업 이름은 특수기호를 포함할 수 없다. 오직 숫자와 문자들만 사용할 수 있다.
    5. OK 를 클릭하여 메타베이스의 관리 설정을 백업한다. 백업 이름과 날짜 시간은 백업 대화상자에서 나타나게 된다.
    6. 닫기 를 클릭하고, IIS를 종료한다.


    NOTE: 백업의 기본 위치는 %SystemRoot%\System32\inetsrv\MetaBack 폴더 이다. 만약 백업을 다른 위치에 저장하려고 한다면 이 위치에 있는 파일들을 원하는 다른 곳으로 복사하면 된다. 참고로 %SystemRoot% 는 보통 C:\Winnt 폴더이다.


  2. IIS 5 메타베이스의 관리적 백업을 복원하는 방법
    복원 하는 방법은 백업과 유사하다. 따로 설명하지 않는다.

    문제 해결
    앞에서 설명한 과정은 몇가지 제한사항들을 가지고 있다. 일반적으로 여러분들이 생각하는 백업에 대한 잘못된 이해때문으로 정확히 알 필요가 있다.

    첫째, 메타베이스 백업의 복사본을 다른 Windows 2000 설치 본에다 복원할 수 없다는 것이다. 비록 편리한 방법이 될 수도 있지만, 한 IIS 구성을 다른 서버의 IIS 구성과 동일하게 만들어 주지 못한다. 보다 중요한 것은 만약 여러분이 전체 서버가 손상당해 운영체제를 재설치한다면, 이 백업본으로부터 여러분의 IIS 구성을 복원하지 못할 수도 있다. 다른 말로 설명하면, 이 백업은 재난 대비용으로는 적합하지 않다는 뜻이다. 메타베이스 백업 및 복원 기능은 버전 관리와 관리자의 실수를 만회하는데 가장 적절하게 사용될 수 있다.

추천학원:
http://www.it-bank.or.kr/ms/main_1.htm

MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE MCP/MCSE
Posted by 김윤석
[MCP학원/MCSE/MCSE학원]  Transact-SQL 이란


1. Transact-SQL이란?

보통은 줄여서 T-SQL 이라고 표기합니다. SQL Server의 SQL 구문은 ANSI와 ISO에서 정한 ANSI SQL 표준의 최신 버젼인 ANSI SQL-92 의 기준을 따르고 있습니다. 하지만 새로운 기능 수행을 위해 MS사는 새로운 SQL 구문을 추가 하였는데 이를 Transact-SQL 이라고 부릅니다. 이런 이유로 Transact-SQL 구문은 다른 데이터베이스 환경에서 작동되지 않을 확률이 높습니다. 그래서 되도록 ANSI SQL 구문으로 작성이 가능한것을 Transact-SQL 구문으로 작성하는 것은 바람직하지 않다고 생각합니다.

※ ANSI : American National Standards Institute / ISO : International Standards Organization

2. SQL 구문의 종류

SQL 구문은 그 기능에 따라 다음과 같이 세가지로 크게 분류 할 수 있습니다.

o DCL(Data Control Language)
o DDL(Data Definition Language)
o DML(Data Manipulation Language)

이 세가지 분류를 필히 기억할 필요는 없지만 종종 언급이 되는 교재들이 있으므로 알고있으면 도움이 될 것같습니다. Transact-SQL문에 대한 자세한 사용 방법은 앞으로 많은 시간을 할애하여 설명할 예정입니다.

1) DCL(Data Control Language)

데이터베이스 사용자와 Role에 대하여 권한을 지정하거나 제거할 사용하는 SQL 구문을 가리킵니다.

※ Role : SQL Server 7.0에서 새로 등장했으며, 그룹의 의미와 권한들의 집합의 의미를 가지고 있습니다. Windows NT나 Windows 2000에서 그룹을 정하여 권한을 할당하고 이 그룹에 사용자 계정을 포함하여 관리함으로써 관리의 용이성을 기한 것처럼 SQL Server에서는 Role을 사용 할 수 있습니다.

권한을 설정하는 SQL 구문에는 다음과 같이 GRANT, DENY, REVOKE 세가지가 있습니다.

GRANT

사용자 계정이나 Role에 대하여 데이터에 대한 접근 권한이나 Transact-SQL 사용 권한을 부여 할 때 사용합니다.
DENY GRANT와 반대로 데이터에 접근하지 못하게 하거나 Transact-SQL을 수행 하지 못하도록 거부할 때 사용합니다.
REVOKE 이미 GRANT 또는 DENY로 설정된 권한을 제거(Remove) 할 때 사용합니다.

다음의 예에서는 Jangrae라는 사용자 계정에 Pubs 데이터베이스의 Titles 테이블을 SELECT 할 수 있는 권한을 부여하고 있습니다.

USE Pubs
GRANT SELECT ON Titles TO Jangrae

SQL Server에서는 관리의 편의를 위하여 많은 도구들이 제공되고 있습니다. 이러한 도구들을 이용하여 굳이 SQL 문을 사용하지 않더라고 대부분의 작업을 할 수 있습니다. 예를 들어 위 예의 경우 권한을 설정하는 것은 EM(Enterprise Manager)를 이용하여 쉽게 작업을 할 수 있습니다. 하지만 배우는 과정에서는 되도록 SQL문을 직접 작성해서 수행해 보는 것이 많은 도움이 될거라 생각합니다. SQL을 통하여 작업하는 것이 숙달이 되면 시간 절약을 위해서 EM을 사용하는 것이 현명하다고 생각합니다. 처음부터 EM을 사용하여 작업을 하게 되면 수행되는 작업에 대한 내부적인 처리 내용을 정확하게 이해 할 수 없게 되며, 만일 EM에 문제가 발생하면 SQL 구분을 모르면 아무 작업도 할 수 없게 될 수도 있기 때문입니다.

2) DDL(Data Definition Language)

CREATE DATABASE 와 같이 데이터베이스, 테이블 또는 기타 오브젝트를 생성할 때 사용되는 SQL 구문으로 다음을 포함합니다.

o CREATE
o ALTER
o DROP

다음의 예에서는 MyDB 데이터베이스에 Friend 테이블을 생성하고 있습니다.

USE MyDB
CREATE TABLE Friend
(Name varchar(20), Tel char(12),Address varchar(50))

CREATE를 통해서 만들어진 것은 ALTER를 통해서 변경이 가능하며, DROP을 통해서 삭제 할 수 있습니다. 그래서 CREATE관련된 내용을 배울 때ALTER와 DROP 구문을 항상 같이 배우게 됩니다.

3) DML(Data Manipulation Language)

데이터를 검색하거나 수정 및 삭제 할 수 있는 SQL 구문으로 앞으로 가장 많이 사용하게 될 SQL 문이라 할 수 있으며 다음을 포함합니다.

o SELECT
o INSERT
o UPDATE
o DELETE

다음의 예에서는 Pubs 데이터베이스의 Titles 테이블의 모든 내용을 검색하고 있습니다.

USE Pubs
SELECT * FROM Titles




출처 : http://www.it-bank.or.kr/ms/main_1.htm
Posted by 김윤석

1. 데이터베이스 생성 원리

CREATE DATABASE 문을 이용하여 데이터베이스를 만들게 되면 SQL Server는 Model 데이터베이스를 복사함으로써 만들려고 하는 데이터베이스와 이와 관련된 메타데이터(데이터베이스에 대한 정보)를 초기화합니다. 이러한 Model 데이터베이스의 특성을 이용해서 특정한 테이블(Table), 뷰(View), 저장 프로시저(Stored Procedure), 데이터 형식(Data Type)등을 Model 데이터베이스에 미리 만들어 놓으면 새로 만들어지는 모든 데이터베이스에 이러한 객체들이 포함되게 할 수 있습니다.


[그림 1]

2. 데이터베이스 만들기

SQL Server에서 데이터베이스를 만드는 방법은 다음의 세가지가 있습니다.

o EM(Enterprise Manager) 사용
o 마법사 사용
o 쿼리문(CREATE DATABASE) 사용

우선 쿼리문을 이용해서 공부를 하시고 익숙해지면 EM을 사용하시기를 권합니다. 가끔은 EM을 사용할 수 없는 상황에서 작업을 해야하는 경우가 있기 때문입니다. 마법사(Wizard)의 경우는 아직 잘 모를 때 빨리 특정 작업을 수행하고자 하는 경우에(하지만 꼭 마법사를 이용해야 하는 경우도 있습니다.) 사용하시기를 권합니다.

1) EM(Enterprise Manager) 이용한 데이터베이스 생성

[그림 2] 처럼 해당 SQL Server에서 마우스 오른쪽 버튼을 눌러 [새로만들기(N)] 에서 [데이터베이스(D)...]을 선택하시면 [그림 3] 처럼 데이터베이스를 만드는 화면이 표시됩니다.


[그림 2]


[그림 3]

위 [그림 3]의 경우는 Sample 데이터베이스를 만드는 화면에서 3가지 탭의 화면을 한번에 보여주고 있습니다. 각 항목에 대한 자세한 설명은 쿼리문을 이용한 데이터베이스 생성방법에서 설명되어집니다.

2) CREATE DATABASE문을 이용한 데이터베이스 생성

드디어 처음으로 쿼리문을 배우게 되었습니다. CREATE DATABASE는 데이터베이스의 이름과 사이즈 및 파일을 지정하여 데이터베이스를 만드는 구문입니다. 자세한 문법을 알고자 한다면 Books Online을 참고해 주시기 바랍니다. 여기서는 예를 들어서 설명하도록 하겠습니다.

[예제1]

다음의 예제는 MyDB를 만드는 예입니다. 우선 다음 항목들을 이해하시고 예제를 보시기바랍니다.

o NAME : 내부적으로 사용될 데이터베이스 파일의 놀리적인 이름
o FILENAME : 데이터베이스 파일의 물리적인 위치와 파일명
o SIZE : 데이터베이스의 초기 사이즈
o MAXSIZE : 데이터베이스가 증가될 수 있는 최대 사이즈, 지정되지 않으면 하드디스크가 허용하는한 무작정 사이즈 증가.
o FILEGROWTH : 데이터베이스 공간이 부족할 떄 자동으로 증가하게되는 사이즈

USE master
GO

CREATE DATABASE MyDB
ON
(NAME = MyDB_Data,
FILENAME = 'D:\Data\MyDB.mdf',
SIZE = 10MB,
MAXSIZE = 40MB,
FILEGROWTH = 5MB )

LOG ON
(NAME = MyDB_Log,
FILENAME = 'D:\Data\MyDB.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB)

GO

[설명]

o 우선 D:\Data 폴더가 존재하고 있어야 합니다. 그렇지 않으면 오류가 발생합니다.
o 실제 OS상에서 데이터는 MyDB.mdf로 로그는 MyDB.ldf로 D:\Data 폴더에 저장합니다.
o Mydb.mdf와 MyDB.ldf는 SQL Server 내에서는 MyDB_Data와 MyDB_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터베이스의 사이즈는 10MB이며, 40MB까지 5MB씩 증가 할 수 있습니다.
o 로그의 경우는 처음 5MB 사이즈로 만들어지고 25MB까지 5MB씩 증가 할 수 있습니다.
o 위에서 제시한 MAXSIZE데 도달하면 더이상 데이터 기록이 불가능합니다. MAXSIZE를 지정하지 않으면 디스크가 허용하는 한 무작정 증가합니다.

데이터베이스 생성에 대한 예제를 두개 더 들어보고자 합니다. 앞에서의 예제와 비교해서 달라지는 부분을 자세히 살펴보시기 바랍니다.

[예제2]

USE master
GO

CREATE DATABASE Products
ON
(NAME = Products_Data,
FILENAME = 'D:\data\products.mdf',
SIZE = 4MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB)

GO

[설명]

o 실제 OS상에서 데이터는 products.mdf로 폴더에 저장합니다.
o 로그가 지정되지 않았으므로 자동으로 SQL Server는 D:\Data 폴더에 products_log.ldf 로그 파일을 만듭니다.
o products.mdf는 SQL Server 내에서는 products_Data로 관리되며 products_log.ldf는 products_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터의 사이즈는 4MB이며, 10MB까지 1MB씩 증가 할 수 있습니다.
o 로그는 지정되지 않았으므로 자동으로 처음 1MB정도(데이터베이스의 25%)사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.

[예제3]

USE master
GO

CREATE DATABASE Products2

GO

[설명]

o 폴더가 지정되지 않았으므로 SQL Server 가 설치될 때의 기본 Data 폴더에 만들어집니다.
o 실제 OS상에서 데이터는 자동으로 products2.mdf, products2_log.ldf라는 이름으로 기본 Data 폴더에 저장합니다.
o products2.mdf는 SQL Server 내에서는 products2로 관리되며 products2_log.ldf는 products2_Log라는 이름으로 관리됩니다.
o 데이터의 사이즈는 지정되지 않았으므로 Model 데이터베이스(768KB)의 사이즈와같습니다. 필요한 경우 디스크가 허락하는 한 10%씩 무작정 증가 하게됩니다.
o 로그의 사이즈는 지정되지 않았으므로 자동으로 0.5MB 사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.

※ SIZE 및 MAXSIZE의 기본 단위는 MB이므로 MB는 생략가능합니다. 하지만 KB를 사용할 경우 KB는 필히 지정해야 합니다. FILEGROWTH는 %를 표시하여 사용 할 수 있습니다. 하지만 기본 단위는 MB이므로 MB는 생락이 가능하지만 %로 지정하고자 하면 필히 %를 입력해야 합니다. FILEGROWTH는 하나의 Extent가 64KB이므로 최소한 64KB이상 지정되어야 합니다.

 

 

 

출처 : http://www.it-bank.or.kr/ms/main_1.htm

 

 

Posted by 김윤석

제가 가장 먼저 접했던 SQL Server는 6.5 버젼이었습니다. SQL Server 6.5 버젼을 사용하면서 가장 큰 애로사항중의 하나는 수시로 데이터베이스의 사이즈를 확인해서 필요한 경우 사이즈를 늘려주어야 한다는 것과, 데이터베이스 사이즈를 필요에 의해서 줄이고 싶은데 줄일 방법이 없었다는 것입니다(물론 다른 곳에 데이터베이스를 만들어서 Transfer하는 방법이 있기는 했지만).

SQL Server 7.0 버젼을 보고 제가 가장 놀랬던 것은 대부분의 관리가 자동화 되었다는 점이었습니다. 데이터베이스 사이즈는 설정만 해주면 필요에 따라 자동으로 늘어나고 필요한 경우 줄일 수도 있다는 사실이 저를 엄청 놀라게 했습니다. 이러한 특징은 SQL Server 2000에서도 마찬가지입니다.

이번 장에서는 데이터베이스 사이즈 늘리기와 줄이기를 중심으로 데이터베이스를 관리하는 방법을 살펴보도록 하겠습니다.

1. 데이터베이스 관리란?

데이터베이스 관리에 포함될 수 있는 작업들에는 다음과 같은 것들이 있습니다.

o 데이터 증가에 따른 파일 사이즈 변경
o 트랜잭션 로그 모니터링
o 필요에 따른 데이터베이스 사이즈 줄이기
o 데이터베이스 삭제

대부분의 작업들은 SQL Server가 자동으로 해주므로 별다른 관여가 필요없습니다. 하지만 가끔은 수작업이 필요한 경우가 있으므로 그 방법은 알아두는데 좋을듯하여 설명해 봅니다.

2. 데이터베이스 사이즈 늘리기

CREATE 문이 사용되어 생성된 개체에 대해서는 ALTER 문으로 변경이 가능하며 DROP 문으로 삭제가 가능합니다. 그러므로 CREATE 문에 의해 만들어진 데이터베이스는 ALTER 문을 이용하여 변경 할 수 있습니다.(또는 Enterprise Manager를 이용하여 변경할 수 있습니다)

데이터베이스 사이즈를 늘리는 방법은 다음의 세가지가 있습니다.

o 자동으로 증가하도록 데이터베이스 옵션 설정
o 데이터 파일의 사이즈 확장
o 데이터 파일 추가

1) 자동으로 증가하도록 데이터베이스 옵션 설정

이전의 강좌에서 CREATE DATABASE 문 사용시 사이즈 증가에 대한 SIZE, MAXSIZE, FILEGROWTH 옵션을 기억하시죠? 데이터베이스를 만들때는 이 옵션들을 이용해서 필요한 경우 사이즈가 자동으로 증가하게 해 주는 것이 좋습니다. 만일 데이터베이스가 꽉 찼는데 사이즈가 늘어나지 않는다면 SQL Server는 더이상의 데이터를 받아 들이지 못하고 경우에 따라서는 아예 작동을 넘추기도 합니다.

데이터베이스의 초기 사이즈는 어느 정도로 할지, MAXSIZE는 어떻게 설정을 할지, 그리고 사이즈 증가가 필요할 때는 어느 정도로 증가가 되게 할지는 관련된 업무를 면밀히 파악해서 결정해야 합니다. 중요한 것은 데이터베이스가 꽉 차는 사태는 없어야 한다는 것입니다. 아무리 사이즈 자동 증가가 되게 했다 하더라도 하드디스크가 여유 공간이 없게되면 더이상의 데이터베이스 사이즈 증가가 불가능하게 되므로 관리자는 하드디스크의 여유 공간도 수시로 확인해 주어야 합니다.

2) 데이터 파일의 사이즈 확장

CREATE DATABASE 문 사용시 'NAME = MyDB_Data' 부분을 기억하시죠? 이 파일의 사이즈를 증가시켜 데이터베이스 사이즈를 증가시켜주는 방법입니다.

[예제1]

ALTER DATABASE MyDB
MODIFY FILE (NAME = MyDB_Data,
SIZE = 30MB)

GO

[설명]

o MODIFY FILE 을 이용하여 Mydb_Data 파일의 사이즈를 30MB로 바꾸었습니다.

3) 데이터 파일 추가

데이터 파일을 추가함으로써 데이터베이스 사이즈를 증가시켜주는 방법입니다.

[예제2]

ALTER DATABASE MyDB
ADD FILE (NAME = MyDB_Data2,
FILENAME = 'D:\Data\MyDB2.ndf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5MB)

GO

[설명]

o ADD FILE 을 이용하여 사이즈가 10MB인 Mydb_Data2 파일을 추가함으로써 데이터베이스 사이즈를 늘렸습니다.
o 이때 FILENAME에 확장자가 ndf 인 파일을 사용했음을 주의하시기 바랍니다.(이해가 안되시면 이전의 강좌를 참고하시기 바랍니다)

3. 데이터베이스 사이즈 줄이기

이런 경우가 있습니다. 데이터베이스를 사용하다보니 사이즈가 꽤 늘었습니다. 그런데 이중에 필요없는 테이블을 지웠더니 실제 데이터베이스 사이즈는 500MB인데 데이터가 차지하는 량은 100MB가 되었습니다. 400MB의 빈공간을 그대로 데이터베이스가 가지고 있게 하는게 아니고 이 중 300MB 정도는 OS로 반환하여 다른 용도로 사용하게 하고 싶습니다.

이런 경우 데이터베이스 사이즈를 줄여주면 됩니다. 데이터베이스 사이즈를 줄려주는 방법은 데이터베이스 옵션을 설정하여 자동으로 줄어들게 하는 방법과 수동으로 사이즈를 줄이는 방법이 있습니다.

1) 자동 축소기능

데이터베이스 사이즈를 자동으로 줄어들게 하려면 다음과 같이 데이터베이스 옵션에서 '자동 축소[N]'을 선택하여 주시면 됩니다. 그러면 SQL Server는 매 30분마다 체크해서 데이터베이스 사이즈를 줄일 수 있는 경우라면 사이즈를 줄여줍니다.


2) DBCC SHRINKDATABASE

데이터베이스의 사이즈를 지정한 퍼센트만큼의 빈공간이 남은 상태로 줄여줍니다. 하지만 처음 데이터베이스가 만들어질 당시의 사이즈보다 작게 줄일 수는 없습니다. 만일 MyDB 데이터 베이스가 처음 10MB의 사이즈였고 지금 100MB인데 많은 부분이 지워져 실제 데이터가 5MB만 차지하고 있다 하더라도 10MB 보다 작게 줄일 수는 없습니다.

[형식]

DBCC SHRINKDATABASE(database_name[,target_percent][,{NOTRUNCATE | TRUNCATEONLY}])

옵션
설명
database_name 줄이고자 하는 데이터베이스 이름
target_percent 전체 사이즈 중에서 빈 공간이 차지하는 사이즈를 얼마로 할것인지 지정
NOTRUNCATE DBCC SHRINKDATABASE 가 수행되면 데이터베이스 뒤쪽의 데이터를 전부 앞으로 이동 시킨 후 비어진 공간을 제거하는 순서로 진행됩니다. NOTRUNCATE 옵션을 사용하면 데이터를 전부 앞으로 가져오기는 하나 뒤 빈 공간을 제거하지는 않습니다. 결국 데이터베이스 사이즈는 변함이 없습니다. 빈 공간이 OS에 반환되지 않는 데이터 조각모음으로 생각하시면 됩니다.
TRUNCATEONLY 데이터 조각모음은 하지 않고 뒷쪽의 빈 공간만 제거하여 OS에 돌려 줍니다. 만일 데이터베이스에 빈 공간이 앞부분이 100MB가 있고 뒷 부분에 200MB가 있다면 이 옵션에 영향을 받는 것은 뒷 부분의 빈공간 200MB입니다.

[예제1]

현재 MyDB의 데이터베이스 사이즈가 10MB 입니다. 실제 데이터가 6MB밖에 되지 않기 때문에 25%의 빈 공간만 남기고 나머지는 OS에 환원 해주고자 합니다. 방법은 다음과 같습니다.

DBCC SHRINKDATABASE (MyDB, 25)

o 결과적으로 MyDB은 8MB로 줄어들게 됩니다. 8MB에서 6MB의 데이터를 뺀 2MB가 8MB의 25% 이기 때문입니다.(아..어려운 산수!)

[예제2]

DBCC SHRINKDATABASE (MyDB)

o 줄일수 있는 만큼 줄여서 최대한 많은 빈공간을 OS에 반환합니다.

3) DBCC SHRINKFILE

데이터베이스를 이루고 있는 파일의 사이즈를 직접 줄이는 방법으로 처음 데이터베이스가 만들어질 당시의 사이즈보다도 작게 줄일 수 있습니다. 물론 실제 데이터가 차지하고 있는 공간은 줄일 수 없습니다. 만일 MyDB 데이터베이스가 처음 10MB의사이즈였고 지금 100MB인데 많은 부분이 지워져 실제 데이터가 5MB만 차지하고 있다면 5MB까지 줄일 수 있습니다. 단, MODEL 데이터베이스 사이즈 보다 작게는 줄일 수 없습니다.

[형식]

DBCC SHRINKFILE(file_name[,target_percent][,{EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}])

옵션
설명
file_name 줄이도자 하는 데이터 파일의 이름을 지정합니다.
target_percent 데이터 파일을 얼마의 사이즈까지 줄일지 MB단위로 지정합니다.
EMPTYFILE 만일 데이터 파일을 완전히 제거해버리고 싶다면 이 옵션을 사용합니다. 그러면 SQL Server는 해당 데이터 파일에 위치하고 있는 데이터를 동일한 파일그룹내의 다른 데이터 파일로 이동시키고, 더이상 이 데이터 파일에는 데이터가 기록되지 않도록 합니다. 실제 데이터 파일을 제거할 때는 ALTER DATABASE 구문을 사용합니다. 단, PRIMARY 그룹의 데이터 파일에는 적용되지 않습니다.

[예제1]

다음의 예는 MyDB 데이터베이스의 사이즈를 10MB로 줄이는 것입니다.

DBCC SHRINKFILE (MyDB_Data, 10)

o 데이터베이스 이름이 아니고 데이터 파일(MyDB_Data)임을 주의하시기 바랍니다.

4. SQL Server 6.5에서 데이터베이스 사이즈 줄이기

SQL Server 6.5에서는 지금까지 설명된 DBCC SHRINKDATABASE나 DBCC SHRINKFILE 문이 지원되지 않습니다. 그래서 SQL Server 6.5에서의 데이터베이스 사이즈 줄이기가 쉽지 않은데 가장 일반적으로 사용되는 방법은 다른 SQL Server에 원하는 사이즈로 해당 데이터베이스를 새로 만들어 놓고 기존 데이터를 Transfer하는 것입니다. SQL Server 7.0이나 SQL Server 2000에서도 이 방법은 사용 할 수 도 있습니다.

5. 데이터베이스 삭제

신중하게 생각해야 할 부분입니다.

데이터베이스를 삭제하게 되면 물리적인 데이터베이스 파일도 삭제가 됩니다. 만일 데이터베이스를 삭제한 다음에 이를 다시 복구하고자 한다면 백업받은 데이터베이스를 복구하는 방법밖에는 없습니다.

데이터베이스 삭제 할수 있는 방법은 EM(Enterprise Manager)를 사용하는 방법과 DROP DATABASE 문을 사용하는 방법 두가지가 있습니다. 두 방법간의 가장 큰 차이점이라면 DROP DATABASE문은 한번에 여러 데이터베이스를 삭제 할 수 있다는 점입니다.

다음의 경우는 데이터베이스를 삭제 할 수 없습니다.

o RESTORE 중인 데이터베이스
o 사용자가 접속되어 있는 데이터베이스
o REPLICATION에 연관된 데이터베이스(아주 아주 나중에 다루게 됩니다)
o 시스템 데이터베이스

[예제1]

다음의 예는 MyDB와 YourDB 두 데이터베이스를 동시에 삭제하는 것입니다.

DROP DATABASE MyDB, YourDB

   


  출처 : http://www.it-bank.or.kr/ms/main_1.htm




Posted by 김윤석
★ MS 2003서버 시스템 엔지니어 과정

MCSE 2003 인증은 비즈니스 요구 사항을 분석하고 Microsoft Windows 2003 플랫폼과 Microsoft
서버 소프트웨어를 기반으로 비즈니스 솔루션용 인프라를 설계하고 구현하는 전문가를 위한
프리미어 인증입니다.


MS Windows 2003 server 기반으로 MCSE 2003 인증 및 네트워크상의 자원이나 보안체계를
효율적으로 관리하는 기술을 습득하기 위한 기본과정입니다.


Windows 2003 server, network infra, Active Directory Service의 implementing, Designing 등 Windows 2003의 Setup부터 Active Directory Servic 구축 및 관리기능 등을 교육하여 Windows 2003 기반의 네트워크 관리자를 양성하기 위한 과정입니다.

MCSE는 공인된 인증을 받는 자격이므로 이러한 부분에 대하여 충분히 만족시킬 수 있습니다.
MCSE 인증은 CEO에게 만족스러운 평가점을 주게 되는데, 이는 직업을 구하고자 하는 사람들이
직업에 필요한 지식과 기술을 보유하고 있음을 나타내는 한편, 이를 취득하기 위해 쏟은 노력과
열정 그리고 끈기를 인정해주는 것입니다.


시스템엔지니어는 다양한 전산자료처리시스템을 운용할 수 있는 능력과 서버 컴퓨터의 운영체제(OS)에 대한 지식, 프로그래밍 언어 및 하드웨어, 데이터베이스(DB) 등의 전산지식, 마케팅·회계등 일반업무에 대한 지식도 필요합니다.


시스템 엔지니어 정규과정은 NT계열 서버, 하드웨어, 네트워크 시스템관련 정규과정입니다.
본 교육과정은 MS NT계열 서버시스템과 하드웨어 네트워크등 시스템엔지니어로써 필요한 모든것을 담고 있는 교육과정입니다.


모든 교과목은 실무위주의 학습을 지향하며 각 과목별 실무전임강사들이 포진하여 최상의 교육성과를 이뤄드립니다.


* 교육 담당 & 관리자 : 김 윤 석 대리
* 교육 문의 & 예약 접수 : 02) 3672 - 3311
* 홈페이지  http://www.it-bank.or.kr/ms/main_1.htm


<본원 수강생 혜택>
* 일반인,학생,미취업자 대상:교육비 최대 50%지원(자체지원과정)
* 고용보험 직장인 대상 : 납입 교육비의 50~80% 환급가능(노동부지원)
* 무료 재수강, 국제공인자격증 시험센터 운영
* 협력업체를 통한 취업지원 (취업정보실운영)


<교육 개강안내>
* 교육시간 : 주 5일(월~금) 일일 3시간 교육 / 주말반 교육
* 개강 : 매달초 개강

-모든 교육과정의 일정은 수강생의 소양에 따라서 선택적 수강이 가능합니다.
-복수수강과 일정조절을 통하여 교육기간을 단축할 수 있습니다.


<세부교육내용>


*1개월차 Windows Server Network - MCSE 1(MCP)
Exam 70-290 : Windows Server 2003 Environment
Exam 70-291 : Windows Server 2003 Network Infrastructure
Exam 70-293 : Windows Server 2003 Network Infrastructure


*2개월차 Windows Active Directory - MCSE 2
Exam 70-294 : Windows Server 2003 Active Directory Infrastructure
Exam 70-297 : Windows Server 2003 Active Directory and Network Infrastructure
(두 과목을 시험만 응시)
Exam 70-270 : Windows XP Professional
Exam 70-298 : Windows Server 2003 Network


*1/2주차
Managing and Maintaining a Microsoft Windows Server 2003 Environment [070-290]

- O.T , MCP 인증에 대해서…
- VMWARE 를 이용한 Windows Server 2003 Lab 구성
- 사용자 계정, 컴퓨터 계정, 그룹 관리 1,2
- 자원 액세스 관리 1,2
- Print 관리 및 구현
- 관리 템플릿 및 감사 정책 구현
- 그룹정책 구현하기
- Server 관리 지원
- Server 성능 모니터링 구현
- Data Storage 관리


*3/4주차
Planning and Maintaining a Microsoft Windows Server 2003 Network Infrastructure [070-293]

- Disaster Recovery(재난복구) 관리
- Windows Server Update Services를 이용한 Software 관리
- Client IP Address 구성

Implementing, Managing, and Maintaining a Microsoft Windows Server 2003 Network Infrastructure [070-291]

- Dynamic Host Configuration Protocol (DHCP) 이용하여 IP Address 자동 할당 1
- Dynamic Host Configuration Protocol (DHCP) 이용하여 IP Address 자동 할당 2
- Client 이름 확인 구성
- Domain Name System (DNS)를 이용하여 Host Names 확인 1
- Domain Name System (DNS)를 이용하여 Host Names 확인 2
- Windows Internet Name Service (WINS)를 이용하여 NetBIOS Names 확인 1
- Windows Internet Name Service (WINS)를 이용하여 NetBIOS Names 확인 2
- 학과정리 및 관련 MCP 시험 문제 풀이


*5/6주차
Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory
Infrastructure [070-294]

- IPSec 과 Certificates(인증서) 를 이용한 Network Traffic 보호 1,2
- Routing and Remote Access를 이용한 Routing 구성 1,2
- Network Access 구성, 관리, 모니터링 1,2
- Active Directory Infrastructure 소개
- Active Directory Forest 와 Domain 구조 구현 1,2
- Organizational Unit(조직 단위) 구조 구현


*7/8주차
Designing a Microsoft Windows Server 2003 Active Directory and Network Infrastructure
[070-297]

- User, Group, and Computer Accounts 구현
- Group Policy 구현
- Group Policy 을 이용하여 Software 관리 및 배포
- Sites 을 이용한 Manage Active Directory 복제 구현 1,2
- Domain Controllers 배치 1,2
- Operations Masters(FSMO) 관리
- Active Directory 유지 관리
- 학과정리 및 관련 시험 문제 풀이

Posted by 김윤석

IIS 4/5에서는 IIS 구성정보를 저장하기 위해 %systemdir%/system32/inetsrv 폴더에 위치한 metabase.bin 파일을 사용한다. 메타베이스는 IIS가 설치된 컴퓨터에 가장 중요한 부분으로 한 시스템에서 다른 시스템으로 그냥 옮길 수 없다.

참고자료 : (http://www.microsoft.com/technet/columns/insider/iisi1101.asp),

하지만 Metaedit 2.2를 사용하여 IIS 4/5의 메타베이스를 내보내기하여 다른 시스템으로 이러한 설정사항들을 가져오기할 수 있다. (http://download.microsoft.com/download/iis50/Utility/5.0/NT45/EN-US/MtaEdt22.exe)

하지만 메타베이스를 한 시스템에서 다른 시스템으로 옮길 때에는 좀더 주의를 기울일 필요가 있다. 예를 들면, 웹사이트의 홈디렉터리가 D: 에 위치해 있는데 MetaEdit를 사용하여 웹사이트를 새로운 시스템의 E:에 가져오기 한다면 IIS는 제대로 동작하지 않게 된다.

메타베이스 이전(migration)에 대한 다른 유틸리티는 IIS Export 이다. 이 유틸리티는 http://www.adsonline.co.uk/IISExport 에서 구할 수 있다. 이 쉐어웨어 유틸리티는 다중 시스템에 IIS를 적용할 수 있도록 데이터베이스에 파일을 복사, 권한 설정, 메타베이스 저장등을 할 수 있다.

마지막으로 IIS Migration Tool이 있다. 이 유틸리티는 Windows 2000 Resource Kit에 포함되어 있으며, http://www.microsoft.com/serviceproviders/downloads/migration_toolsP65238.asp 에서 구할 수 있다.

전송량은 최대 4GB로 제한되며, 메타베이스, 파일들, 권한들을 80포트를 통해 전송할 수 있다. 리소스킷의 유틸리티들은 고객 지원이 되지 않지만 아주 유용하다.


참고로 IIS의 메타베이스 백업 및 복원에 대한 자료도 한번 읽어 두는 것이 좋다. 나중에 MetaEdit 와 IIS Export, IIS Migration Tool에 대한 자료도 정리할 예정이니 기대 바랍니다.

MS추천학원:
http://www.it-bank.or.kr/ms/main_1.htm

Posted by 김윤석
메타베이스(MetaBase)는 IIS 구성 설정을 저장하기 위한 구조이다. Windows 시스템 레지스트리와 몇몇 동일한 기능을 수행하지만 IIS에만 적용된다.

IIS 메타베이스는 여러분의 인터넷 사이트에 대한 가장 핵심적인 정보를 가지는 크고 복잡한 구조로 되어 있다. 따라서, 중요한 데이터를 쉽게 보호하기 위해 메타베이스를 백업함으로써 상대적으로 쉽게 일을 처리할 수 있다. 이 글은 관리적 구성 설정들을 쉽게 복원하기 위해 메타베이스를 백업하는 방법에 대해 다룬다.


  1. IIS 5 메타베이스의 관리적 백업을 생성하는 방법
    1. 시작 을 클릭하고, 프로그램 을 클릭하고, 관리 도구 를 클릭하고, 인터넷 서비스 관리자 를 클릭한다.
    2. 컴퓨터 이름을 오른클릭한다.
    3. 구성 백업 미 복원 을 클릭한다. 그러면 그 컴퓨터의 IIS 5 메타베이스를 백업할 수 있는 대화상자가 나타난다.



    4. Create Backup 을 클릭하고, 이 백업의 이름을 입력해준다.

    NOTE: 백업 이름은 특수기호를 포함할 수 없다. 오직 숫자와 문자들만 사용할 수 있다.
    5. OK 를 클릭하여 메타베이스의 관리 설정을 백업한다. 백업 이름과 날짜 시간은 백업 대화상자에서 나타나게 된다.
    6. 닫기 를 클릭하고, IIS를 종료한다.


    NOTE: 백업의 기본 위치는 %SystemRoot%\System32\inetsrv\MetaBack 폴더 이다. 만약 백업을 다른 위치에 저장하려고 한다면 이 위치에 있는 파일들을 원하는 다른 곳으로 복사하면 된다. 참고로 %SystemRoot% 는 보통 C:\Winnt 폴더이다.


  2. IIS 5 메타베이스의 관리적 백업을 복원하는 방법
    복원 하는 방법은 백업과 유사하다. 따로 설명하지 않는다.

    문제 해결
    앞에서 설명한 과정은 몇가지 제한사항들을 가지고 있다. 일반적으로 여러분들이 생각하는 백업에 대한 잘못된 이해때문으로 정확히 알 필요가 있다.

    첫째, 메타베이스 백업의 복사본을 다른 Windows 2000 설치 본에다 복원할 수 없다는 것이다. 비록 편리한 방법이 될 수도 있지만, 한 IIS 구성을 다른 서버의 IIS 구성과 동일하게 만들어 주지 못한다. 보다 중요한 것은 만약 여러분이 전체 서버가 손상당해 운영체제를 재설치한다면, 이 백업본으로부터 여러분의 IIS 구성을 복원하지 못할 수도 있다. 다른 말로 설명하면, 이 백업은 재난 대비용으로는 적합하지 않다는 뜻이다. 메타베이스 백업 및 복원 기능은 버전 관리와 관리자의 실수를 만회하는데 가장 적절하게 사용될 수 있다.

MS추천학원:
http://www.it-bank.or.kr/ms/main_1.htm
Posted by 김윤석
자주 보안 세미나를 하면서 불필요한 서비스를 제거 하세요 라고 말하지만 각각의 서비스에 대한 설명은 시간 관계상 설명을 하지 못했습니다. 그러면서 참고 할만한 문서를 리소스킷을 위주로 설명을 했는데 MS 에서 번역된 문서가 나왔더군요

참고 하시고요. 그중에 몇가지 주요 설명 부분에 대해서만 소개 시켜 드리겠습니다.

아래 서비스는 사실 특별히 사용 하지 않으면 필요 없는 기능이며 다소 보안에도 문제가 있는 내용이다.

Clipbook Service
Computer Browser Service
Internet Connection Sharing Service
Indexing Service
Infared Monitor Service
NetMeeting Remote Desktop Sharing Service
Remote Registry Service
Routing and Remote Access Service
Server Service(네트워크가 필요 없다면 필요 없는 서비스임)
Simple TCP/IP Service
SMTP Service
FTP Publishing Service
Telnet Service
Task Scheduler Service
Terminal Service (특별히 사용 하지 않으면 중지 시켜 놓는다.)
Windows Media Services

--------------------------------------

아래 기능은 윈도우 2000 이 운영되기 위한 최소 서비스 내용들이다.

Logical Logging Manager
Network Connections
NTLM Security Support Provider
Plug and Play
Server
Workstation
Removeable Strage
Security Accounts Manager
Windows Management Instrumentation
Windows Management Instrumentation driver extensions
WMDM PMSP Service
Application Management

-------------------------------------------------


그외 설명이 필요한 기능이며 발췌는 MS 에서 했습니다.

  • Clipbook - 클립북 뷰어를 지원하여 데이터 "페이지"를 만들고 공유하여 원격 컴퓨터에서 볼 수 있게 합니다. 이 서비스는 다른 컴퓨터에서 연결할 수 있도록 실제 파일 공유를 만들기 위한 NetDDE(네트워크 동적 데이터 교환) 서비스에 종속되어 있으며, 클립북 응용 프로그램과 서비스를 사용하면 공유할 데이터 페이지를 만들 수 있습니다.

    이 서비스는 기본적으로 꺼져 있으며, 사용자가 클립북을 시작한 경우에만 시작됩니다. 이 서비스를 해제하거나 제거하면 Clipbrd.exe를 시작할 때 시간 제한이 초과되어 시작이 불가능하고 원격 액세스를 사용할 수 없다고 알립니다. 그러나 여전히 Clipbrd.exe를 사용하여 로컬 클립보드를 볼 수는 있습니다. 로컬 클립보드에는 사용자가 텍스트를 선택하고 편집 메뉴에서 복사 또는 Ctrl+C를 실행한 데이터가 저장되어 있습니다.

  • COM+ Event System - 가입한 COM(구성 요소 개체 모델) 구성 요소에 이벤트를 자동으로 배포합니다. COM+ 이벤트는 COM+ 프로그래밍 모델을 확장하여 게시자/가입자와 이벤트 시스템 사이의 late-bound 이벤트나 메서드 호출을 지원합니다. 이벤트 시스템은 서버를 반복적으로 폴링하는 대신 정보를 사용할 수 있을 때 해당 당사자에 알립니다.

    COM+ 이벤트는 게시자와 가입자를 위해 이벤트 구문의 대부분을 처리합니다. 게시자는 이벤트 유형 게시를 제의하고 가입자는 특정 게시자의 이벤트 유형을 요청합니다. 가입은 게시자와 가입자 외부에서 유지되며 필요할 때 검색됩니다. 이렇게 하면 둘 모두의 프로그래밍 모델이 단순해집니다. 가입자가 가입을 빌드하기 위한 논리를 포함할 필요가 없어 가입자의 빌드가 COM 구성 요소의 빌드만큼 쉬워집니다. 가입의 수명 주기가 게시자나 가입자 중 하나의 수명 주기와 분리됩니다. 가입자나 게시자 중 하나를 활성화하기 전에 가입을 빌드할 수 있습니다.

    서비스를 끄면 SENS(System Event Notification)가 작동을 멈춥니다. 즉, 로그인 및 로그 오프 알림이 발생하지 않습니다. Volume Snapshot 서비스와 같은 다른 받은 편지함 응용 프로그램이 올바르게 작동하지 않습니다.

  • Computer Browser - 네트워크에 있는 컴퓨터의 최신 목록을 유지하고, 요청하는 프로그램에게 그 목록을 제공합니다. Computer Browser 서비스는 네트워크 도메인과 리소스를 보아야 할 Windows 기반 컴퓨터에서 사용합니다. 브라우저로 지정된 컴퓨터는 해당 네트워크에서 사용되는 모든 공유 리소스를 포함하는 찾아보기 목록을 유지합니다. 네트워크 환경, NET VIEW 명령 및 Windows NT? Explorer 같은 이전 버전의 Windows 응용 프로그램에는 모두 찾아보기 기능이 필요합니다. 예를 들어, Windows 95를 실행 중인 컴퓨터에서 네트워크 환경을 열면 도메인과 컴퓨터의 목록이 표시되는데, 이 작업은 브라우저로 지정된 컴퓨터에서 찾아보기 목록의 사본을 얻은 컴퓨터에 의해 수행됩니다.

    찾아보기 환경에서 컴퓨터가 수행할 수 있는 역할은 여러 가지가 있습니다. 특정 브라우저 역할을 하도록 지정된 컴퓨터에 장애가 발생하거나 시스템 종료가 되는 등 일부 상황에서는 브라우저나 잠재적 브라우저가 다른 작업 역할로 변경될 수도 있습니다. Windows NT는 Computer Browser 서비스를 실행하는 컴퓨터에 다음과 같은 특수 역할을 할당합니다.

  • Distributed Link Tracking(DLT) Client - 네트워크 도메인의 여러 컴퓨터에 걸쳐 있거나 단일 컴퓨터에 있는 NTFS 파일 시스템 사이의 링크를 유지 관리합니다. DLT Client 서비스를 사용하면 대상 파일의 이름이 바뀌거나 이동된 후에도 바로 가기와 OLE(개체 연결 및 포함) 링크가 계속 작동합니다. NTFS v5 볼륨에 있는 파일의 바로 가기를 만들면 DLT(분산 링크 추적)이 링크 원본이라고도 하는 대상 파일에 고유 개체 ID를 부여합니다. 개체 ID에 대한 정보는 또한 링크 클라이언트라고도 하는 참조 파일에도 저장됩니다.

  • Distributed Link Tracking(DLT) Server - 볼륨 간에 이동한 파일을 추적할 수 있도록 도메인 내의 각 볼륨에 대한 정보를 저장합니다. DLT Server 서비스는 도메인 내의 각 도메인 컨트롤러에서 실행됩니다. 이 서비스를 사용하면 DLT Client 서비스가 같은 도메인에 있는 다른 NTFS v5 볼륨 내의 위치로 이동된 링크 문서를 추적할 수 있습니다.

    DLT Server 서비스를 사용하지 않으면 DLT Client 서비스가 유지 관리하는 링크의 안정성이 떨어지며 특히 시간이 지날수록 더욱 두드러집니다. DLT Client가 사용 해제된 서비스에 도달하려는 반복적 시도를 못하도록 하려면 파일 시스템 정책 그룹에서 "NtfsDisableDomainLinkTracking" 정책을 사용 가능하게 설정해야 합니다.

  • Distributed Transaction Coordinator - 데이터베이스, 메시지 대기열, 파일 시스템, 트랜잭션 보호 리소스 관리자 등 여러 리소스 관리자와 여러 컴퓨터 시스템 간의 분산된 트랜잭션을 조정합니다. 트랜잭션 구성 요소가 구성 요소 서비스(COM+)를 통해 구성되는 경우 분산 트랜잭션 코디네이터가 필요합니다. 또한 여러 시스템에 걸쳐 있는 MSMQ(메시지 대기열)의 트랜잭션 대기열 및 Microsoft SQL Server™ 작업에도 분산 트랜잭션 코디네이터가 필요합니다. 이 서비스를 사용하지 않으면 이러한 트랜잭션이 발생하지 않습니다

  • File Replication - 여러 서버 사이에서 파일 디렉터리의 파일 동기화를 유지합니다. File Replication은 Windows 2000의 자동 파일 복제 서비스로, 여러 서버에서 동시에 파일을 복사 및 관리하고 모든 도메인 컨트롤러에서 Windows 2000 시스템 볼륨 SYSVOL을 복제하는 데 사용됩니다. 또한 내결함성이 있는 DFS(분산 파일 시스템)와 관련된 대체 대상 사이에서 파일을 복제하도록 이 서비스를 구성할 수 있습니다. 이 서비스를 사용하지 않으면 파일 복제가 발생하지 않고 서버 데이터가 동기화되지 않습니다. 도메인 컨트롤러의 경우 파일 복제 서비스를 중지시키면 해당 기능에 심각한 손상이 발생됩니다.

  • Internet Authentication Service(IAS) - VPN(가상 개인 네트워크) 장비, RAS(원격 액세스) 장비 또는 802.1x 무선 및 이더넷/Switch Access Point를 사용하여 네트워크(LAN 또는 원격)에 접속하는 사용자의 인증, 권한 부여, 감사 및 계정 작업을 집중화하여 수행합니다. IAS(인터넷 인증 서비스)는 이기종 네트워크 액세스 장비를 사용할 수 있게 해주는 IETF 표준 RADIUS(원격 인증 전화 접속 사용자 서비스) 프로토콜을 구현합니다. IAS를 사용 안함으로 설정하거나 중지하면, 백업 IAS 서버를 사용할 수 있는 경우 인증 요청이 백업 IAS 서버로 옮겨져 장애 조치가 수행됩니다. 다른 백업 IAS 서버를 사용할 수 없으면 네트워크에 연결할 수 없습니다.

  • Intersite Messaging(ISM) - Windows 서버 간에 메시지를 주고 받을 수 있게 합니다. 이 서비스는 사이트 간의 메일 기반 복제에 사용됩니다. Active Directory는 IP로 SMTP 전송을 사용하여 사이트 간의 복제를 지원합니다. SMTP 지원은 IIS의 구성 요소인 SMTP 서비스에서 제공됩니다. 사이트 간의 통신에 사용되는 전송 집합은 확장 가능해야 하므로 각 전송이 별도의 추가 기능 DLL(동적 링크 라이브러리)에서 정의됩니다. 이러한 추가 기능 DLL은 사이트 간의 통신을 수행하는 데 적합한 모든 도메인 컨트롤러에서 실행되는 ISM 서비스로 로드됩니다. ISM 서비스가 보내기 요청과 받기 요청을 적절한 전송 추가 기능 DLL로 보내면, 이 DLL이 대상 컴퓨터의 ISM 서비스로 메시지를 전달합니다

  • IPsec(IP 보안) 정책을 관리하고, IKE(인터넷 키 교환)을 시작하고, IP 보안 드라이버와 IPsec 정책 설정을 조정합니다.

  • License Logging Service - SQL Server 및 Microsoft Exchange Server 같은 다른 제품뿐 아니라 IIS, 터미널 서비스, 파일 및 인쇄 서비스 등 서버 제품에 대한 클라이언트 액세스 라이센스 사용을 추적합니다. 이 서비스를 사용 안함으로 설정하면 이러한 프로그램에 대한 라이센스가 올바르게 적용되지만 더 이상 사용을 추적하지 않습니다.

  • Logical Disk Manager - 검색할 새 드라이브에 대한 플러그 앤 플레이 이벤트를 관찰하고, 구성할 Logical Disk Manager Administrative Service에 볼륨 및/또는 디스크 정보를 전달합니다. 이 서비스를 사용 안함으로 설정하면 디스크를 추가하거나 제거해도 디스크 관리 스냅인 표시가 변경되지 않습니다. 논리 디스크 관리자는 관리자 서비스와 감시 서비스를 사용합니다. 시스템에 동적 디스크가 있으면 서비스를 사용해야 합니다.

  • Logical Disk Manager Administrative Service - 디스크 관리 요청에 대한 관리 서비스를 수행합니다. 이 서비스는 드라이브나 파티션을 구성하거나 새로운 드라이버가 검색된 경우에만 시작됩니다. 기본적으로 이 서비스는 실행되지 않지만 동적 디스크 구성이 변경될 때마다 또는 디스크 관리 MMC 스냅인이 열릴 때 활성화됩니다. 기본 디스크를 동적으로 변경하는 경우, 내결함성이 있는 볼륨을 복구하는 경우, 볼륨을 포맷팅하는 경우, 페이지 파일을 변경 경우에 동적 디스크 구성이 변경됩니다. 서비스는 구성 작업을 시작해서, 완료한 다음 종료합니다.

  • Message Queuing(MSMQ) - Windows용 분산 메시징 응용 프로그램을 만들기 위한 메시징 인프라 및 개발 도구. 분산 메시징 응용 프로그램은 이기종 네트워크 간에 통신할 수 있고 일시적으로 연결이 중단된 컴퓨터 사이에서도 메시지를 보낼 수 있습니다. 메시징 대기열은 보장된 메시지 전달, 효율적인 라우팅, 보안, 트랜잭션 내에서 메시지를 보내기 위한 지원, 우선 순위 기반 메시징 기능 등을 제공합니다. 메시지 대기열은 관리를 포함하여 모든 프로그래밍 방식의 기능에 대해 Win32? 및 COM API를 모두 제공합니다. 메시지 대기열을 사용 안함으로 설정하면 COM+ QC(대기 중인 구성 요소) 기능, 일부 WMI 및 MSMQ Triggers 서비스를 포함하여 다른 많은 서비스에 영향을 받습니다.

  • NT LM Security Support Provider - 사용자가 NTLM 인증 프로토콜을 사용하여 네트워크에 로그온할 수 있게 합니다. 이 서비스를 중지하면 도메인에 로그온해서 서비스에 액세스할 수 없습니다. NTLM은 대개 Windows 2000 이전의 Windows 버전에서 사용됩니다.

  • Remote Procedure Call(RPC) - 종점 매퍼 및 기타 RPC 서비스를 제공합니다. 이것은 RPC 종점 매퍼와 COM SCM(서비스 컨트롤 관리자)입니다. 이 서비스를 끄면 해당 컴퓨터가 부팅되지 않습니다. 참고 항목 Remote Procedure Call(RPC) Locator.

  • Remote Procedure Call(RPC) Locator - RPC 클라이언트에 대한 이름 서비스를 제공합니다. 이 서비스는 API 중에서 RpcNs 패밀리를 지원하며 회사 내에서 해당 인터페이스를 지원하는 RPC 서버를 찾는 데 도움을 줍니다(RPC 명명된 서비스라고도 함).

  • Security Accounts Manager - 이 서비스가 시작되면 보안 계정 관리자 하위 시스템에서 요청을 받아들일 준비가 되었음을 다른 서비스에 신호로 알립니다. 이 서비스를 사용 안함으로 설정해서는 안 됩니다. 그렇게 하면 시스템 내의 다른 서비스에 SAM이 준비되었다는 것이 알려지지 않으며, 그 결과 해당 서비스들이 올바르게 시작되지 않을 수도 있습니다.

  • Simple TCP/IP Services - 다음 프로토콜에 대한 지원을 구현합니다.

    Echo(포트 7, RFC 862)
    Discard(포트 9, RFC 863)
    Character Generator(포트 19, RFC 864)
    Daytime(포트 13, RFC 867)
    Quote of the Day(포트 17, RFC 865)
    이 서비스를 사용 가능하게 설정하면 5가지 프로토콜을 모두 전체 어댑터에서 사용할 수 있습니다. 특정 서비스만 선택해서 사용하거나 개별 어댑터 단위로 이 서비스를 사용할 수 있는 규정은 없습니다. 서비스를 사용 안함으로 설정해도 나머지 운영 체제는 영향을 받지 않습니다.

  • TCP/IP NetBIOS Helper Service - NetBT(NetBIOS over TCP/IP) 서비스와 NetBIOS 이름 확인에 대한 지원을 사용할 수 있게 합니다. 이 서비스는 커널 모드 NetBT를 확장한 것으로, 일반 서비스가 아니라 NetBT에 통합된 부분으로 간주해야 합니다. 이 서비스는 NetBT에 대해 커널 모드에서는 수행할 수 없는 다음 두 가지 작업을 수행합니다.

  • Trivial FTP Daemon - TFTP(Trivial 파일 전송 프로토콜)은 원격 설치 서비스에 통합된 부분으로, 다음 RFC에 정의된 TFTP 프로토콜에 대한 지원을 구현합니다
MS추천학원:
http://www.it-bank.or.kr/ms/main_1.htm

Posted by 김윤석
이번에는 Windows 2000 VPN 서버에서 구현될 수 있는 PPTP, L2TP 터널링 프로토콜에 대한 글입니다.

VPN은 터널링이라는 기법을 이용하여 데이터의 보안을 취하고 있습니다. 터널링이란 서로 다른 연결 기반의 네트워크에서 네트워크 간에 연결을 지향하기 위한 방식입니다. 아래의 그림을 보면 터널링의 개념을 보다 쉽게 이해할 수 있습니다.


일반적인 VPN 연결을 도식화한 그림인데 서버와 클라이언트는 공용망을 이용하여 연결을 생성하고 가상의 터널을 생성하여 서로 데이터를 주고 받습니다. 대개 터널링은 캡슐화, 전송, 탈캡슐화라는 과정을 거치게 됩니다.


  1. 클라이언트는 데이터를 공용망에서 사용하는 패킷의 형태로 데이터를 재포장합니다.
  2. 그런 다음 공용망을 이용하여 데이터를 전송하고
  3. 서버는 전송된 패킷의 포장을 풀고 원래 데이터를 자신이 연결된 내부 네트워크로 라우트합니다.


VPN이 RRAS의 일부 기능이 되는 까닭은 패킷의 재 라우트가 필요하기 때문일지도 모르겠습니다. 캡슐화라는 것은 원래의 데이터를 전송하고자 하는 연결 기술의 패킷으로 재구성하는 것을 말합니다. VPN C/S는 이러한 과정을 수행하는 소프트웨어나 하드웨어를 지칭하는 말이 되겠지요.

이미 이러한 터널링을 수행하기 위한 잘 알려진 프로토콜이 있습니다. 바로 PPP지요. 많이 들어는 보셨는데 뭔지는 잘 모르고 쓰셨을 겁니다. 그것이 중요한 것은 아니지요. 오늘 얘기는... -_-;;;
PPTP, L2TP 이것이 궁금한 놈들이죠...^^

PPTP는 PPP의 확장판이라고 보시면 됩니다.
PPP는 전화 통신 기반의 터널링 프로토콜이고 PPTP 는 IP기반 네트워크를 이용하기 위한 터널링 프로토콜입니다. PPP는 데이터를 PPP헤더로 감싸서 캡슐화를 하는데 PPTP 는 여기에 GRE(Generic Routing Encapsulation) 헤더와 IP 헤더를 추가하여 IP 인터네트워크를 통해 전송될 수 있도록 패킷을 재구성하는 프로토콜입니다. 보안적인 측면에서 PPTP는 MPPE라는 암호화 기법을 사용하는데 이는 PPP 기반의 암호화 기술과 동일합니다. 약간의 제약이라면 MPPE는 인증 프로토콜을 MS-CHAP v1, v2 or EAP-TLS를 사용했을 경우에만 사용이 가능합니다.

L2TP는 L2F라는 시스코에서 만든 터널링 프로토콜과 PPTP 의 합체(?)라고 보시면 무방할 듯 합니다. PPTP의 단점은 암호화가 약하다는 것인데 (사실 128bit 암호화가 약하다고 말하는 사람은 대단한 해커나 뭘 모르는 사람들의 얘기일 겁니다.-_-;;;) 어쨌거나 약하다는 생각에 시스코와 MS가 합작으로 만들어 낸 것이 L2TP입니다. PPTP는 IP 기반 인터네트워크가 반드시 필요한 반면에 L2TP는 패킷 중심의 네트워크이면 어디서나 사용이 가능합니다. 좀 더 확장성이 있다고 보시면 되겠고, 문제는 보안의 방식을 IPSec을 채택했다는 것 입니다. 주로 인증서 기반의 IPSec을 사용하여 암호화를 처리하기 때문에 보안이 아주 뛰어나다는 장점이 있습니다. 하지만 만능은 없겠죠. ^^

PPTP와 L2TP는 서로 사용 시기가 약간 다르기 때문에 어느 것이 좋고 나쁘다는 결론을 내리기는 쉽지 않습니다. PPTP는 NAT가 가능하고 여러 클라이언트(9X, NT, 2K...)를 지원하는 반면에 L2TP는 NAT가 불가능하고 오로지 2K 클라이언트에서만 동작합니다. 물론 다른 소프트웨어를 사용하는 경우는 예외로 치고 말입니다. 기존 인프라를 최대로 이용하고자 하고 보안의 위험이 다소 약할 때에는 PPTP가 치상의 선택이 될 것이고, 보안을 최고로 하는 환경에서는 L2TP/IPSec이 가장 좋은 솔루션이 될 것 입니다. 아래에 두 프로토콜의 주요한 차이를 보여주는 표가 있습니다.

MS추천학원:
http://www.it-bank.or.kr/ms/main_1.htm
Posted by 김윤석
단 위 조건에서는 C 드라이브가 윈도우 95/98 등이 설치 되었을 때를 이야기를 하며, 또한 다른 말로 D 드라이브에 윈도우 2000 이 설치 되었는데 설치된 파일에는 손상이 가지 않고 단지 C 드라이브만 문제를 야기 되었을 때를 말한다.
이런 경우는 대부분 튜얼 부팅을 사용 할 때 겪는 문제이지 회사에서 서버로 운영 시 문제 되는 경우를 해당 되지는 않는다. 단지 이런 방법을 통해서 해결 방안에 대해서는 생각 해 볼 수는 있을 것이다.

필자도 전에 이런 경우가 발생한 적이 있었다. 물론 사용이 불능인지 알고 다시 설치한 경험이 있다. 여러분은 어떤가요. 어떻게 이런 사항을 극복을 했는지 글을 적어 주시길 바랍니다.

먼저 이 글을 읽고 테스트를 해 보려고 하는 분들에게 이 문제로 더 큰 문제를 야기 시키는 사항에 대해서는 책임을 질 수 없다는 말을 남겨드리며, 백업을 항상 우선시 해야 한다는 점 잊지 말기를 바란다.

위 문제에 해결방안은 모든 컴퓨터가 해당될지는 모르겠다. 하지만 이론적인 것과 실제 몇 대의 시스템에 적용 할 결과 큰 어려움 없이 진행이 되어서 참고가 되기를 바라면서 몇자 적어본다.

아래 테이블은 부팅 시 실제 경로명과 어떠한 파일이 부팅 시 필요한지 보여 드리고자 제시한 내용이니 참고 하기를 바란다.


위 사항을 잘 살펴 보면 C 드라이브에 있는 파일들이 어떤 것들인지 볼 수 있으며 만약 D 에 윈도우 2000 이 설치 될 경우는 어떠한 파일이 존재 하는지를 볼 수 있다.

그럼 C 드라이브에는 어떤 포맷방식으로 포맷을 했는지는 모르겠지만 만약 윈도우 2000 에서 포맷을 할 경우와 도스나 윈도우 95/98 등에서 포맷을 하게 될 경우에 대한 사항만 이해 해서 알게 된다면 해결 방안은 그리 어렵지 않다는 것이다.

간단한 방식으로 윈도우 2000 부팅 할 수 있는 디스크(다른 말로 시동 디스크)를 작업 해
봤다면 쉽게 이해 할 수 있을 것이다.


  • 윈도우 2000 시동 디스크 만드는 방법
    서로 다른 두 가지 방법으로 테스트를 해 보기를 바란다. 작업 후 어떠한 차이점이 있는지 확인을 해 본다.

    첫번째 방법
    1. 하나의 공 디스크에 도스 포맷된 상태로 아래 파일들을 복사 한다.
    2. 아래 파일들을 디스크에 복사 한다.
    - NTLDR
    - Ntdetect.com
    - Boot.ini
    - Ntbootdd.sys(SCSI)
    3. 디스크를 넣고 첫번째 부팅을 FDD 로 BIOS 작업 후 부팅을 한다.

    두번째 방법
    1. 하나의 공 디스크를 윈도우 2000 에서 포맷을 한다.
    2. 그 다음 순서는 첫번째 방법도 동일하다.

    위 비교를 하게 되면 어떠한 차이점이 있는지 여러분을 알게 될 것이다. 차이점은 죄송 하지만 말하지 알겠다. 직접 테스트를 통해서 살펴 보기를 바란다.

    --------------- 필자 궁금증? --------
    만약 하나의 디스크를 받게 되었다. 고스트로 백업을 하는 것이 아니라 전체를 복사해서 예전에 시스템을 그대로 복원이 가능 할까? 한번 고민 해 볼 문제가 아닌가 싶다. 그렇게 되어서 원래에 상태로 복원이 어느 정도나 가능 할지 나 자신도 궁금 하다. 차후 이러한 글에 대해서 글을 쓰기를 희망 하며 먼저 작업한 분들이 있다면 글을 제시 바란다.
    --------------------------------------------------------------

    갑자의 위와 같은 말을 하게 되는지 궁금 할 수도 있지만 복원에 대해서 생각해 본 분들이라면 왜 윈도우 2000 은 복원 방법이 왜 이리 까다로운지 모르겠다고 생각을 많이 했다면 이해 되리라 생각이 된다. 나만 이해가 되는지 모르겠지만…

  • 해결 방법
    다시 본론으로 들어 가서 C 드라이브를 포맷을 하게 되었다. 해결 방안은 무엇인가. 아래 사전 조건과 해결 방안을 하나씩 소개 하도록 하겠다.


    • 사전 설치 환경
      - C 드라이브는 윈도우 95/98 설치로 작업 하던 환경
      - D 드라이브에 윈도우 2000 (\\systemroot\system32\) 파일이 존재 하게 될 경우 C 드라이브를 포맷 했다.

      위와 같은 문제가 발생 하게 될 경우는 다소 막막한 현상이 발생을 하게 되나 특별한 문제점을 제공 되지는 않는다.

    • 해결 작업 방법
      - C 드라이브에 부팅 가능 한 파일을 제공을 한다.
      (NTLDR , Boot.ini , Ntdetect.com , Ntbootdd.sys(SCSI 일경 우만) )
      - MBR 및 부트 섹터를 생성한다(만약 NTFS 로 포맷을 하게 될 경우는 특별한 문제 없이 진행이 되겠지만 그렇지 않은 경우에 처리를 한다.)

      위 방법에서 MBR 및 부트섹터를 생성 하는 방법에 대한 질문이 있을 거라 생각이 되며 그 방법은 복구콘솔에서 작업을 하면 된다. 복구 콘솔에 대한 것은 윈도우 2000 기술 자료(MCSE/NTFAQ 사이트 참고)를 참고 한다면 많은 도움이 되리라 판단이 되며 fixmbr/fixboot 등으로 작업을 하게 된다는 것을 알 수 있다.


위 작업으로 해결을 하지 못하게 된다면 자세한 사항에 대해서 질문을 주기를 바라며 저 또한 항상 새로운 사항을 발견하면서 놀라운 윈도우 2000 특성을 타게 된다는 것을 알 수 있었다.

글세 윈도우 2000 이라는 것이 꼭 틀에 박힌 이야기 보다는 달리 방법을 생각해 본다면 아주 새로운 것을 많이 접할 수 있다는 것이다. 그러면서 복원에 대한 생각도 점점 깊어질 수 있다는 점 절대 잊지를 말기를 바라며 레지스터리에 대한 생각도 같이 하게 된다면 더욱 더 좋은 생각도 많이 접할 수 있다는 점도 깊이 새기기를 바란다.
MS추천학원:
http://www.it-bank.or.kr/ms/main_1.htm
Posted by 김윤석

카테고리

놀며즐기고 공부하기 (685)
 IT 정보 (653)
News (3)
오라클/OCP (13)
정보보안 (79)
MCSE (113)
CCNA/CCNP (108)
리눅스/LPIC (94)
자바/JSP/EJB (114)
C언어 (97)
 재테크 (0)
 엔터테이먼트 (11)
 인터넷마케팅 (0)
 사이트 추천 (1)
사이드바 열기