RAW 파티션에서 CREATE DATABASE가 더 이상 작동하지 않습니까?


16

포맷되지 않은 두 개의 원시 파티션을 사용하여 데이터베이스를 만들려고합니다.

Microsoft Docs에 따르면 다음과 같이 원시 파티션의 드라이브 문자 만 지정하면됩니다.

CREATE DATABASE DirectDevice 
ON (NAME = DirectDevice_system, FILENAME = 'S:')
LOG ON (NAME = DirectDevice_log, FILENAME = 'T:')

그러나 SQL Server 2017은이 오류를 반환합니다.

메시지 5170, 수준 16, 상태 4, 줄 1
'S :'파일이 이미 있으므로 만들 수 없습니다. 파일 경로 또는 파일 이름을 변경하고 조작을 재 시도하십시오.
메시지 1802, 수준 16, 상태 4, 줄 1
CREATE DATABASE가 실패했습니다. 나열된 일부 파일 이름을 만들 수 없습니다. 관련 오류를 확인하십시오.

설명서관련 내용은 다음과 같습니다.

파일이 원시 파티션에있는 경우 os_file_name은 기존 원시 파티션의 드라이브 문자 만 지정해야합니다. 각 원시 파티션마다 하나의 데이터 파일 만 작성할 수 있습니다.

그리고 그렇습니다. 드라이브 S :와 T :는 모두 시스템에 존재하는 포맷되지 않은 원시 파티션입니다.

DISKPART> 디테일 파티션

파티션 4
유형 : ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
숨겨진 : 아니오
필수 : 아니오
속성 : 0000000000000000
바이트 단위 오프셋 : 999934656512

  볼륨 ### Ltr 레이블 Fs 유형 크기 상태 정보
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
* 볼륨 6 T RAW 파티션 127MB 정상

DISKPART> 파티션 3 선택

파티션 3이 이제 선택된 파티션입니다.

DISKPART> 디테일 파티션

파티션 3
유형 : ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
숨겨진 : 아니오
필수 : 아니오
속성 : 0000000000000000
바이트 단위 오프셋 : 1000067825664

  볼륨 ### Ltr 레이블 Fs 유형 크기 상태 정보
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
* 볼륨 7 S RAW 파티션 129MB 정상

FILENAME = 'S'및 에서 와 같이 드라이브 문자에서 콜론을 제거하면 다음 과 같은 FILENAME = 'T'결과가 발생합니다.

메시지 5105, 수준 16, 상태 2, 줄 1
파일 활성화 오류가 발생했습니다. 실제 파일 이름 'S'가 올바르지 않을 수 있습니다. 추가 오류를 진단하고 정정 한 후 조작을 재 시도하십시오.
메시지 1802, 수준 16, 상태 1, 줄 1
CREATE DATABASE가 실패했습니다. 나열된 일부 파일 이름을 만들 수 없습니다. 관련 오류를 확인하십시오.

SQL Server 2000 설명서CREATE DATABASE섹션 아래에 다음 예제를 보여줍니다 .

H. 원시 파티션 사용
이 예는 원시 파티션을 사용하여 Employees라는 데이터베이스를 작성합니다. 원시 파티션은 명령문이 실행될 때 존재해야하며 각 원시 파티션에는 하나의 파일 만있을 수 있습니다.

    USE master
    GO
    CREATE DATABASE Employees
    ON
    ( NAME = Empl_dat,
        FILENAME = 'f:',
        SIZE = 10,
        MAXSIZE = 50,
        FILEGROWTH = 5 )
    LOG ON
    ( NAME = 'Sales_log',
        FILENAME = 'g:',
        SIZE = 5MB,
        MAXSIZE = 25MB,
        FILEGROWTH = 5MB )
    GO

그러나, 위의 예 쇼 SIZE, MAXSIZE그리고 FILEGROWTH명확하게 SQL 서버 데이터 파일에 필요하지 않은 매개 변수는 RAW 파티션에 저장됩니다.

특히 원시 드라이브와 관련된 SQL Server 2000 설명서의 추가 정보 :

원시 파티션 사용
Microsoft® SQL Server ™ 2000은 데이터베이스 파일 작성을위한 원시 파티션 사용을 지원합니다. 원시 파티션은 FAT 및 NTFS와 같은 Microsoft Windows NT® 파일 시스템으로 포맷되지 않은 디스크 파티션입니다. 경우에 따라 원시 파티션에서 생성 된 데이터베이스를 사용하면 NTFS 또는 FAT보다 약간의 성능 향상을 얻을 수 있습니다. 그러나 대부분의 설치에서 선호되는 방법은 NTFS 또는 FAT 파티션에서 작성된 파일을 사용하는 것입니다. 원시 파티션에서 데이터베이스 파일을 작성할 때 데이터베이스를 구성하는 파일의 실제 이름을 지정하지 마십시오. 데이터베이스 파일을 작성해야하는 디스크의 드라이브 문자 만 지정하십시오. Microsoft Windows® 2000 Server를 사용하는 경우 원시 파티션을 가리 키도록 마운트 된 드라이브를 작성할 수 있습니다. 빈 폴더에 로컬 드라이브를 마운트하면 Windows 2000은 드라이브 문자가 아닌 드라이브에 드라이브 경로를 할당합니다. 마운트 된 드라이브에는 드라이브 문자로 인한 26 개 드라이브 제한이 적용되지 않습니다. 따라서 무제한 원시 파티션을 사용할 수 있습니다. 마운트 된 드라이브에서 데이터베이스 파일을 작성할 때 뒤에 백 슬래시 ()로 파일 이름에 대한 드라이브 경로를 종료해야합니다 (예 : E : \ Sample name). 마운트 된 드라이브 작성에 대한 정보는 Windows 2000 Server 문서를 참조하십시오.

원시 파티션을 사용할 때 고려해야 할 몇 가지 제한 사항이
있습니다. 각 원시 파티션마다 하나의 데이터베이스 파일 만 작성할 수 있습니다. 원시 파티션에는 파일 시스템이 없으므로 논리 파티션은 단일 데이터베이스 파일로 구성해야합니다.

복사, 이동 및 삭제와 같은 표준 파일 시스템 작업은 원시 파티션과 함께 사용할 수 없습니다.

원시 파티션에있는 데이터베이스 파일은 Windows NT 백업 유틸리티를 사용하여 백업 할 수 없습니다. 그러나 SQL Server 데이터베이스 또는 트랜잭션 로그 백업은 여전히 ​​만들 수 있습니다.

원시 파티션의 데이터베이스 파일은 자동으로 확장 될 수 없습니다. 처음에 데이터베이스를 전체 크기로 작성하거나 데이터베이스 파일을 수동으로 확장하십시오. 자세한 내용은 데이터베이스 확장을 참조하십시오.

E :와 같은 문자 파티션 또는 E : \ Sample name \과 같은 마운트 된 드라이브 만 사용할 수 있습니다. 번호가 매겨진 장치는 사용할 수 없습니다.

불량 파티션 교체와 같은 파일 시스템 서비스는 원시 파티션에서 사용할 수 없습니다.


이것은 영감을받은 SQL 서버 6.5에 대한 브렌트 Ozar의 게시물 , 원시 파티션을 지원


3
SS 2017에서 작동하려면 RPaaS-Raw Partition as a Service 또는 ARPL-Azure Raw Partition Lake를
사용해야합니다.

답변:


3

예상대로 Windows XP x64의 SQL Server 2000 SP4에서 원시 파티션이 작동하는지 확인할 수 있습니다.

방금 SQL Server 2000 SP4에 대해 Query Analyzer (셔더)를 통해 다음을 실행했습니다.

CREATE DATABASE t
ON PRIMARY 
(
    NAME = t_primary
    , FILENAME = 'E:'
)
LOG ON 
(
    NAME = t_log
    , FILENAME = 'F:'
);

결과 :

CREATE DATABASE 프로세스가 't_primary'디스크에 0.64MB를 할당하고 있습니다.
CREATE DATABASE 프로세스가 't_log'디스크에 1.00MB를 할당하고 있습니다.

CREATE DATABASE t코드는 Windows XP x64에서 SQL Server 2005와 함께 작동합니다. 유일한 출력은Command(s) completed successfully.

SSMS는 데이터베이스 파일을 볼 때 다음을 보여줍니다.

여기에 이미지 설명을 입력하십시오

볼트 양동이만큼 시원하지 않습니까?

SQL Server Management Studio 서비스 계정이 "로컬 시스템"으로 설정된 Windows Server 2012 Standard의 SQL Server 2012 SP1 :

여기에 이미지 설명을 입력하십시오

Windows Server 2012에서 "로컬 시스템"으로 실행되는 SQL Server 2014 (12.0.5000.0)는 SQL Server 2017과 동일한 동작을 나타냅니다. 즉,이 오류 메시지를 반환합니다.

메시지 5170, 수준 16, 상태 4, 줄 1
'E :'파일이 이미 있으므로 만들 수 없습니다. 파일 경로 또는 파일 이름을 변경하고 조작을 재 시도하십시오.
메시지 1802, 수준 16, 상태 4, 줄 1
CREATE DATABASE가 실패했습니다. 나열된 일부 파일 이름을 만들 수 없습니다. 관련 오류를 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.