SQL Server 2018 - transferul de fișiere de baze de date Tempdb pe un disc separat - pe blog-ul l-kb
Atunci când se planifică de a implementa aplicații utilizând în mod activ baza de date SQL Server sistem de timp - tempdb. trebuie să țină seama de faptul că fișierele bazei de date implicite care sunt amplasate pe unitatea de sistem. Prin urmare, pentru a evita posibilele probleme viitoare cu preaplinul sistem de disc, din cauza creșterii dimensiunii fișierelor tempdb. Avem nevoie, eventual, să aloce pentru acest fișier de bază de date spațiu pe disc logic separat.
La crearea unui spațiu separat pe disc logic trebuie să înțeleagă că nu ar trebui să fie folosite pentru orice alte aplicații, iar dimensiunile sale trebuie să fie calculată pe baza cerințelor tehnice ale aplicației cu ajutorul nostru SQL Server.
Trebuie să se țină seama de faptul că, în scopul de a obține performanțe maxime în tempdb ar putea avea nevoie de diversitate a fișierelor de date și jurnal de tranzacții tempdb. De asemenea, trebuie remarcat faptul că, pentru a crește productivitatea unui sistem bine încărcate în documentul MSDN Library - Optimizarea performanței tempdb prezintă o recomandare pentru a crea un grup separat fișiere Tempdb pe discuri diferite pentru fiecare nucleu de procesor de server.
În mod implicit, tempdb este setat la auto-extensie (autogrow) și de fiecare dată când reporniți SQL Server re-creează aceste fișiere de baze de date, cu o dimensiune minimă a initializare (dimensiunea initiala). Pe baza recomandărilor documentului de mai sus, vom crește dimensiunea fișierelor de inițializare tempdb în așa fel încât să reducă la minimum costul resurselor de sistem în operarea de auto-expansiune.
Pentru a determina care este în prezent localizat fizic fișierele bazei de date tempdb. deschide SQL Server Management Studio și executa instrucțiunea SQL:
Numele SELECT. physical_name AS CurrentLocation
DE LA sys. master_files
UNDE database_id = DB_ID (N'tempdb „);
Despre obținem următorul rezultat:
Apoi Decide cu privire la fișierele bazei de date ce drive-uri logice sunt localizate, iar ceea ce ei vor fi în sus, executați o interogare SQL:
ALTER tempdb
MODIFY FILE (. NAME = tempdev FILENAME = 'H: TempDB_Datatempdb.mdf' SIZE = 10240.);
ALTER tempdb
MODIFY FILE (NAME = FILENAME templog = 'I: TempDB_Logtemplog.ldf'. SIZE = 3072.);
Înainte de a rula această interogare, trebuie să înțelegeți că, dacă vom specifica dimensiunea fișierelor, SQL Server încercați imediat pentru a crește fișierele active în mod curent, iar dimensiunea lor este mai mare decât spațiul disponibil pe spațiul actual de unitate de disc - vom primi un mesaj de eroare.
După finalizarea cu succes a cererii - Reporniți serviciul SQL Server și asigurați-vă că fișierele noastre sunt în cazul în care dorim să execute interogarea SQL:
Numele SELECT. physical_name AS CurrentLocation. dimensiune. state_desc
DE LA sys. master_files
UNDE database_id = DB_ID (N'tempdb „);
Dacă totul merge bine, rezultatul ar trebui să fie ceva de genul:
După aceea, trebuie să eliminați fișierele tempdb. MDF si templog. LDF cu locația lor vechi.
Surse suplimentare de informații: