Sp_create_removable

giovedì 02 marzo 2006 - 14.18

volperubbia Profilo | Senior Member

Ciao a tutti,
in SQL Server 2000 con la seguente chiamata

sp_create_removable 'inventory',
'invsys',
'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invsys.mdf', 2,
'invlog',
'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invlog.ldf', 4,
'invdata',
'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invdata.ndf', 10

viene creato il db con i tre rispettivi file.

C'è un modo per non fare creare anche il file .ndf?
E quindi avere solo l'.mdf e il .ldf.

Davide

Brainkiller Profilo | Guru

>viene creato il db con i tre rispettivi file.
>C'è un modo per non fare creare anche il file .ndf?
>E quindi avere solo l'.mdf e il .ldf.

Ciao Volpe,
dalla documentazione si legge che quella Stored Procedure "crea 3 o più file" non si legge della possibilità di averne due. Con una CREATE DATABASE di solito ce ne sono due .mdf e .ldf ma se la tua esigenza è di creare un tipo speciale di database (removibile) penso che 3 siano necessari.
Cmq. Lorenzo Benaglia sicuramente replicherà con ulteriori informazioni e precisazioni.
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

lbenaglia Profilo | Guru

>Ciao a tutti,
>in SQL Server 2000 con la seguente chiamata
>
>sp_create_removable 'inventory',
> 'invsys',
>'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invsys.mdf',
>2,
> 'invlog',
>'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invlog.ldf',
>4,
> 'invdata',
>'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invdata.ndf',
>10
>
>viene creato il db con i tre rispettivi file.
>
>C'è un modo per non fare creare anche il file .ndf?

Ciao Davide,

curiosando nel codice sorgente della stored procedure di sistema sp_create_removable, si nota che viene creato un normalissimo database ed un filegroup denominato "readonlyfilegroup" al quale vengono associati tutti gli eventuali 16 files .ndf.

Per recuperare il codice sorgente è sufficiente ricorrere alla stored procedure di sistema sp_helptext. In SQL Server 2005 puoi eseguire:

EXEC sp_helptext [sys.sp_create_removable];

Come puoi vedere, uno dei primi check è:

-- valid datalogical1? EXEC @retcode = sys.sp_validname @datalogical1 if @retcode <> 0 return(1)

quindi questa sp ti costringe a definire almeno un data file secondario (.ndf).
Domanda: dato che il suo utilizzo è deprecato, perché non ricorri al classico comando CREATE DATABASE per definire il tuo bel db con tutte le caratteristiche che ti servono?

Trovi i dettagli sui Books Online:
http://msdn2.microsoft.com/en-us/library/ms176061.aspx

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

volperubbia Profilo | Senior Member

Grazie ad entrambi,
... strada facendo ... è vero la cosa migliore è un CREATE DATABASE ...

Davide
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5