Oracle 전문가를 위한 Microsoft SQL Server 2000
요약: 이 문서에서는 Microsoft® SQL Server 2000 데이터베이스와 Oracle 데이터베이스 간의 차이점에 대해 설명합니다. 이 문서는 SQL Server 2000으로 마이그레이션을 위해 데이터베이스를 준비하는 Oracle 전문가를 위한 것입니다.
Oracle에서 데이터베이스라는 용어는 아래와 같은 구성 요소가 포함된 전체 Oracle RDBMS 환경을 뜻합니다.
Microsoft® SQL Server 2000 데이터베이스는 데이터, 응용 프로그램 및 보안 메커니즘을 논리적으로 구분합니다. SQL Server의 설치(인스턴스)는 여러 데이터베이스를 지원할 수 있습니다. SQL Server를 사용하여 작성한 응용 프로그램은 데이터베이스를 사용하여 비즈니스 기능을 논리적으로 나눌 수 있습니다. 단일 컴퓨터에는 SQL Server의 여러 인스턴스가 있을 수 있습니다. SQL Server의 각 인스턴스는 여러 데이터베이스를 가질 수 있습니다. 각 SQL Server 데이터베이스는 실제로 데이터를 여러 곳에 분산시키는 기능을 제공하는 파일 그룹을 지원할 수 있습니다. SQL Server 파일 그룹은 단일 SQL Server 데이터베이스의 데이터가 들어 있는 운영 체제 파일을 분류하여 백업과 같은 데이터베이스 관리 작업을 단순하게 만듭니다. 파일 그룹은 SQL Server 데이터베이스의 속성이며 단일 데이터베이스가 파일 그룹을 둘 이상 포함할 수 있지만 데이터베이스의 운영 체제 파일을 둘 이상 포함할 수 없습니다. 데이터베이스를 만든 후에 파일 그룹을 데이터베이스에 추가할 수 있습니다.
Microsoft SQL Server는 기본적으로 아래와 같은 데이터베이스를 설치합니다.
기본 데이터베이스에 대한 자세한 내용은 SQL Server 온라인 설명서를 참조하십시오.
각 Oracle 데이터베이스는 SYSTEM 테이블 공간에 있는 중앙 집중식 시스템 카탈로그 또는 데이터 딕셔너리에서 실행됩니다. 각 Microsoft SQL Server 2000 데이터베이스는 아래 항목에 대한 정보가 포함된 자체의 시스템 카탈로그를 유지합니다.
또한 SQL Server의 master 데이터베이스에는 아래와 같은 개별 데이터베이스에 대한 일부 정보 및 시스템 카탈로그가 포함된 중앙 집중식 시스템 카탈로그가 제공됩니다.
Oracle의 SYSTEM 테이블 공간과 마찬가지로 SQL Server의 master 데이터베이스도 다른 모든 데이터베이스에 액세스하는 데 사용할 수 있어야 합니다. 이런 점에서 중요한 데이터베이스 변경 후에 master 데이터베이스를 백업하여 장애로부터 보호하는 것이 중요합니다. 데이터베이스 관리자가 master 데이터베이스를 구성하는 파일을 미러링할 수도 있습니다. 마스터 데이터베이스와 다른 모든 데이터베이스에 포함된 시스템 테이블에 대한 자세한 목록은 SQL Server 온라인 설명서의 "시스템 테이블"을 참조하십시오.
Oracle RDBMS는 테이블 공간으로 구성되며 테이블 공간은 데이터 파일로 구성됩니다. 테이블 공간 데이터 파일은 블록이라는 내부 단위로 정의됩니다. 블록 크기는 Oracle 데이터베이스가 처음 만들어질 때 DBA를 통해 설정됩니다. Oracle 테이블 공간에 개체를 만들 때 사용자는 익스텐트(초기 익스텐트, 다음 익스텐트, 최소 익스텐트, 최대 익스텐트)라는 단위로 공간을 지정할 수 있습니다. 익스텐트 크기를 명시적으로 정의하지 않은 경우 기본 익스텐트가 만들어집니다. Oracle 익스텐트는 크기가 다양하며 최소한 5개의 블록이 연속되어 있어야 합니다. Microsoft SQL Server 2000에서는 데이터베이스 수준에 파일 그룹을 사용하여 테이블과 인덱스의 실제 위치를 제어합니다. 파일 그룹은 하나 이상의 파일이 포함된 논리 컨테이너이며 파일 그룹에 포함된 데이터는 그 파일 그룹에 속하는 모든 파일에 걸쳐 비례적으로 채워집니다. 파일 그룹을 정의하거나 사용하지 않으면 데이터베이스를 만들 때 암시적으로 정의되는 기본 파일 그룹에 데이터베이스 개체가 배치됩니다. 파일 그룹을 사용하여 아래 작업을 수행할 수 있습니다.
SQL Server에서는 파일을 페이지라는 내부 단위로 정의합니다. 페이지 크기는 8,192바이트(8KB)로 고정되어 있습니다. 페이지는 8개의 연속 페이지로 크기가 고정된 익스텐트로 구성됩니다. SQL Server 데이터베이스에 테이블이나 인덱스를 만들면 익스텐트 내에 한 페이지가 자동으로 할당됩니다. 테이블이나 인덱스가 커지면 SQL Server에 의해 전용 익스텐트가 자동으로 할당됩니다. 이에 따라 Oracle처럼 전체 익스텐트를 할당하는 것보다 효율적으로 작은 테이블과 인덱스를 저장할 수 있습니다. 자세한 내용은 SQL Server 온라인 설명서의 "실제 데이터베이스 아키텍처"를 참조하십시오.
Oracle 형식의 세그먼트는 대부분의 Microsoft SQL Server 설치에 필요하지 않습니다. 대신, SQL Server는 하드웨어 기반 RAID 또는 Windows NT 디스크 관리자 유틸리티나 타사 유틸리티를 통해 사용할 수 있는 Windows NT 소프트웨어 기반 RAID를 사용하여 데이터를 더 효율적으로 분산시키거나 스트라이프할 수 있습니다. RAID를 사용하면 하나의 논리 드라이브로 나타나는 여러 디스크 드라이브로 구성된 스트라이프 세트를 설정할 수 있습니다. 이 스트라이프 세트에 데이터베이스 파일이 만들어지면 디스크 하위 시스템이 여러 디스크 간에 I/O 로드를 분산시킬 책임을 집니다. 관리자가 RAID를 사용하여 여러 개의 실제 디스크에 데이터를 분산시키는 것이 바람직합니다. SQL Server에 권장되는 RAID 구성은 RAID 1(미러링) 또는 RAID 5(예비 패리티 드라이브가 있는 스트라이프 세트)입니다. RAID 10(패리티가 있는 스트라이프 세트 미러링)도 권장되지만 앞의 두 가지 옵션보다 훨씬 비용이 많이 듭니다. 스트라이프 세트는 데이터베이스 파일에 대한 일반적인 임의 I/O를 분산시키는 기능이 뛰어납니다. RAID를 사용하지 않는 경우 RAID에서 얻을 수 있는 이점을 어느 정도 제공하는 파일 그룹이 좋은 대안이 될 수 있습니다. 또한 여러 개의 실제 RAID 배열에 걸쳐 있는 아주 큰 데이터베이스의 경우, 파일 그룹은 여러 RAID 배열 간에 I/O를 제어된 방식으로 좀더 많이 분산시킬 수 있는 매력적인 방법이 될 수 있습니다. 트랜잭션 로그 파일은 순차적 I/O를 위해 최적화되어야 하며 한 지점에 장애가 발생해도 유지되어야 합니다. 따라서 트랜잭션 로그에는 RAID 1(미러링)이 권장됩니다. 마이그레이션할 때 이 드라이브의 크기는 적어도 Oracle 온라인 REDO 로그와 Oracle 롤백 세그먼트 테이블 공간을 합한 크기와 같아야 합니다. 논리 드라이브에 정의된 모든 공간을 차지하는 로그 파일을 하나 이상 만들어야 합니다. 파일 그룹에 저장된 데이터와 달리 트랜잭션 로그 항목은 언제나 순차적으로 기록되며 비례적으로 채워지지 않습니다. RAID에 대한 자세한 내용은 SQL Server 온라인 설명서, Windows NT Server 설명서, Microsoft Windows NT Resource Kit를 참조하십시오.
Oracle RDBMS가 시작될 때마다 자동 복구가 수행됩니다. Oracle RDBMS는 테이블 공간 파일의 내용이 온라인 REDO 로그 파일의 내용과 일치하는지 확인합니다. 이들이 일치하지 않으면, Oracle은 온라인 REDO 로그 파일의 내용을 테이블 공간 파일에 적용한 다음(롤포워드) 롤백 세그먼트에 있는 커밋되지 않은 트랜잭션을 모두 제거합니다(롤백). 온라인 REDO 로그 파일에서 필요한 정보를 얻지 못하면 Oracle은 보관된 REDO 로그 파일을 참조합니다. Microsoft SQL Server 2000도 시작될 때마다 시스템의 각 데이터베이스를 검사하여 자동 데이터 복구를 수행합니다. 먼저 master 데이터베이스를 검사하고 시스템의 다른 모든 데이터베이스를 복구하기 위한 스레드를 시작합니다. 각 SQL Server 데이터베이스에 대해 자동 복구 메커니즘이 트랜잭션 로그를 검사합니다. 트랜잭션 로그에 커밋되지 않은 트랜잭션이 있으면 트랜잭션이 롤백됩니다. 그런 다음 복구 메커니즘이 커밋은 되었지만 아직 데이터베이스에 기록되지 않은 트랜잭션을 트랜잭션 로그에서 검사합니다. 이런 트랜잭션이 있으면 그 트랜잭션을 다시 수행하여 롤 포워드합니다. 각 SQL Server 트랜잭션 로그에는 Oracle 롤백 세그먼트와 Oracle 온라인 REDO 로그를 결합한 기능이 있습니다. 각 데이터베이스에는 모든 데이터베이스 변경 사항을 기록하고 그 데이터베이스의 모든 사용자가 공유하는 자체의 트랜잭션 로그가 있습니다. 트랜잭션이 시작되고 데이터 수정이 발생하면 수정 이벤트는 물론 BEGIN trANSACTION 이벤트가 로그에 기록됩니다. 이 이벤트는 자동 복구 중에 트랜잭션 시작점을 결정하는 데 사용됩니다. 각 데이터 수정 문이 수신되면 변경 사항이 데이터베이스 자체에 기록되기 전에 트랜잭션 로그에 기록됩니다. SQL Server에는 완료된 트랜잭션이 SQL Server 디스크 캐시에서 트랜잭션 로그 파일로 정상적으로 기록되었는지 확인하는 자동 검사점 메커니즘이 있습니다. 검사점은 마지막 검사점 이후 수정된 모든 캐시 페이지를 데이터베이스에 기록합니다. 커밋되지 않은 데이터 페이지라고도 하는 이러한 캐시 페이지를 데이터베이스에 검사점으로 처리하면 완료된 모든 트랜잭션이 디스크에 확실히 기록됩니다. 이를 통해 정전 같은 시스템 고장 시 복구하는 데 걸리는 시간이 단축됩니다. 이 설정은 SQL Server 엔터프라이즈 관리자 또는 transact-SQL(sp_configure 시스템 저장 프로시저)을 사용하여 복구 간격 설정을 수정하면 변경할 수 있습니다.
Microsoft SQL Server 2000은 아래와 같은 여러 가지 데이터 백업 옵션을 제공합니다. 데이터베이스 전체 백업 데이터베이스 백업은 전체 데이터베이스의 복사본을 만듭니다. 모든 페이지가 백업 세트에 복사되지 않고 실제로 데이터가 들어 있는 페이지만 복사됩니다. 데이터 페이지와 트랜잭션 로그 페이지 모두 백업 세트에 복사됩니다. 데이터베이스 백업 세트는 BACKUP 문이 완료되었을 때처럼 데이터베이스를 다시 만드는 데 사용됩니다. 데이터베이스에 대한 데이터베이스 백업만 있는 경우 서버나 데이터베이스 오류가 발생하기 전에 마지막으로 데이터베이스를 백업한 상태로만 복구할 수 있습니다. 데이터베이스 전체를 백업하려면 BACKUP DATABASE 문 또는 백업 마법사를 사용합니다. 차등 백업 데이터베이스 전체 백업을 한 후 BACKUP DATABASE WITH DIFFERENTIAL 문 또는 백업 마법사를 사용하여 변경된 데이터와 인덱스 페이지만 정기적으로 백업합니다. 트랜잭션 로그 백업 Microsoft SQL Server의 트랜잭션 로그는 각 데이터베이스와 연결되어 있습니다. 트랜잭션 로그는 백업되거나 잘릴 때까지 채워집니다. SQL Server 2000의 기본 구성에 따라, 트랜잭션 로그는 사용 가능한 모든 디스크 공간을 사용하거나 구성된 최대 크기에 이를 때까지 자동으로 커집니다. 트랜잭션 로그가 너무 많이 차면 오류가 발생할 수 있고 트랜잭션 로그를 백업하거나 잘라낼 때까지 더 이상 수정하지 못할 수 있습니다. 다른 데이터베이스는 영향을 받지 않습니다. BACKUP LOG 문 또는 백업 마법사를 사용하여 트랜잭션 로그를 백업할 수 있습니다. 파일 백업, 파일 그룹 백업 파일이나 파일 그룹 백업은 지정된 데이터베이스의 파일을 하나 이상 복사하여 데이터베이스를 파일이나 파일 그룹 수준의 작은 단위로 백업할 수 있습니다. 자세한 내용은 SQL Server 온라인 설명서를 참조하십시오. 데이터베이스 사용 중에 백업을 수행할 수 있으므로 계속적으로 실행되어야 하는 시스템을 백업할 수 있습니다. SQL Server의 백업 처리와 내부 데이터 구조는 트랜잭션 처리량에 대한 영향을 최소화하고 데이터 전송 속도를 최대화할 수 있습니다. Oracle과 SQL Server 모두 특정 로그 파일 형식을 필요로 합니다. SQL Server에서는 백업 장치라고 부르는 이러한 파일을 SQL Server 엔터프라이즈 관리자, transact-SQL sp_addumpdevice 저장 프로시저 또는 이에 상응하는 SQL-DMO 명령을 사용하여 만듭니다. 수동으로 백업할 수도 있지만 SQL Server 엔터프라이즈 관리자나 데이터베이스 유지 관리 계획 마법사를 사용하여 주기적인 백업 또는 데이터베이스 활동을 기반으로 하는 백업을 계획하는 것이 바람직합니다. 데이터베이스 전체 백업(장치)에 트랜잭션 로그 백업 및 차등 백업을 적용하면 데이터베이스를 특정 시점으로 복원할 수 있습니다. 데이터베이스 복원은 백업에 포함된 정보로 데이터를 덮어씁니다. 복원은 SQL Server 엔터프라이즈 관리자, transact-SQL(RESTORE DATABASE), SQL-DMO를 사용하여 수행할 수 있습니다. Oracle에서 자동 백업을 무시할 수 있듯, Microsoft SQL Server에서는 db_owner 고정 데이터베이스 역할의 구성원이 검사점이 나타날 때마다 트랜잭션 로그의 내용이 지워지도록 지정할 수 있습니다. SQL Server 엔터프라이즈 관리자(복구 모델을 SIMPLE로 설정), transact-SQL(ALTER DATABASE) 또는 SQL-DMO를 사용하여 이 작업을 수행할 수 있습니다.
Oracle SQL*Net은 Oracle 데이터베이스 서버와 클라이언트 사이의 네트워크 연결을 지원합니다. Oracle SQL *Net은 TNS(transparent Network Substrate) 데이터 스트림 프로토콜과 통신하며 사용자가 특별한 코드를 작성할 필요없이 다양한 네트워크 프로토콜을 실행할 수 있도록 합니다. Microsoft SQL Server에서는 Net-Libraries(네트워크 라이브러리)가 테이블 형식 데이터 스트림(tdS) 프로토콜을 사용하여 클라이언트와 서버 사이의 네트워크 연결을 지원합니다. 이들을 사용하면 명명된 파이프, TCP/IP 소켓 또는 다른 프로세스간 통신(IPC) 메커니즘을 실행하는 클라이언트의 동시 연결이 가능합니다. 모든 클라이언트 Net-Libraries가 SQL Server 2000 CD-ROM에 제공되므로 따로 구입할 필요가 없습니다.
SQL Server Net-Library 옵션은 설치 후에 변경할 수 있습니다. 클라이언트 네트워크 유틸리티는 Microsoft Windows® 2000, Microsoft Windows NT® 4.0, Microsoft Windows 95 또는 Microsoft Windows 98 운영 체제를 실행하는 클라이언트에 대한 기본 네트워크 라이브러리 정보와 서버 연결 정보를 구성합니다. ODBC 데이터 원본 설정 중에 변경되었거나 ODBC 연결 문자열에 명시적으로 코딩되지 않은 한, 모든 ODBC 클라이언트 응용 프로그램은 동일한 기본 네트워크 라이브러리와 서버 연결 정보를 사용합니다. 네트워크 라이브러리에 대한 자세한 내용은 SQL Server 온라인 설명서를 참조하십시오.
Oracle 응용 프로그램을 Microsoft SQL Server 2000으로 적절히 마이그레이션하려면 SQL Server가 데이터베이스 보안 및 역할을 구현하는 방법을 이해해야 합니다. 데이터베이스 파일 암호화Microsoft Windows 2000을 사용하면 파일 시스템 암호화(EFS)를 사용하여 파일을 암호화할 수 있습니다. SQL Server 2000은 EFS를 사용하도록 할 수 있습니다. 데이터베이스 파일을 암호화하여 다른 사용자가 내용을 이동, 복사 또는 볼 수 없도록 할 수 있습니다. 이 암호화는 논리 데이터베이스 수준이 아닌 운영 체제 수준에서 수행됩니다. 일단 SQL Server가 암호화된 파일을 열면 파일 내의 데이터는 암호화되지 않은 것으로 나타납니다. 네트워크 보안Microsoft SQL Server 2000은 SSL(Secure Sockets Layer)을 사용하여 자신과 클라이언트 간의 네트워크 통신 암호화를 지원합니다. 이 암호화는 SQL Server 2000에서 지원하는 모든 컴퓨터간 프로토콜에 적용되며 SQL Server가 실행되는 Microsoft Windows 운영 체제 버전에 따라 40 또는 128비트입니다. 자세한 내용은 SQL Server 온라인 설명서의 "네트워크 라이브러리 암호화"를 참조하십시오. 로그인 계정사용자는 로그인 계정을 사용하여 SQL Server 데이터나 관리 옵션에 액세스할 수 있습니다. 게스트 로그인 계정을 가진 사용자만 SQL Server에 로그인한 다음 게스트 액세스가 허용되는 데이터베이스만 볼 수 있습니다. 게스트 계정은 기본값으로 설정되지 않으므로 따로 만들어야 합니다. 로그인 계정을 사용하면 SQL Server 2000의 인스턴스에서 데이터를 관리하거나 액세스할 수 있습니다. SQL Server 2000은 두 가지 다른 방법을 사용하여 로그인을 인증합니다. Windows 인증 SQL Server 인증 SQL Server 2000의 각 인스턴스는 다음 두 인증 모드 중 하나에서 실행됩니다.
이러한 보안 메커니즘에 대한 자세한 내용은 SQL Server 온라인 설명서를 참조하십시오. 그룹, 역할 및 사용 권한SQL Server와 Oracle은 사용 권한을 사용하여 데이터베이스 보안을 유지합니다. SQL Server의 문 수준 사용 권한은 새 데이터베이스 개체를 만들 수 있는 권한을 제한하는 데 사용되며 Oracle의 시스템 수준 사용 권한과 비슷합니다. SQL Server는 개체 수준 사용 권한도 제공합니다. Oracle처럼 개체 수준 소유권은 개체 작성자에게 할당되며 양도할 수 없습니다. 다른 데이터베이스 사용자들은 개체 수준 사용 권한을 부여받아야만 그 개체에 액세스할 수 있습니다. sysadmin 고정 서버 역할, db_owner 고정 데이터베이스 역할 또는 db_securityadmin 고정 데이터베이스 역할의 구성원은 개체에 대한 사용 권한을 다른 사용자에게 부여할 수 있습니다. SQL Server의 문 수준 사용 권한과 개체 수준 사용 권한을 데이터베이스 사용자 계정에 직접 부여할 수 있습니다. 그러나 데이터베이스 역할에 대한 사용 권한을 관리하는 것이 더 간단한 경우가 많습니다. SQL Server의 다양한 역할은 데이터베이스 사용자 그룹에 권한을 부여하거나 해지하는 데 사용되며 Oracle의 여러 가지 역할과 흡사합니다. 역할은 특정 데이터베이스와 연결된 데이터베이스 개체입니다. 여러 데이터베이스 간에 동작하는, 각 설치와 연결된 고정 서버 역할이 몇 가지 있습니다. sysadmin이 한 가지 예입니다. Windows 그룹을 데이터베이스 사용자는 물론 SQL Server 로그인으로도 추가할 수 있습니다. Windows 그룹 또는 Windows 사용자에게 사용 권한을 부여할 수 있습니다. 데이터베이스가 가질 수 있는 역할 또는 Windows 그룹 수에는 제한이 없습니다. 기본 역할인 public은 모든 데이터베이스에 항상 제공되며 제거할 수 없습니다. public 역할은 Oracle의 PUBLIC 계정과 아주 비슷한 기능을 합니다. 각 데이터베이스 사용자는 언제나 public 역할의 구성원입니다. 데이터베이스 사용자는 public 역할 외에도 숫자에 상관없이 모든 역할의 구성원이 될 수 있습니다. Windows 사용자나 그룹은 숫자에 상관없이 모든 역할의 구성원이 될 수 있으며 항상 public 역할에도 속합니다. 그룹, 역할 및 사용 권한Microsoft SQL Server와 Oracle은 사용 권한을 사용하여 데이터베이스 보안을 유지합니다. SQL Server의 문 수준 사용 권한은 새 데이터베이스 개체를 만들 수 있는 권한을 제한하는 데 사용되며 Oracle의 시스템 수준 사용 권한과 비슷합니다. SQL Server는 개체 수준 사용 권한도 제공합니다. Oracle처럼 개체 수준 소유권은 개체 작성자에게 할당되며 양도할 수 없습니다. 다른 데이터베이스 사용자들은 개체 수준 사용 권한을 부여받아야만 그 개체에 액세스할 수 있습니다. sysadmin 고정 서버 역할, db_owner 고정 데이터베이스 역할 또는 db_securityadmin 고정 데이터베이스 역할의 구성원은 개체에 대한 사용 권한을 다른 사용자에게 부여할 수 있습니다. SQL Server의 문 수준 사용 권한과 개체 수준 사용 권한을 데이터베이스 사용자 계정에 직접 부여할 수 있습니다. 그러나 데이터베이스 역할에 대한 사용 권한을 관리하는 것이 더 간단한 경우가 많습니다. SQL Server의 다양한 역할은 데이터베이스 사용자 그룹에 권한을 부여하거나 해지하는 데 사용되며 Oracle의 여러 가지 역할과 흡사합니다. 역할은 특정 데이터베이스와 연결된 데이터베이스 개체입니다. 여러 데이터베이스 간에 동작하는, 각 설치와 연결된 고정 서버 역할이 몇 가지 있습니다. sysadmin이 한 가지 예입니다. Windows NT 그룹을 데이터베이스 사용자는 물론 SQL Server 로그인으로도 추가할 수 있습니다. Windows NT 그룹 또는 Windows NT 사용자에게 사용 권한을 부여할 수 있습니다. 데이터베이스가 가질 수 있는 역할 또는 Windows NT 그룹 수에는 제한이 없습니다. 기본 역할인 public은 모든 데이터베이스에 항상 제공되며 제거할 수 없습니다. public 역할은 Oracle의 PUBLIC 계정과 아주 비슷한 기능을 합니다. 각 데이터베이스 사용자는 언제나 public 역할의 구성원입니다. 데이터베이스 사용자는 public 역할 외에도 숫자에 상관없이 모든 역할의 구성원이 될 수 있습니다. Windows NT 사용자나 그룹은 숫자에 상관없이 모든 역할의 구성원이 될 수 있으며 항상 public 역할에도 속합니다. 데이터베이스 사용자와 게스트 계정Microsoft SQL Server에서는 사용자 로그인 계정으로 데이터베이스와 그 개체를 사용하기 위해 권한을 부여받아야 합니다. 로그인 계정으로 데이터베이스에 액세스할 때 아래 방법 중 하나를 사용할 수 있습니다.
db_owner나 db_accessadmin 역할 또는 sysadmin 고정 서버 역할의 구성원이 데이터베이스 사용자 계정 역할을 만듭니다. 계정에는 SQL Server 로그인 ID, 데이터베이스 사용자 이름(옵션), 역할 이름(옵션) 같은 여러 매개 변수가 포함될 수 있습니다. 데이터베이스 사용자 이름은 사용자의 로그인 ID와 같을 필요가 없습니다. 데이터베이스 사용자 이름을 제공하지 않으면 사용자 로그인 ID와 데이터베이스 사용자 이름이 같아집니다. 역할 이름을 제공하지 않으면 데이터베이스 사용자는 public 역할에만 속합니다. 데이터베이스 사용자를 만든 후 그 사용자에게 역할을 필요한 개수 만큼 지정할 수 있습니다. db_owner 또는 db_accessadmin 역할의 구성원은 게스트 계정도 만들 수 있습니다. 게스트 계정은 유효한 SQL Server 로그인 계정이 데이터베이스 사용자 계정이 없어도 데이터베이스에 액세스할 수 있도록 합니다. 기본적으로, 게스트 계정은 public 역할에 할당된 모든 권한을 상속하지만 이러한 권한을 public 역할의 권한보다 크거나 작게 변경할 수 있습니다. Windows NT 사용자 계정이나 그룹 계정에 SQL Server 로그인이 할 수 있는 것과 똑같이 데이터베이스 액세스 권한을 부여할 수 있습니다. 그룹의 구성원인 Windows NT 사용자는 데이터베이스에 연결할 때 그 Windows NT 그룹에 할당된 사용 권한을 받습니다. 데이터베이스 액세스 권한이 부여된 둘 이상의 Windows NT 그룹의 구성원인 경우 사용자는 자신이 속한 모든 그룹의 권한을 결합한 권한을 받습니다. sysadmin 역할Microsoft SQL Server sysadmin 고정 서버 역할의 구성원은 Oracle DBA의 구성원과 비슷한 사용 권한을 가집니다. SQL Server에서, sa SQL Server 인증 모드 로그인 계정은 SQL Server가 Windows 2000 기반 컴퓨터에 설치되어 있으면 로컬 Administrators 그룹의 구성원이므로 기본적으로 이 역할의 구성원입니다. sysadmin 역할의 구성원은 SQL Server 로그인은 물론 Windows 사용자와 그룹도 추가하거나 제거할 수 있습니다. 이 역할의 구성원은 대개 아래와 같은 책임을 가집니다.
별표(*)가 붙은 작업은 다른 보안 역할이나 사용자에게 위임할 수 있습니다. sysadmin 고정 서버 역할의 구성원은 모든 데이터베이스 및 특정 SQL Server 인스턴스의 모든 개체(데이터 포함)에 액세스할 수 있습니다. Oracle DBA와 마찬가지로 sysadmin 역할의 구성원만 내릴 수 있는 여러 가지 명령과 시스템 프로시저가 있습니다. db_owner 역할Microsoft SQL Server 데이터베이스와 Oracle 테이블 공간은 사용 방식은 비슷하지만 관리 방식은 다릅니다. 각 SQL Server 데이터베이스는 독립적인 관리 도메인입니다. 각 데이터베이스에는 데이터베이스 소유자(dbo)가 할당됩니다. 이 사용자는 언제나 db_owner 고정 데이터베이스 역할의 구성원입니다. 다른 사용자들은 db_owner 역할의 구성원이 될 수도 있습니다. 이 역할의 구성원인 모든 사용자는 자신의 데이터베이스와 관련된 관리 작업을 관리할 수 있습니다. 이는 한 DBA만 모든 테이블 공간의 관리 작업을 관리하는 Oracle과 다릅니다. 이들 관리 작업은 다음과 같습니다.
db_owner 역할의 구성원은 자신의 데이터베이스 안에서 모든 작업을 수행할 수 있는 권한이 있습니다. 이 역할에 할당된 대부분의 권한을 여러 고정 데이터베이스 역할로 분리하거나 데이터베이스 사용자에게 부여할 수 있습니다. sysadmin이라는 서버 차원의 권한이 없어도 데이터베이스의 db_owner 권한을 가질 수 있습니다.
Microsoft SQL Server 2000은 낮은 총 소유 비용, 간편한 사용(마법사, 튜닝 도구 및 자동화된 튜닝 기능)은 물론 통합된 데이터 웨어하우스 기능으로 측정되는 비즈니스 가치를 제공합니다. SQL Server 2000은 업계로부터 최고의 찬사와 평가를 받았으며 주요 기업들과 전자 상거래 사이트의 요구에 맞는 기능을 보여 주었습니다. 이 문서는 Oracle과 Microsoft SQL Server 간의 여러 가지 아키텍처 차이를 검토했으며 Oracle과 SQL Server를 설명하는 데 사용되는 용어로 몇 가지 차이점을 설명했습니다. SQL Server의 적절한 계획과 평가를 통해 Oracle 응용 프로그램을 마이그레이션하고 SQL Server 2000이 주는 혜택을 누릴 수 있습니다.
Microsoft SQL Server 2000에 대한 자세한 내용은 아래의 리소스를 참조하십시오. SQL Server 2000용 SQL Server 온라인 설명서 SQL Server 2000의 온라인 설명서입니다. SQL Server 온라인 설명서는 SQL Server 2000의 모든 버전을 설치할 때 기본적으로 설치됩니다. SQL Server 온라인 설명서를 보려면 Microsoft SQL Server 프로그램 그룹에서 온라인 설명서를 누르십시오. SQL Server 2000 CD에서 SQL Server 온라인 설명서만 설치할 수 있습니다. SQL Server 2000 Resource Kit SQL Server 2000 Resource Kit는 Microsoft Press® 2001년 8월호에서 제공됩니다. Resource Kit는 Oracle8i 응용 프로그램을 SQL Server 2000으로 마이그레이션하는 정보를 포함하고 있습니다. MSDN® 개발자 프로그램 Microsoft Developers Network는 최신 기술 문서, 서비스 팩 및 Microsoft 기술 환경을 위한 문서를 포함하여 풍부한 정보를 제공합니다. 자세한 내용은 http://msdn.microsoft.com/sqlserver 이 문서에 포함된 정보는 문서를 발행할 때 논의된 문제들에 대한 Microsoft Corporation의 당시 관점을 나타냅니다. Microsoft는 변화하는 시장 환경에 대처해야 하므로 이를 Microsoft 측의 책임으로 해석해서는 안되며 발행일 이후 소개된 어떠한 정보에 대해서도 Microsoft는 그 정확성을 보증하지 않습니다. 이 백서는 정보 제공 목적으로만 제공됩니다. MICROSOFT는 이 문서에서 명시적이든 묵시적이든 막론하고 여하한 보증도 하지 않습니다. 해당 저작권법을 준수하는 것은 사용자의 책임입니다. 저작권의 권리와 별도로, 이 설명서의 어떠한 부분도 Microsoft의 명시적인 서면 승인 없이는 어떠한 형식이나 수단(전기적, 기계적, 복사기에 의한 복사, 디스크 복사 또는 다른 방법)으로 또는 어떠한 목적으로도 복제하거나, 검색 시스템에 저장 또는 도입하거나, 전송할 수 없습니다. Microsoft는 본 설명서 내용과 관련된 특허권, 상표권, 저작권 또는 기타 지적 소유권을 보유할 수 있습니다. 서면 사용권 계약에 따라 Microsoft에서 귀하에게 명시적으로 권리를 제공하지 않으면, 이 설명서 제공으로는 이러한 특허권, 상표권, 저작권 또는 기타 지적 소유권 등에 대한 어떠한 사용권도 귀하에게 부여되지 않습니다.
최종 수정일 : 2001년 11월 12일 | ||||||||||||||||||||||||||||||||||||||||||||||||||