Welcome to Sign in | Help
in Search

Operatii Online pe Indecsi

Last post 09-23-2006, 9:15 PM by xmldeveloper. 2 replies.
Sort Posts: Previous Next
  •  09-21-2006, 9:54 PM 134

    Operatii Online pe Indecsi

    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
  •  09-23-2006, 8:41 PM 165 in reply to 134

    Re: Operatii Online pe Indecsi

    Ar fi interesant de facut un experiment pentru a afla cat de mare este incarcarea tempdb in momentul indexarii online. Pe de alta parte, reindexarea  indecsului clustered pe un tabel atrage refacerea si a indecsilor nonclustered care, dupa cum stim, se bazeaza pe indexul clustered. Parerea mea este ca trebuie sa te gandesti bine (de 2 ori) inainte de a face indexare online!
    Gheorghe Ciubuc,SQL Server Influencer, MCP(SQL 2000), MCTS (SQL Server 2005) , OCA(Oracle 9i), Sybase(Brainbench)
  •  09-23-2006, 9:15 PM 166 in reply to 165

    Re: Operatii Online pe Indecsi

    Practic se genereaza o versiune a tabelei in tempdb.

    Online inseamna de fapt aproape online. Exista trei faze parcurse - prepare, build si final. Indecsii sunt disponibili doar in faza build.

    A se vedea diagrama din Books Online:

    "How Online Index Operations Work" http://msdn2.microsoft.com/en-us/library/ms191261.aspx


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems