MSDE Altre istruzioni per l'uso (parte 2) - Creare/Eliminare un Database
a cura di Sabrina Cosolo (requisiti: Livello intemedio di conoscenza generale)

 

Creare un Database via Codice SQL
La creazione di un Database su SQL Server è un comando SQL che fa parte di quello che viene chiamato DDL (Data Definition Language). Deve essere lanciata collegandosi a SQL Server come un utente che abbia diritti di amministrazione sul server dati; per chi ha installato MSDE Base bisogna utilizzare l'utente SA oppure, se viene utilizzata la connessione Trusted di Windows NT/2000, occorre far parte del gruppo Builtin Administrator della macchina su cui il server è installato; se si deve intervenire su un server esistente, è necessario farsi predisporre un account utente con i diritti necessari dall'amministratore di sistema.

Di seguito il codice SQL per la creazione del database di esempio già utilizzato nella prima serie di articoli:

  CREATE DATABASE MUSICBOX
    ON PRIMARY 
    ( NAME = MUSICBOXDAT
    , FILENAME = 'C:\SQL.DIR\DATA\MUSICBOXDAT.MDF'
    , SIZE = 5MB
    , MAXSIZE = 20MB
    , FILEGROWTH = 20% 
    )
    LOG ON 
    ( NAME = MUSICBOXLOG
    , FILENAME = 'C:\SQL.DIR\DATA\MUSICBOXLOG.LDF'
    , SIZE = 2MB
    , MAXSIZE = 8MB
    , FILEGROWTH = 20%
    ) 

Vediamo di dare un significato ad alcuni dei parametri predisposti:

Ulteriori spiegazioni:

Il riempimento degli archivi deve essere tenuto sotto controllo soprattutto quando si lavora con SQL Server, per MSDE assicuratevi di avere almeno 2GB di spazio disponibile per ogni Database oppure stabilite a priori la MAXSIZE del DB ad un valore più basso se vi è possibile conoscere la massima crescita della vostra base dati.

Eliminare un Database via codice SQL:
Per eliminare un Database, così come per crearlo, è necessario che l'utente di SQL Server utilizzato per la connessione abbia diritti di amministrazione sul server dati. La cancellazione di un Database è una operazione definitiva, perciò è consigliabile farne prima una copia di Backup, nel caso poi ci si accorga di aver sbagliato. Inserite gli opportuni controlli e richieste di conferma se l'operazione deve essere effettuata da un utente. Se possibile, predisponete queste attività in un programma di utility a cui abbia accesso solo chi amministra il sistema ed i software.

Di seguito il codice SQL per la cancellazione di un Database utilizzando il Database esempio creato con l'operazione precedente:

  DROP DATABASE MUSICBOX

Come si può notare, la cancellazione è una operazione molto semplice, quanto definitiva.

Oltre ad usare Visual Basic e gli oggetti ADO come nell'esempio di codice allegato a questi articoli, i comandi SQL qui illustrati e quelli che illustreremo negli altri esempi, possono essere eseguiti utilizzando l'utility di linea di comando OSQL.EXE che si trova nella cartella TOOLS\BINN sotto la cartella di installazione di SQL Server o MSDE.
Ad esempio, sul mio computer su cui ho installato MSDE 2000 si trova in: C:\Programmi\Microsoft SQL Server\80\Tools\Binn; se avete installato MSDE 7.0 dovrebbe essere impostato su: C:\MSSQL7\Tools\Binn.

La sintassi per chiamare un comando SQL usando OSQL è la seguente:

  osql -S Localhost -U SA -P as -i createosql.sql

I parametri sopra usati sono:

Ricordo che sono Case Sensitive.
Il file di input da noi usato createosql.sql è un file di testo contenente il comando da eseguire che è leggermente diverso da quello sopra descritto, riporto la sintassi per il crea database:

  USE MASTER
  GO
  
  CREATE DATABASE MUSICBOX
    ON PRIMARY
    ( NAME = MUSICBOXDAT
    , FILENAME = 'C:\SQL.DIR\DATA\MUSICBOXDAT.MDF'
    , SIZE = 5MB
    , MAXSIZE = 20MB
    , FILEGROWTH = 20%
	  )
    LOG ON
    ( NAME = MUSICBOXLOG
    , FILENAME = 'C:\SQL.DIR\DATA\MUSICBOXLOG.LDF'
    , SIZE = 2MB
    , MAXSIZE = 8MB
    , FILEGROWTH = 20%
    ) 
  GO
 
  QUIT

Il comando USE MASTER serve a dire al server che dobbiamo lavorare sul Database Master (Il Database di sistema che contiene al suo interno la definizione di tutti i Database che sono stati creati sul Server); il comando GO deve essere eseguito perché CREATE DATABASE deve essere la prima istruzione di un blocco SQL; il secondo comando GO dice al server di eseguire il CREATE; il comando QUIT esce da OSQL.EXE che altrimenti si comporta come un interprete di comandi e rimane attivo all'interno della finestra console.

La sintassi da usare con OSQL per eliminare il database è la seguente:

  USE MASTER
  GO 
  
  DROP DATABASE MUSICBOX
  GO
 
  QUIT
<<< Introduzione