Operatii Online pe Indecsi
In SQL Server 2005 Enterprise Edition sunt permise operatiile online pe indecsi, astfel fiind posibile crearea, refacerea sau stergerea indecsilor fara blocarea accesului la datele respective.
Urmatoarele instructiuni Transact-SQL: CREATE INDEX, ALTER INDEX, DROP INDEX, ALTER TABLE,
au la dispozitie folosirea optiunii ONLINE care permite mai multor utilizatori accesul concurential la datele unui tabel sau al ale unui index clustered si oricaror indecsi nonclustered in timpul operatiilor cu acesti indecsi. De exemplu la executarea offline a unor instructiuni de tip Data Definition Language (DDL) cum ar fi construirea unui index clustered, este blocat accesul asupra datelor respective, exclusiv pentru aceste operatii. In timp ce in cand un utilizator reface un index clustered online, toti utilizatorii au acces la datele asociate acelui index putand face interogari sau update-uri.
Pentru a permite accesul la un indecs in timpul modificarii acestuia se foloseste noua tehnologie row versioning.
Row versioning consta in mentinerea de mai multe versiuni pentru datele modificate.
Urmatorul exemplu preluat din Books Online arata aceasta functionalitate:
Exemplu:
USE AdventureWorks;
GO
ALTER INDEX ALL ON Production.Product
REBUILD WITH (ONLINE = ON);
O scurta observatie: operatiile online pe indecsi cat si celelalte functionalitati care folosesc framework-ul row versioning (Snapshot Isolation, MARS, DML triggers) pot contribui la incarcarea bazei de date tempdb.
Cristian Andrei Lefter, SQL Server MVP
MCT, MCSA, MCDBA, MCAD, MCSD .NET,
MCTS, MCITP - Database Administrator SQL Server 2005
http://sqlserver.ro