2013 m. vasario 10 d., sekmadienis

Implementing Managed Code in database



CLR (Common Language Runtime) – sluoksnis .NET Frameworke, kuris leidžia kurti programas ir procedūras bet kuria .NET kalba ir tai vykdyti.

SQL CLR Integration leidžia sukurti duomenų bazės objektus, kurie pagerina funkcionalumą.

Managed Code vs. Transact-SQL (9-9)


Darbas su eilutėmis CLR yra greitesnis nei T-SQL.


Transact SQL:
  • Efektyvus priėjimas prie duomenų
  • Nedidelė logika
  • Gali vykdyti tik su SQL Server aplinka
  • Gali išplėsti stored procedūras

Managed code:
  • Sudėtingi skaičiavimai
  • Sudėtinga procedūrinė logika
  • Vykdo su SQL serverio arba kliento procesu
  • Palaiko aukštesnį sistemos integralumą, negu išplėstos stored procedūros

Assembly:
  • sukompiliuotas kodas, kuris palaiko tipus, metodus ir meta duomenis;
  • vienas, naudojamas įdiegimui ir kodo naudojimui;
  • Vykdomas per SQLCLR.


Assembly – tai DLL failai, kurie sukuriami kompiliuojant .NET kalbos, tokios kaip VB arba C# failus, palaikančius logiką.

Assembly trust levels:
  • Machine policies
  • User policies
  • Host policies

Permissions:
  • SAFE
  • EXTERNAL_ACCESS
  • UNSAFE

Trust lygiai gali būti priskirti Windows accountams.
Trust lygiai kontroliuoja priėjimą per assembly prie išorinių resursų.

CREATE ASSEMBLY assembly_name
[AUTHORIZATION owner_name]
FROM {}
[WITH PERMISSION SET = {SAFE | EXTERNAL_ACCESS | UNSAFE}]
[;]


TRUSTWORTHY – duomenų bazių savybė, rodanti, kad galima pasitikėti išoriniais šaltiniais. Dažnai naudojama su EXTERNAL_ACCESS.

Komentarų nėra:

Rašyti komentarą