Sto tentando di creare un database utilizzando due partizioni non formattate, ovvero non formattate.
Microsoft Docs afferma che puoi farlo, devi semplicemente specificare solo la lettera di unità della partizione non elaborata, come in:
CREATE DATABASE DirectDevice
ON (NAME = DirectDevice_system, FILENAME = 'S:')
LOG ON (NAME = DirectDevice_log, FILENAME = 'T:')
Tuttavia, SQL Server 2017 restituisce questo errore:
Messaggio 5170, livello 16, stato 4, riga 1
Impossibile creare il file "S:" perché esiste già. Modificare il percorso del file o il nome del file e ritentare l'operazione.
Messaggio 1802, livello 16, stato 4, riga 1
CREATE DATABASE non riuscito. Non è stato possibile creare alcuni nomi di file elencati. Verifica errori correlati.
Il bit pertinente della documentazione afferma:
Se il file si trova su una partizione raw, os_file_name deve specificare solo la lettera di unità di una partizione raw esistente. È possibile creare un solo file di dati su ciascuna partizione non elaborata.
E sì, unità S: e T: sono entrambe partizioni non formattate che esistono nel mio sistema:
DISKPART> partizione dettagli Partizione 4 Tipo: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Nascosto: No Richiesto: no Attrib: 0000000000000000 Offset in byte: 999934656512 Volume ### Ltr Etichetta Fs Tipo Dimensione Stato Informazioni ---------- --- ----------- ----- ---------- ------- ---- ----- -------- * Volume 6 T Partizione RAW 127 MB salutari DISKPART> seleziona partizione 3 La partizione 3 è ora la partizione selezionata. DISKPART> partizione dettagli Partizione 3 Tipo: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Nascosto: No Richiesto: no Attrib: 0000000000000000 Offset in byte: 1000067825664 Volume ### Ltr Etichetta Fs Tipo Dimensione Stato Informazioni ---------- --- ----------- ----- ---------- ------- ---- ----- -------- * Volume 7 S Partizione RAW 129 MB In salute
La rimozione dei due punti dalle lettere dell'unità, come in FILENAME = 'S'
e FILENAME = 'T'
, comporta:
Messaggio 5105, livello 16, stato 2, riga 1
Si è verificato un errore di attivazione del file. Il nome del file fisico 'S' potrebbe non essere corretto. Diagnosticare e correggere errori aggiuntivi e riprovare a eseguire l'operazione.
Messaggio 1802, livello 16, stato 1, riga 1
CREATE DATABASE non riuscito. Non è stato possibile creare alcuni nomi di file elencati. Verifica errori correlati.
La documentazione di SQL Server 2000 mostra il seguente esempio nella CREATE DATABASE
sezione:
H. Usa partizioni grezze In
questo esempio viene creato un database chiamato Employees che utilizza partizioni grezze. Le partizioni non elaborate devono esistere quando viene eseguita l'istruzione e su ogni partizione non elaborata può essere presente un solo file.
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
Tuttavia, l'esempio mostra di cui sopra SIZE
, MAXSIZE
e FILEGROWTH
dei parametri che non sono chiaramente necessari per i file di dati di SQL Server memorizzati su partizioni RAW.
Ulteriori dettagli dalla documentazione di SQL Server 2000, in particolare per quanto riguarda le unità raw:
Utilizzo di partizioni non elaborate
Microsoft® SQL Server ™ 2000 supporta l'uso di partizioni non elaborate per la creazione di file di database. Le partizioni non elaborate sono partizioni del disco che non sono state formattate con un file system di Microsoft Windows NT®, come FAT e NTFS. In alcuni casi, l'utilizzo di database creati su partizioni non elaborate può comportare un leggero aumento delle prestazioni su NTFS o FAT. Tuttavia, per la maggior parte delle installazioni il metodo preferito è utilizzare i file creati su partizioni NTFS o FAT. Quando si crea un file di database su una partizione non elaborata, non si specificano i nomi fisici dei file che compongono il database; si specificano solo le lettere di unità dei dischi su cui devono essere creati i file di database. Se si utilizza Microsoft Windows® 2000 Server, è possibile creare unità montate per puntare a partizioni non elaborate. Quando si monta un'unità locale in una cartella vuota, Windows 2000 assegna un percorso all'unità anziché una lettera di unità. Le unità montate non sono soggette al limite di 26 unità imposto dalle lettere di unità; pertanto, è possibile utilizzare un numero illimitato di partizioni non elaborate. Quando si crea un file di database su un'unità montata, è necessario terminare il percorso dell'unità al nome del file con una barra rovesciata finale (), ad esempio E: \ Nome campione. Per informazioni sulla creazione di un'unità montata, consultare la documentazione di Windows 2000 Server.Esistono diverse limitazioni da considerare quando si utilizzano partizioni non elaborate: è
possibile creare un solo file di database su ciascuna partizione non elaborata. La partizione logica deve essere configurata come un singolo file di database, poiché sulla partizione non è presente alcun file system.Le operazioni standard del file system come copia, spostamento ed eliminazione non possono essere utilizzate con partizioni non elaborate.
Non è possibile eseguire il backup dei file di database che si trovano su partizioni non elaborate utilizzando l'utilità di backup di Windows NT. Tuttavia, è ancora possibile creare backup del database o del registro delle transazioni di SQL Server.
I file di database su partizioni non elaborate non possono essere espansi automaticamente. Inizialmente creare il database a dimensione intera o espandere manualmente i file del database. Per ulteriori informazioni, consultare Espansione di un database.
È possibile utilizzare solo partizioni con lettere, come E: oppure unità montate, come E: \ Nome campione \. I dispositivi numerati non possono essere utilizzati.
I servizi di file system come la sostituzione di blocchi danneggiati non sono disponibili con partizioni non elaborate.
Ciò è stato ispirato dal post di Brent Ozar su SQL Server 6.5 , che supportava le partizioni non elaborate