2つの未加工、つまりフォーマットされていないパーティションを使用してデータベースを作成しようとしています。
Microsoft Docsでは、これを実行できると述べています。次のように、rawパーティションのドライブ文字のみを指定するだけです。
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が失敗しました。リストされている一部のファイル名を作成できませんでした。関連するエラーを確認してください。
ファイルがrawパーティションにある場合、os_file_nameは既存のrawパーティションのドライブ文字のみを指定する必要があります。各rawパーティションに作成できるデータファイルは1つだけです。
そして、はい、ドライブS:とT:はどちらも私のシステムに存在する未フォーマットのrawパーティションです:
DISKPART>詳細パーティション パーティション4 タイプ:ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 非表示:いいえ 必須:いいえ 属性:0000000000000000 バイト単位のオフセット:999934656512 ボリューム### LtrラベルFsタイプサイズステータス情報 ---------- --- ----------- ----- ---------- ------- ---- ----- -------- *ボリューム6 T RAWパーティション127 MB正常 DISKPART>パーティション3を選択 パーティション3が選択されたパーティションになりました。 DISKPART>詳細パーティション パーティション3 タイプ:ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 非表示:いいえ 必須:いいえ 属性:0000000000000000 バイト単位のオフセット:1000067825664 ボリューム### LtrラベルFsタイプサイズステータス情報 ---------- --- ----------- ----- ---------- ------- ---- ----- -------- *ボリューム7 S RAWパーティション129 MB正常
FILENAME = 'S'
およびのようにドライブ文字からコロンを削除するとFILENAME = 'T'
、次のようになります。
メッセージ5105、レベル16、状態2、行1
ファイルのアクティベーションエラーが発生しました。物理ファイル名「S」が正しくない可能性があります。追加のエラーを診断して修正し、操作を再試行します。
メッセージ1802、レベル16、状態1、行1
CREATE DATABASEが失敗しました。リストされている一部のファイル名を作成できませんでした。関連するエラーを確認してください。
SQL Server 2000のドキュメントでは、CREATE DATABASE
セクションの下に次の例を示しています。
H. rawパーティションを使用する
この例では、rawパーティションを使用してEmployeesというデータベースを作成します。ステートメントが実行されるとき、RAWパーティションが存在する必要があり、各RAWパーティションに配置できるファイルは1つだけです。
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
、RAWパーティションに保存されたSQL Serverデータファイルには明らかに必要ではない、、MAXSIZE
およびFILEGROWTH
パラメーターを示しています。
特にrawドライブに関するSQL Server 2000のドキュメントの詳細:
RAWパーティションの使用
Microsoft®SQL Server™2000は、データベースファイルの作成にrawパーティションの使用をサポートしています。rawパーティションは、FATやNTFSなどのMicrosoft WindowsNT®ファイルシステムでフォーマットされていないディスクパーティションです。場合によっては、RAWパーティションで作成されたデータベースを使用すると、NTFSまたはFATよりもわずかにパフォーマンスが向上することがあります。ただし、ほとんどのインストールでは、NTFSまたはFATパーティションで作成されたファイルを使用する方法をお勧めします。rawパーティションにデータベースファイルを作成する場合、データベースを構成するファイルの物理名を指定しません。データベースファイルを作成するディスクのドライブ文字のみを指定します。MicrosoftWindows®2000 Serverを使用している場合、マウントされたドライブを作成してrawパーティションを指すことができます。空のフォルダーにローカルドライブをマウントすると、Windows 2000は、ドライブ文字ではなくドライブにドライブパスを割り当てます。マウントされたドライブは、ドライブ文字による26ドライブの制限を受けません。したがって、使用できるrawパーティションの数に制限はありません。マウントされたドライブにデータベースファイルを作成する場合、ファイル名へのドライブパスの末尾にバックスラッシュ()を付ける必要があります(例:E:\ Sample name)。マウントされたドライブの作成については、Windows 2000 Serverのドキュメントを参照してください。rawパーティションを使用する場合、考慮すべきいくつかの制限があり
ます。各rawパーティションに作成できるデータベースファイルは1つだけです。rawパーティションにはファイルシステムがないため、論理パーティションは単一のデータベースファイルとして構成する必要があります。コピー、移動、削除などの標準のファイルシステム操作は、RAWパーティションでは使用できません。
rawパーティションにあるデータベースファイルは、Windows NTバックアップユーティリティを使用してバックアップできません。ただし、SQL Serverデータベースまたはトランザクションログのバックアップは作成できます。
rawパーティション上のデータベースファイルは自動的に展開できません。最初にデータベースをフルサイズで作成するか、データベースファイルを手動で展開します。詳細については、「データベースの拡張」を参照してください。
E:などの文字パーティション、またはE:\ Sample name \などのマウントされたドライブのみを使用できます。番号付きデバイスは使用できません。
不良ブロックの置換などのファイルシステムサービスは、RAWパーティションでは使用できません。
これは、生パーティションをサポートしていたSQL Server 6.5に関するBrent Ozarの投稿に触発されました