Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

MS SQL - Trimming, usunięcie danych z tabeli. SQL Server Management Studio.

Gregores_11 15 Lut 2016 17:09 810 3
  • #1 15 Lut 2016 17:09
    Gregores_11
    Poziom 12  

    Witam, mam problem z bazą MS SQL 2014 wersja Express, dane zapełniły darmowe 10Gb. Chcę wykonać prosty delete w SQL Server Management Studio, pisząć query:

    Code:
    delete from [moja_tabela] where timestamp < 1452816000 


    Za pomocą tego zapytania powinienem skasować około 25% danych z tabeli która waży około 9GB. Jednak dostaję komunikat :

    Cytat:
    There is insufficient memory available in the buffer pool]


    Znam angielski i wiem co to znaczy, jednak wcześniej nie było tego problemu. Czy to związane jest z jakimś plikiem loga który został zapełniony. Jestem jeszcze słaby z baz danych dlatego proszę o wytłumaczenie.

    pozdrawiam

    0 3
  • Pomocny post
    #2 15 Lut 2016 17:37
    Dżyszla
    Poziom 42  

    Obstawiam, że raczej z transakcjami. Do wykonania zapytania może być potrzebne dodatkowe miejsce. Ale trochę strzelam w ciemno.

    Spróbuj na początek usunięcie np. z pojedynczym rekordem.

    0
  • #3 15 Lut 2016 20:57
    Gregores_11
    Poziom 12  

    Dziękuję za odpowiedź.
    Jede rekord usuwa się bez problemu.

    Cytat:
    (1 row(s) affected)


    Co miałeś na myśli pisząć o transakcjach?

    0
  • Pomocny post
    #4 16 Lut 2016 10:24
    kinggustav
    Poziom 20  

    Serwer chce zapisać informacje potrzebne do cofnięcia transakcji, dlatego potrzebne to miejsce.
    Usuwanie 1 rekordu działa, więc najprostszym rozwiązaniem będzie usuwać po mniejszym kawałku, nie od razu 25%. Może 5% się uda?

    0