Tipuri speciale de proceduri stocate

Previzualizare referat:

Extras din referat:

Proceduri stocate definite de utilizator

După denumirea lor, procedurile stocate definite de utilizator sunt doar grupuri de declaraţii T-SQL asamblate de către administratori şi compilate într-un singur plan de execuţie.

Proceduri stocate de tip sistem

Microsoft oferă o vastă serie de proceduri stocate, ca parte a SQL Server. Acestea sunt concepute pentru a acoperi toate aspectele legate de administrarea sistemului. Înainte de Microsoft SQL Server 6.0, s-au folosit script-uri in ISQL, un utilitar interpretor de comenzi asemanator lui SQLCMD, pentru a controla serverul şi baze de date. Deşi administratorii de astăzi sunt obişnuiţi să utilizeze Management Studio, sistemele de proceduri stocate sunt, încă, foarte importante, deoarece Management Studio le utilizează intern, prin intermediul SQL-SMO.

Notă: SQL-SMO este prescurtarea pentru SQL Server Management Objects. Aceasta este o colecţie de obiecte concepute pentru a gestiona mediul SQL Server. Putem să-l utilizăm pentru a ne crea propriile aplicaţii de gestionare a SQL Server sau pentru a automatiza sarcinile repetitive.

Procedurile stocate de tip sistem sunt stocate în baza de date sistem (master şi, uneori, msdb) şi au prefixul sp_. Acest prefix este mai mult decât o convenţie. El semnalează serverului că procedura stocată se află în baza de date master şi că ar trebui să fie accesibil din toate bazele de date, fără ca utilizatorul să fie nevoit a prefixa toate procedurile cu numele bazei de date.

Exec sp_who --- în loc de Exec master.sys.sp_who

De asemenea acest prefix îi indică serverului că procedura stocată trebuie să fie executată în contextul actualei de baze de date. De exemplu, script-ul prezentat în figura 7.1 ne dă informaţii cu privire la baza de date curentă, nu despre master.

Notă Există mici neconcordanţe comportamentale între procedurile stocate în baza de date master şi baza de date msdb. Procedurile stocate în baza de date msdb sunt livrate cu SQL Server, dar acestea trebuie să aibă legătură cu numele bazei de date, (de exemplu, msdb.dbo.sp_update_job), şi ele nu se execută în contextul bazei de date actuale. De fapt, în baza definiţiei de mai sus, aceste proceduri stocate sunt mai degrabă proceduri stocate "furnizate de către sistem" decât proceduri stocate sistem.

Proceduri stocate de tip CLR (.NET)

În SQL Server 2005, este posibil de a crea proceduri stocate în orice limbaj de programare (.NET) care acceptă Common Language Runtime (CLR). Utilizarea unor astfel de proceduri este similar cu utilizarea procedurilor T-SQL definite de utilizator. Ele pot prezenta rezultate tabelare, parametrii de ieşire de tip întreg, pot modifica datele şi unele obiecte ale bazei de date.

Proceduri stocate extinse

Deoarece nu toate funcţiile SQL Server au putut fi implementate prin declaraţiile T-SQL, proiectanţii versiunilor anterioare ale SQL Server au dezvoltat o modalitate de a utiliza funcţii din DLL-uri scrise în alte limbaje de programare, cum ar fi C sau C + +. Procedurile stocate extinse sunt de fapt aceste funcţii C încapsulate în fişiere DLL. Ele au un înveliş în baza de date master care utilizează prefixul xp_. Folosind acest înveliş, putem avea acces la ele doar ca orice alte proceduristocate.

Notă: Procedurile stocate extinse selectate în baza de date master sunt denumite cu prefixul sp_ pentru a permite utilizatorilor de a le accesa de la orice bază de date (cum ar fi sp_execute, sp_executesql, şi sp_sdidebug).

În următorul exemplu, procedura stocată extinsă rulează o comandă a sistemului de operare pentru a lista toate script-urile în directorul BINN. Din moment ce nu este declarat cu prefixul sp_ numele procedurii trebuie specificat folosind ca prefix numele complet al bazei de date în care este stocată: Exec master.dbo.xp_cmdshell "dir c: MSSQL binn *. sql"

SQL Server are propriile fişierele DLL cu proceduri stocate, ele pot fi găsite în folderul C:Program FilesMicrosoft SQL ServerMSSQL.x MSSQL Binn.

Sfat: Deoarece SQL Server 2005 sprijină dezvoltarea de proceduri stocate în NET, Microsoft a anunţat că în viitor nu va mai suporta procedurile stocate extinse.

Designul procedurilor stocate extinse

Nu putem crea o procedură stocată de la orice fişier DLL; fişierul trebuie să fie pregătit într-un mod special.

Dezvoltarea procedurilor stocate extinse se bazează pe modul de utilizare a Open Data Services API (ODS API).

Pentru a crea o procedură stocată:

1. În Visual C + + Enterprise Edition, selectăm File | New. Noua casetă de dialog ar trebui să apară cu fişierele lansate deschise. Trebuie să denumim fişierele lansate. De asemenea trebuie utilizat denumirea procedurii extinse ca nume al fişierelor lansate. Numele procedurii stocate extinse de regulă începe cu prefixul xp_.

2. Selectăm Extended Stored Proc Wizard din lista de tipuri de proiecte.

3. Când facem clic pe OK, programul va lansa procedura extinsă solicitată Extended Stored Proc Wizard.

Observații:

Referat + prezentare power point cu tema Tipuri speciale de Proceduri Stocate, disciplina BAZE DE DATE

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Tipuri Speciale de Proceduri Stocate
    • proceduri stocate.doc
    • proceduri stocate.ppt
Alte informații:
Tipuri fișiere:
doc, ppt
Nota:
8/10 (1 voturi)
Nr fișiere:
2 fisiere
Pagini (total):
22 pagini
Imagini extrase:
6 imagini
Nr cuvinte:
2 079 cuvinte
Nr caractere:
11 665 caractere
Marime:
47.45KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Referat
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
prof. Branga, Univeristatea Lucian Blaga Sibiu
Sus!