Procedure
SQL Server

Stored Procedures
Catalog Stored Procedures
Extended Stored Procedures
Replication Stored Procedures
SQL Executive Stored Procedures

Procedure di sistema (System Stored Procedures)




Stored Procedures

Catalog Stored Procedures
Le Catalog Stored Procdures forniscono un'interfaccia uniforme per l'accesso alle informazioni sulle tabelle contenute nel database.

sp_column_privileges nome_tabella [, proprietario_tabella] [, qualifica_tabella] [, nome_colonna]
Restituisce le informazioni relative ai privilegi delle colonne di una singola tabella nell'ambiente corrente (database corrente) impostate con le istruzioni GRANT e REVOKE
nome_tabella
Si specifica il nome della tabella di cui si vogliono avere le informazioni
proprietario_tabella
Si specifica il proprietario della tabella
qualifica_tabella
È il nome delle qualifiche della tabella (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome))
nome_colonna
Si specifica una singola colonna quando si desiderano le informazioni di quella sola colonna; se non si specifica il nome_colonna, tutte le colonne vengono restituite (*)
esempio

sp_columns nome_oggetto [, proprietario_oggetto] [, qualifica_oggetto] [, nome_colonna]
Restituisce le informazioni sulle colonne per un singolo oggetto che può essere richiesto nel corrente ambiente; restituisce le colonne contenute in una tabella o in una vista
nome_oggetto
Si specifica il nome della tabella o della vista di cui si vogliono le informazioni
proprietario_oggetto
Si specifica il proprietario della tabella o vista
qualifica_oggetto
È il nome delle qualifiche della tabella o della vista (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome))
nome_colonna
Si specifica una singola colonna quando si desiderano le informazioni di quella sola colonna; se non si specifica il nome_colonna, tutte le colonne vengono restituite (*)
esempio

sp_databases
Lista i database presenti nell'SQL Server o accessibili attrverso un gateway database
esempio

sp_datatype_info [tipo_dati]
Restituisce informazioni relative ai tipi di dati supportati nell'ambiente corrente
tipo_dati
È il codice numerico per un tipo di dati specificato; il valore fornito deve essere un valore intero
esempio

sp_pkeys nome_tabella [, proprietario_tabella] [, qualifica_tabella]
Restituisce le informazioni relative alle chiavi primarie per una singola tabella nel corrente ambiente
nome_tabella
Si specifica il nome della tabella di cui si vogliono le informazioni
proprietario_tabella
Si specifica il proprietario della tabella
qualifica_tabella
È il nome delle qualifiche della tabella (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome))
esempio

sp_server_info
Restituisce una lista di nomi di attributi e valori assunti per l'SQL Server, per il gateway database e/o per una sorgente di dati
esempio

sp_statistics nome_tabella [, proprietario_tabella] [, qualifica_tabella] [, nome_indice] [, unique]
Restituisce una lista di tutti gli indici su una tabella specificata nel corrente ambiente
nome_tabella
Si specifica il nome della tabella di cui si vogliono le informazioni
proprietario_tabella
Si specifica il proprietario della tabella
qualifica_tabella
È il nome delle qualifiche della tabella (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome))
nome_indice
È il nome dell'indice
unique
Identifica gli indici che vengono restituiti; si mette Y se si vogliono avere solo gli indici unici
esempio

sp_stored_procedures [nome_procedura] [, proprietario_procedura] [, qualifica_procedura]
Restituisce le informazioni relative alle stored procedures nel corrente ambiente
nome_procedura
Si specifica il nome della procedura di cui si vogliono le informazioni (*)
proprietario_procedura
Si specifica il proprietario della procedura
qualifica_procedura
È il nome delle qualifiche della procedura (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome))
esempio

sp_table_privileges nome_tabella [, proprietario_tabella] [, qualifica_tabella]
Restituisce le informazioni relative ai privilegi per una singola tabella nel corrente ambiente
nome_tabella
Si specifica il nome della tabella di cui si vogliono le informazioni (*)
proprietario_tabella
Si specifica il proprietario della tabella
qualifica_tabella
È il nome delle qualifiche della tabella (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome))
esempio

sp_tables [nome_tabella] [, proprietario_tabella] [, qualifica_tabella] [, tipo_tabella]
Restituisce una lista di oggetti che possono essere richiesti nel corrente ambiente (che sono gli oggetti che possono apparire in una clausola FROM)
nome_tabella
Si specifica il nome della tabella di cui si vogliono le informazioni (*)
proprietario_tabella
Si specifica il proprietario della tabella
qualifica_tabella
È il nome delle qualifiche della tabella (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome))
tipo_tabella
È una lista di valori, separati da virgole, che dà informazioni relative a tutte le tabelle del tipo (di tabella) specificato, includendo 'TABLE', 'SYSTEM TABLE', e/o 'VIEW' il nome delle qualifiche della tabella (molti DBMS supportano tabelle con nome fatto in tre parti (qualifica.proprietario.nome)
esempio


(*) - la procedura supporta l'uso del carattere % e _ in sostituzione di uno o più caratteri (come in una condizione con il LIKE): per es. sp_tables 's%'


Extended Stored Procedures
Procedure che si occupano del caricamento dinamico e dell'esecuzione di funzioni che si trovano all'interno di librerie DLL come se fossero Stored Procedures interne.

Procedure non considerate in questo corso.


Replication Stored Procedures
Procedure che si occupano dell'implementazione e della inizializzazione delle copie su un SQL Server

Procedure non considerate in questo corso.


SQL Executive Stored Procedures
Le SQL Executive Stored Procedures danno all'amministratore di sistema la capacità di creare task per copie (duplicazioni), schedulazione di eventi e gestione degli allarmi. Di solito tali procedure sono raramente eseguite direttamente, di solito sono manipolate dall'SQL Enterprise Manager, che dispone di un modo grafico e facilitato per la gestione dell'intero sistema di allarme e schedulazione.
In questo corso consideriamo solo la gestione della schedulazione.

sp_addtask nome [, sottosistema] [, server] [, username] [, nome_database] [, abilitato] [, tipo_freq] [, intervallo_freq] [, sottotipo_freq] [, sottointervallo_freq] [, int_rel_freq] [, fattore_concorrente] [, datainizio_attivazione] [, datafine_attivazione] [, orainizio_attivazione] [, orafine_attivazione] [, prossima_data] [, prossima_ora] [, priorità] [, email_operatore] [, altro_tentativo] [, ritardo_tentativo] [, comando] [, livello] [, email_livello] [, descrizione]

Creazione di un'operazione di schedulazione
nome
È il nome della task che verrà schedulata
sottosistema
Specifico il sottosistema: Distribuition, LogReader, Sync, TSQL o CmdExec
server
Specifica il server su cui eseguire questa task
username
Specificare l'utnete del database da impersonare quando eseguire la task; solo l'amministratore di sistema e il proprietario del database può specificare questo parametro
nome_database
Specifica il database usato si esegui la task
abilitato
Specifica lo stato della task schedulata: 1 indica abilitata, la task verrà schedulata ed eseguita; 0 indica disabilitazione, la task non verrà schedulata ed eseguita;
tipo_freq
Specifica la prequenza per questa task:
1una volta
2su richiesta (default)
4giornalmente
8settimanalmente
16ogni mese
32ogni mese relativo
64autostart
124ricorsiva
intervallo_freq
Specifica l'intervallo per il tipo_freq
sottotipo_freq
Specifica quantospesso rischedulare la task durante un perdiodo definito
1una volta (default)
2secondi
4minuti
8ore
sottointervallo_freq
Specifica il valore per sottotipo_freq quando sottotipo_freq è settato in secondi, minuti, ore
int_rel_freq
Specifica il valore usato quando il tipo_freq è settato su 32. Indica il primo, il secondo, il terzo, il quarto o l'ultimo giorno del mese:
1primo (default)
2secondo
4terzo
8quarto
16ultimo
fattore_concorrente
Specifica quanto spesso le task si riverificano durante il tipo_freq definito
datainizio_attivazione
Specifica la data quando questa task verrà schedulata la prima volta; il formato è YYYYMMDD, il default è 0
datafine_attivazione
Specifica la data quando questa task dovrà fermatsi di schedulare ; il formato è YYYYMMDD, il default è 0
orainizio_attivazione
Specifica l'ora quando questa task verrà schedulata inizialmente; il formato è HHMMSS, il default è 0
orafine_attivazione
Specifica l'ora quando questa task verrà fermata; il formato è HHMMSS, il default è 0
prossima_data
specifica la data prossima in cui verrà schedulata; 0 indica che SQL Executive calcolerà la prossima data appropriatamente; il formato è YYYYMMDD, il default è 0
prossima_ora
specifica l'ora in cui verrà schedulata; 0 indica che SQL Executive calcolerà la prossima ora appropriatamente; il formato è HHMMSS, il default è 0
priorità
Specifica il livello di priorità con cui l'evento del sottosistema sarà eseguito; default 0
email_operatore
L'e-mail dell'operatore che dovrà ricevere la notificazione; default NULL
altro_tentativo
Specifica il numero di volte che SQL Executive tenterà di eseguire la schedulazione prima di dare un messaggio di errore; default 0
ritardo_tentativo
Specifica l'intervallo che SQL Executive attenderà prima di ritentare di eseguire la task; default 1
comando
Specifica una stringa di comando che sarà passata al sottosistema; se il sottosistema è TSQL, il comndo non può essere più di una istruzione; default NULL
livello
Specifica il livello di eventi da catturare nelle Event Log: 1 cattura tutti gli eventi eseguiti con successo, 2 cattura solo gli eventi falliti
email_livello
Specifica il livello di eventi da catturare via e-mail: 1 cattura tutti gli eventi eseguiti con successo, 2 cattura solo gli eventi falliti; default 2
descrizione
È la descrizione della task

sp_droptask { nome | loginname | id }
Rimuove operazioni schedulate
nome
È il nome della task da rimuovere
loginname
È un nome di login; se specificato, tutte le task assegnate a quel nome login saranno cancellate; se non è NULL, loginname ha la precedenza su nome ed id
id
È l'ID della task da rimuovere; se non è NULL ha la precedenza su nome

sp_helphistory [nome_task] [, id_task] [, id_evento] [, sorgente] [, data_inizio] [, data_fine] [, ora_inizio] [, ora_fine] [, salto] [, oldestfirst] [, mode]
Riporta la storia di uno o più eventi o task schedulati
nome_task
Specifico il nome del task di cui voglio vedere la storia
id_task
Specifico l'ID del task di cui voglio vedere la storia
id_evento
Specifico l'ID dell'evento dall'Event Log di Windows NT
sorgente
Specifica la sorgente dell'evento
data_inizio
Specifica che la task iniziata viene schedulata in tale data
data_fine
Specifica che la task iniziata viene terminata in tale data
ora_inizio
Specifica che la task iniziata viene schedulata in tale ora
ora_fine
Specifica che la task iniziata viene terminata in tale data
salto
Specifica il numero di volte che l'esecuzione di tale task è saltata
oldestfirst
Visualizza prima la storia delle task più vecchie
mode
Specifica il modo di ritorno: full ritornano tutte le informazioni, quick ritornano le informazioni più utili; default quick

sp_helptask nome_task [, id_task] [, loginname] [, nome_operatore] [, sottosistema] [, mode]
Riporta le informazioni riguardanti una o più task
nome_task
Ritornano informazioni riguardati tutte le task con nome come (LIKE) nome_task
id_task
Specifico l'ID del task
loginname
È il proprietario della task a cui ritornano le informazioni
nome_operatore
È il nome dell'operatore a cui viene spedito un e-mail quando le taskk sono state eseguite completamente
sottosistema
È il sottosistema in cui vengono eseguite le task
mode
Specifica il modo di ritorno: full ritornano tutte le informazioni, quick ritornano le informazioni più utili; default quick

sp_purgehistory [nome_task] [, id_task] [, id_evento] [, sorgente] [, data_inizio] [, data_fine] [, ora_inizio] [, ora_fine] [, salto]
Rimuove informazione dal log dell'history
nome_task
Specifico il nome del task di cui voglio vedere la storia
id_task
Specifico l'ID del task di cui voglio vedere la storia
id_evento
Specifico l'ID dell'evento dall'Event Log di Windows NT
sorgente
Specifica la sorgente dell'evento
data_inizio
Specifica che la task iniziata viene schedulata in tale data
data_fine
Specifica che la task iniziata viene terminata in tale data
ora_inizio
Specifica che la task iniziata viene schedulata in tale ora
ora_fine
Specifica che la task iniziata viene terminata in tale data
salto
Specifica il numero di volte che l'esecuzione di tale task è saltata

sp_updatetask { nome_corrente | id } [, nome] [, sottosistema] [, server] [, username] [, nome_database] [, abilitato] [, tipo_freq] [, intervallo_freq] [, sottotipo_freq] [, sottointervallo_freq] [, int_rel_freq] [, fattore_concorrente] [, datainizio_attivazione] [, datafine_attivazione] [, orainizio_attivazione] [, orafine_attivazione] [, prossima_data] [, prossima_ora] [, priorità] [, email_operatore] [, altro_tentativo] [, ritardo_tentativo] [, comando] [, livello] [, email_livello] [, descrizione]

Aggiornamento delle informazioni sul task
nome_corrente | id
Specifica quale task deve essere aggiornato
nome
Specifica un nuovo nome per la task
sottosistema
Specifico il sottosistema: Distribuition, LogReader, Sync, TSQL o CmdExec
server
Specifica il server su cui eseguire questa task
username
Specificare l'utnete del database da impersonare quando eseguire la task; solo l'amministratore di sistema e il proprietario del database può specificare questo parametro
nome_database
Specifica il database usato si esegui la task
abilitato
Specifica lo stato della task schedulata: 1 indica abilitata, la task verrà schedulata ed eseguita; 0 indica disabilitazione, la task non verrà schedulata ed eseguita;
tipo_freq
Specifica la prequenza per questa task:
1una volta
2su richiesta (default)
4giornalmente
8settimanalmente
16ogni mese
32ogni mese relativo
64autostart
124ricorsiva
intervallo_freq
Specifica l'intervallo per il tipo_freq
sottotipo_freq
Specifica quantospesso rischedulare la task durante un perdiodo definito
1una volta (default)
2secondi
4minuti
8ore
sottointervallo_freq
Specifica il valore per sottotipo_freq quando sottotipo_freq è settato in secondi, minuti, ore
int_rel_freq
Specifica il valore usato quando il tipo_freq è settato su 32. Indica il primo, il secondo, il terzo, il quarto o l'ultimo giorno del mese:
1primo (default)
2secondo
4terzo
8quarto
16ultimo
fattore_concorrente
Specifica quanto spesso le task si riverificano durante il tipo_freq definito
datainizio_attivazione
Specifica la data quando questa task verrà schedulata la prima volta; il formato è YYYYMMDD, il default è 0
datafine_attivazione
Specifica la data quando questa task dovrà fermatsi di schedulare ; il formato è YYYYMMDD, il default è 0
orainizio_attivazione
Specifica l'ora quando questa task verrà schedulata inizialmente; il formato è HHMMSS, il default è 0
orafine_attivazione
Specifica l'ora quando questa task verrà fermata; il formato è HHMMSS, il default è 0
prossima_data
specifica la data prossima in cui verrà schedulata; 0 indica che SQL Executive calcolerà la prossima data appropriatamente; il formato è YYYYMMDD, il default è 0
prossima_ora
specifica l'ora in cui verrà schedulata; 0 indica che SQL Executive calcolerà la prossima ora appropriatamente; il formato è HHMMSS, il default è 0
priorità
Specifica il livello di priorità con cui l'evento del sottosistema sarà eseguito; default 0
email_operatore
L'e-mail dell'operatore che dovrà ricevere la notificazione; default NULL
altro_tentativo
Specifica il numero di volte che SQL Executive tenterà di eseguire la schedulazione prima di dare un messaggio di errore; default 0
ritardo_tentativo
Specifica l'intervallo che SQL Executive attenderà prima di ritentare di eseguire la task; default 1
comando
Specifica una stringa di comando che sarà passata al sottosistema; se il sottosistema è TSQL, il comndo non può essere più di una istruzione; default NULL
livello
Specifica il livello di eventi da catturare nelle Event Log: 1 cattura tutti gli eventi eseguiti con successo, 2 cattura solo gli eventi falliti
email_livello
Specifica il livello di eventi da catturare via e-mail: 1 cattura tutti gli eventi eseguiti con successo, 2 cattura solo gli eventi falliti; default 2
descrizione
È la descrizione della task


Procedure di sistema (System Stored Procedures)
Le procedure di sistema di SQL Server sono state realizzate per ottenere in modo semplice informazioni dalle tabelle di sistema, dal database amministratore (master) ed eseguire altre task che invocano l'aggiornamento delle tabelle di sistema.

Le procedure di sistema sono create nel database master durante l'installazione e sono di proprietà dell'amministratore di sistema (sa). Il nome di tutte le procedure di sistema inizia con sp_.

Si possono eseguire tali procedure in un qualunque database.

Siccome le procedure di sistema sono contentute nel database master, i loro permessi sono settati là. Alcune procedure di sistema possono essere eseguite solo dal proprietario del database.
Altre procedure di sistema possono essere eseguite da tutti gni utenti che hanno il permesso EXECUTE (di eseguire) su esse. Tale permesso deve essere dato nel database master.

Si vedrà in sequito cons asi intende per uso regolare da parte dell'amministratore di sistema, del proprietario del database, o di tutti gli utenti.


sp_addgroup grpname
Serve per creare un gruppo nel database corrente.
I gruppi sono usati come nomi collettivi per dare o revocare permessi
grpname
è il nome del gruppo da aggiungere (tale nome deve seguire le regole degli identificatori)

sp_addlogin login_id [, passwd [, defdb ]]
Crea un nuovo utente di SQL Server aggiungendo un'entrata al master.dbo.syslogins
login_id
Login ID dell'utente (segue le regole degli identificatori)
passwd
Password dell'utente (se non metto niente di default è NULL)
defdb
specifico il database di default dell'utente (di default master

sp_addsegment nome_segmento, nome_logico
Definisce un segmento su una device di un database nel corrente database
nome_segmento
È il nome del nuovo segmento; tale nome deve essere unico in tutto il database
nome_logico
Specifica la device di database dove tale segmento viene posizionato; un database può avere più di un segmento associato con esso

sp_addserver nome_server [, LOCAL]
Definisce un server remoto o il nome di un server locale
nome_server
È il nome del nuovo server; il nome deve essere unico e soddisfare le regole degli identificatori
LOCAL
È un parametro opzionale che identifica il server che si sta aggiungendo come server locale

sp_addtype nome_tipo, tipo_fisico [, tipo_nullo]
nome_tipo
Nome del tipo di dati definito dall'utente
tipo_fisico
È il tipo fisico, o supportato dall SQL Server, su cui si basa il tipo creato dall'utente
tipo_nullo
Indica come il tipo creato dall'utente gestisce il valore nullo; di default è NULL

sp_addumpdevice { 'disk' | 'diskette' | 'tape' }, 'nome_logico', 'nome_fisico' [, { tipo_cntrl [, noskip | skip [, capacità_media]]} | @devstatus={ noskip | skip }}]
Serve per aggiungere dump device all'SQL Server (device per il backup)
'disk' | 'diskette' | 'tape'
Specifica il tipo del dump device: si usa disk per aggiungere un hard disk come dump devide; si usa diskette per aggiungere un dischetto con drive da 3'5" o 5'25" come dump devide; si usa tape per aggiungere device di tipo tape (nastro), supportata da Windows NT, come dump devide
nome_logico
È il nome logico della dump device usata nei comandi LOAD e DUMP; segue le regole per gli identificatori
nome_fisico
È il nome fisico della dump device; segue le regole dei nomi dei file del sistema operativo o le convenzioni dei nomi universali per le device di rete e deve essere incluso l'intero path
tipo_cntrl
Non è richiesto quando di creano dump device
noskip | skip
Indica se le etichette dei nastri ANSI sono lette (noskip) o sono ignorate (skip)
capacità_media
Non è richiesta quando si creano dump device
@devstatus= noskip | skip
Esplicitamente definisce se le etichette dei nastri ANSI sono lette (noskip) o sono ignorate (skip)

sp_adduser id_login [, username [, nome_gruppo]
Aggiunge nuovi utenti al database corrente
id_login
È l'ID del login dell'utente
username
Specifica un nome per questo utente nel database corrente; se non si mette di default risulta uguale all'id_login
nome_gruppo
Identifica un gruppo esistente nel database; se non si specifica si diventa membri del gruppo public

sp_changedbowner id_login [, true]
Cambia il proprietario del database
di_login
È ID login del nuovo proprietario del database corrente; tale nuovo proprietario non deve già essere conosciuto come utenet o alias nel database. Effettuato il cambiamento tutti gli alias degli utenti che lavoravano come proprietari del database, legati al vecchio proprietario, vengono cancellati
true
Trasferisce gli alias e i loro permessi al nuovo proprietario del database

sp_changegroup nome_gruppo, username
nome_gruppo
È il nome del gruppo che già esiste nel database corrente
username
Specifica quale utente viene aggiunto al gruppo; l'utente deve già esistere nel database corrente

sp_configure [nome_config [, valore_config]]
Visualizza o cambia le opzioni di configurazione
nome_config
Specifico una opzione di configurazione (se contiene spazi deve essere compresa fra doppi apici)
valore_config
È il valore attribuito all'opzione di configurazione
Essendo una procedura che modifica la configurazione dell'intero SQL Server preferiamo indicare qui parametri, rimandiamo al manuale Microsoft SQL Server Transact-SQL Reference

sp_dbinstall database, nome_log_dev, 'nome_fis_dev', lunghezza, 'tipo_dev', ['locazione']
Installa un database e le sue device; deve essere eseguito per ogni device del database che deve essere installato. Tale procedura copia le device di sistema sull'hard disk (creando le tabelle di sistema e i transaction log sul supporto di lettura/scrittura)
database
È il nome del database sul supporto rimuovibile che deve essere installato
nome_log_dev
È il nome logico del device che deve essere installato
nome_fis_dev
È il nome fisico che include l'intero path per la device che deve essere installata
lunghezza
È la dimensione, in blocchi da 1 MB, della device che deve essere installata
tipo_dev
Indica il tipo della device: SYSTEM indica che la device che viene installata contiene le tabelle di sistema e i transaction log; la device di sistema deve essere installata prima della device dei dati; DATA indica che la device che è stata installata contiene le tabelle dei dati; se il database contiene più di una device per i dati, bisogna eseguire tale procedura per ognuna di queste device
locazione
Indica la locazione in cui la device verrà copiata (in genere la destinazione è l'hard disk locale); tale locazione deve indicare il nome del file comprensivo del path completo

sp_dboption [nomedb, nome_opt, { true | false }
Serve per visualizzare o cambiare le opzioni del database
nomedb
Specifica il database in cui si vogliono settare le opzioni
nome_opt
È il nome delle opzioni che si intendono settare o disattivare
ANSI null defaultAbilita gli utenti a controllare la possibilità di assegnare un valore nullo all'interno del database
dbo user onlySetta un database per essere usato solamente dal proprietario
offlineAbilita il database ad essere posto fuori linea (quando si setta con false il database è pronto per essere usato) o fuori linea ( true, il database non è disponibile e non può essere usato
read onlyDefinisce il database in sola lettura
select into/bulkcopyAbilita il database ad accettare operazioni senza il login, tali operazioni sono: UPDATETEXT, WRITETEXT, SELECT INTO in una tabella permanente, l'uso del bulk copy veloce (bcp o l'esecuzione di un caricamento di una tabella
single userRestringe l'accesso al database ad un singolo utente
true | false
Serve per dire come si vogliono settare le opzioni: true se si vogliono settare le opzioni, false se si vogliono disattivare

sp_dbremove database [, dropdev]
Si usa per rimuovere un database ed eventualmente anche le device relative
database
È il nome del database da rimuovere
dropdev
Rimuove dalle tabelle di sistema le device, ma non cancella i file .DAT

sp_defaultdb login_id, defdb
Cambia il database di default di un utente
login_id
È l'ID del login dell'utente
defdb
Specifica il database a cui l'utente si colegher&agrve; di default

sp_dropdevice nome_logico [, DELFILE]
Rimuove le device di un database SQL Server o una dump device
nome_logico
È il nome logico della device del database o della dump device
DELFILE
Specifica che il file fisico deve essere cancellato

sp_dropgroup nome_gruppo
Rimuove un gruppo dal database
nome_gruppo
Specifica quale gruppo deve essere cancellato dal database corrente

sp_droplogin login_id
Rimuove l'utente con tale login
login_id
È il nome dell'utente

sp_dropsegment nome_segmento [, nome_logico]
Cancella un segmento da un database o toglie il mappaggio di un segmneto da una device del database
nome_segmento
È il segmento che viene cancellato
nome_logico
Specifica la device che contieme il segmento che non si vuole più usare

sp_drop server nome_server [, droplogins]
Cancella il server dalla lista dei server conosciuti
nome_server
È il nome del server da cancellare
droplogins
Indica che ogni login remoto per tale server saranno cancellati

sp_droptype nome_tipo Cancella un tipo di dati definito dall'utente
nome_tipo
È il nome del tipo di dato definito dall'utente che tu possiedi

sp_dropuser username
Cancella un utente dal corrente database
username
È l'utente da cancellare

sp_help [nome_oggetto]
Riporta informazioni relative ad un oggetto del database o un tipo di dati definito da un utente
nome_oggetto
È il nome dell'oggetto o del tipo di dati definito dall'utente; non è accettato il nome del database
esempio

sp_helpdb [nome_db]
Riporta informazioni relative ad un database o a tutti i database
nome_db
È il nome del database di cui si vogliono le informazioni
esempio

sp_helpdevice [nome_logico]
Riporta informazioni relative ad device di database o a dump device
nome_logico
È il nome logico della device del database di cui si vogliono le informazioni

sp_helpindex nome_tabella
Riporta le informazioni relative agli indici su una tabella
nome_tabella
Specifica una tabella del datbase corrente

sp_helplog
Riporta il nome della device che contiene la prima pagina del log nel corrente database
esempio

sp_logdevice nome_db, device_db
Mette la tabella di sistema syslogs, che contiene i transaction log, su una device di database separata
nome_db
Nome del database
device_db
È il nome della device del database su cui si vuole mettere la tabella syslogs

sp_monitor
Visualizza le statistiche sull'SQL Server

sp_password vecchia, nuova [, login_id]
Aggiunge o cancella una password per un ID login di SQL Server
vecchia
Vecchia pasword dell'utente
nuova
Nuova password dell'utente
login_id
È un'opzione che solo l'amministratore di sistema può usare per cambiare le password degli utenti

sp_rename nome_oggetto, nuovo_nome [, COLUMNS | INDEX ]
Cambia il nome di un oggetto creato da un utente nel database corrente
nome_oggetto
È il nome originale dell'oggetto (tabella, vista, stored procedure, ... ) o tipo di dati creato dall'utente. Se voglio cambiare il nome di una colonna dell'oggetto uso oggetto.colonna o un indice oggetto.indice
nuovo_nome
È il nuovo nome dell'oggetto o del tipo di dati
COLUMNS | INDEX
Specifica se l'oggetto rinominato è una colonna o un indice

sp_renamedb vecchio, nuovo
Cambia il nome di un database
vecchio
Nome originale del database
nuovo
Nuovo nome del database

sp_spaceused [nome_oggetto]
Visualizza il numero di righe, lo spazio disco riservato, e lo spazio disco usato da una tabella nel database, o visualizza lo spazio disco riservato e usato dall'intero database
nome_oggetto
Specifica il nome della tabella per cui si desiderano le informazioni sullo spazio (riservato e allocato)
esempio

sp_who [ login_id | 'spid' ]
Riporta informazioni relative agli utenti ed ai proceddi correnti di SQL Server
login_id
È l'ID di login dell'utente sull'SQL Server; se non è specificato, la procedura riporta su tutti gli utenti attivi di SQL Server
spid
Specifica uno specifico processo, si può fornire un numero di processo come un parametro se si racchiude esso fra apici