Šiuo metu esate neprisijungę, laukiama, kol iš naujo prisijungsite prie interneto

„SQL Server“ parametrų „automatinis padidinimas“ ir „automatinis sumažinimas“ aptarimas

SANTRAUKA
Numatytieji parametrai automatinis padidinimas ir automatinis sumažinimas daugelyje „SQL Server“ sistemų veiks iškart. Vis dėlto yra aplinkų, kuriose šių parametrų nereikia įjungti arba kuriose parametrus automatinis padidinimas ir automatinis sumažinimas reikia reguliuoti. Šiame straipsnyje pateikiama šiek tiek bendrosios informacijos, kad jums būtų lengviau šiuos parametrus pasirinkti naudojamoje aplinkoje.
DAUGIAU INFORMACIJOS
Jei norite keisti parametrus automatinis padidinimas ir automatinis sumažinimas, turite apsvarstyti kelis dalykus.

Kaip sukonfigūruoti šiuos parametrus?

  1. Parametrus automatinis padidinimas ir automatinis sumažinimas galite sukonfigūruoti naudodami:
    • Sakinys KEISTI DUOMENŲ BAZĘ (negalite naudotis „SQL Server 7.0“)
    • „SQL Server Management Studio“ arba „SQL Enterprise Manager“
    • Išsaugota procedūra sp_dboption (nerekomenduojama naudoti „SQL Server 2005“)
    Pastaba Jei naudojatės „SQL Server 2005“, naudokite „SQL Server Management Studio“, o ne „SQL Enterprise Manager“. Daugiau informacijos, kaip nustatyti šiuos parametrus sistemoje „SQL Server 2005“, rasite apsilankę šiose „Microsoft“ programų kūrėjų tinklo (MSDN) svetainėse:
    Instrukcijos: duomenų arba žurnalo failų pridėjimas prie duomenų bazės („SQL Server Management Studio“)
    http://msdn.microsoft.com/lt-lt/library/ms189253.aspx
    Duomenų bazės ypatybės (failų puslapis)
    http://msdn.microsoft.com/lt-lt/library/ms180254.aspx
    Be to, kurdami duomenų bazę galite sukonfigūruoti parinktį automatinis padidinimas.

    Dabartinius parametrus galite peržiūrėti „SQL Enterprise Manager“ (SEM) duomenų bazės ypatybėse. Arba galite vykdyti šią „Transact-SQL“ komandą:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. Atminkite, kad parametras automatinis padidinimas nustatomas kiekvienam failui. Todėl jį turite nustatyti bent dviejose kiekvienos duomenų bazės vietose (vieną pagrindiniam duomenų failui ir vieną pagrindiniam žurnalo failui). Jei yra sukurti keli duomenų ir (arba) žurnalo failai, parinktis turite nustatyti kiekvienam failui. Atsižvelgiant į naudojamą aplinką, kiekvienam duomenų bazės failui galite nustatykite skirtingus parametrus.

Kokie yra kiti veikimo pasikeitimai?

  • Jei vykdysite operaciją, kuriai reikia daugiau žurnalo vietos nei jos yra, ir duomenų bazės operacijų žurnale būsite įjungę parinktį automatinis padidinimas, į operacijos įvykdymo laiką bus įskaičiuojamas ir laikas, skirtas operacijų žurnalui iki sukonfigūruoto dydžio padidinti. Jei padidinimas yra didelis arba yra kitų veiksnių, dėl kurių šis procesas užtrunka, užklausos, kurioje atidarote operaciją, gali nepavykti atlikti dėl skirtojo laiko klaidos. Tokia pat problema gali kilti ir automatiškai didinant duomenų bazės duomenų kiekį. Norėdami pakeisti konfigūraciją automatinis padidinimas, „SQL Server“ knygose internetu skaitykite temą DUOMENŲ BAZĖS KEITIMAS.
  • Jei vykdote didelę operaciją, kuriai reikia padidinti žurnalą, kitos operacijos, kurias reikia įrašyti į operacijų žurnalą, turės palaukti, kol bus užbaigta padidinimo operacija.
  • Jei parinktis automatinis padidinimas ir automatinis sumažinimas naudosite kartu, gali būti sukurti nereikalingi papildomi duomenys. Įsitikinkite, kad slenksčiai, kuriuos reikia pasiekti norint vykdyti padidinimo arba sumažinimo operacijas, nesukels dažnų dydžio pasikeitimų. Pavyzdžiui, galite vykdyti operaciją, kurią atlikus operacijų žurnalas padidėja 100 MB. Praėjus šiek tiek laiko po automatinio sumažinimo pradžios operacijų žurnalas sumažinamas 100 MB. Tada vykdote tą pačią operaciją ir operacijų žurnalas vėl padidinimas 100 MB. Tokiu atveju kuriate nereikalingus papildomus duomenis ir, tikėtina, fragmentuojate žurnalo failą, o tai gali pakenkti veikimui.
  • Fizinė fragmentacija, pakeičianti duomenų arba žurnalo failų dydį, gali stipriai paveikti veikimą. Taip nutinka, nesvarbu, ar naudojate automatinius parametrus, ar rankiniu būdu padidinate ir sumažinate failus.
  • Jei duomenų bazę padidinate šiek tiek arba jei ją padidinate ir vėl sumažinate, galite sufragmentuoti diską. Tam tikrais atvejais disko fragmentavimas gali kelti veikimo problemų. Be to, nedideli padidinimai gali sumažinti ir sistemos veikimo efektyvumą.
  • Sistemoje „SQL Server 2005“ arba naujesnėse jos versijose galite įgalinti tiesioginį failų inicijavimą. Tiesioginis failų inicijavimas pagreitina tik duomenų failų priskyrimą. Tiesioginis failų inicijavimas netaikomas žurnalo failams.
  • Jei dažnai atliekate žurnalo failų didinimus, gali būti sukurtas per didelis virtualiųjų žurnalo failų (VLF) skaičius. Tai gali kelti su duomenų bazės paleidimu arba interneto operacijomis, replikavimu, atvirkštiniu kopijavimu ir duomenų fiksavimo keitimu (CDC) susijusias problemas. Be to, tai kartais gali kelti su duomenų modifikavimu susijusias problemas.

Patarimai

  • Jei naudojatės valdoma gamybos sistema, turite atminti, kad automatinis padidinimas gali lemti tik atsitiktinį padidėjimą. Kasdien naudodami automatinį padidinimą netvarkykite duomenų ir žurnalo didinimo.
  • Failų dydžiui stebėti ir didinti galite naudoti įspėjimus ir stebėjimo programas. Taip bus lengviau išvengti fragmentavimo ir priežiūrą galėsite vykdyti ne piko valandomis.
  • Automatinį sumažinimą ir automatinį padidinimą turi atidžiai įvertinti kvalifikuotas duomenų bazių administratorius (DBA); šias parinktis būtina valdyti.
  • Nustatytas automatinis padidinimas turi būti pakankamai didelis, kad nebūtų pakenkta veikimui, kaip aprašyta anksčiau šiame skyriuje. Tiksli reikšmė, kurią reikia naudoti jūsų konfigūracijos nustatyme, bei procentinio didinimo ir didinimo tiksliu MB dydžiu pasirinkimas priklauso nuo daugelio veiksnių jūsų aplinkoje. Patikrinti galite nustatę parametro automatinis padidinimas reikšmę kaip vieną aštuntąją failo dydžio.
  • Kiekviename faile įjunkite parametrą <MAXSIZE>, kad vienas failų nepadidėtų tiek, jog užimtų visą disko vietą.
  • Išlaikykite operacijas kuo mažesnes, kad išvengtumėte neplanuoto failų padidėjimo.

Kodėl reikia rūpintis disko vieta, jei dydžio parametrai yra kontroliuojami automatiškai?

  • Parametras automatinis padidinimas negali padidinti duomenų bazės daugiau nei diskuose, kuriuose saugomi failai, yra vietos. Todėl jei automatinio padidinimo funkcijai leisite tvarkyti duomenų bazių dydį, vis tiek turėsite tikrinti diske likusios vietos dydį. Be to, Automatinio padidinimo parametras yra ribojamas parametru MAXSIZE, kurį pasirenkate kiekvienam failui. Kad diske nesibaigtų vieta, stebėkite efektyvumo monitoriaus skaitiklį „SQL Server“: duomenų bazių objektas: duomenų failo (-ų) dydis (KB) ir nustatykite įspėjimą, kuriuo bus pranešta, kad duomenų bazė pasiekė tam tikrą dydį.
  • Neplanuotas duomenų arba žurnalo failų padidėjimas gali užimti vietą, skirtą kitoms programos, ir kelti šių programų problemų.
  • Operacijų žurnalo padidinimo reikšmė turi būti pakankamai didelė, kad būtų galima atlikti operacijas. Net jei automatinis padidinimas yra įjungtas, bet jis negali visiškai įvykdyti jūsų užklausos ir greitai atlikti padidinimo, gali būti parodytas pranešimas, nurodantis, kad operacijų žurnalas yra pilnas.
  • „SQL Server“ neieško nuolatos, ar yra duomenų bazių, kurios pasiekė sukonfigūruotą automatinio sumažinimo slenkstį. Užuot tai daręs, jis patikrina visas prieinamas duomenų bazes ir aptinka pirmą, kurioje sukonfigūruota atlikti automatinį sumažinimą. Ši duomenų bazė patikrinama ir prireikus sumažinama. Tada palaukiama kelias minutes ir tikrinama kita duomenų bazė, kurioje sukonfigūruotas automatinis sumažinimas. Kitaip tariant „SQL Server“ vienu metu netikrina visų duomenų bazių, tačiau sumažina jas visas vienu metu. Duomenų bazės patikrinamos atskirai, kad krūvis būtų paskirstytas tam tikram laikotarpiui. Taigi, atsižvelgiant į konkrečiame „SQL Server“ serveryje esančių duomenų bazių, kurias sukonfigūravote automatiškai sumažinti, skaičių, sumažinimo procesui užbaigti gali prireikti kelių valandų, kai duomenų bazė pasiekia nustatytą slenkstį.
NUORODOS
Daugiau informacijos, kaip padidinti ir sumažinti duomenų bazę ir žurnalo failus, rasite spustelėję toliau nurodytus straipsnių numerius ir peržiūrėję „Microsoft“ žinių bazės straipsnius:
256650 Kaip sumažinti „SQL Server 7.0“ operacijų žurnalą
272318 „SQL Server 2000“ operacijų žurnalo sumažinimas naudojant DBCC SHRINKFILE
317375 Operacijų žurnalas netikėtai padidėja arba užpildomas kompiuteryje su „SQL Server“
247751 TRIKTIS: duomenų bazės priežiūros planas nesumažina duomenų bazės
305635 Didinant duomenų bazę automatiškai baigiasi skirtasis laikas
949523 Operacijos replikavimo gaištis sistemoje „SQL Server 2005“ yra ilga, kai ypatybės „Pradinis dydis“ ir automatinio padidinimo ypatybės reikšmės yra nedidelės
Daugiau informacijos apie duomenų bazės failų inicijavimą ieškokite šioje „Microsoft“ programų kūrėjų tinklo (MSDN) svetainėje: Daugiau informacijos apie tiesioginio failų inicijavimo įjungimą rasite apsilankę šioje „Microsoft“ svetainėje: Daugiau informacijos apie operacijų žurnalo fizinę architektūrą rasite apsilankę šioje MSDN svetainėje:
„SQL Server“ knygos internetu; temos: „Operacijų žurnalo fizinė architektūra“; „Operacijų žurnalo sumažinimas“
sumažinimas padidinimas automatinis sumažinamas padidinti išplėsti sutraukti sumažinti 1105 žurnalas pilnas tuščias didelis mažesnis didesnis nepavyko priskirti vietos objektui
Savybės

Straipsnio ID: 315512 – Paskutinė peržiūra: 09/17/2011 08:47:00 – Peržiūra: 3.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL 2005 Server Workgroup

  • kbsqlmanagementtools kbinfo KB315512
Atsiliepimai
/html>play:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">