PANTHEON™ Help

 Toc
 PANTHEON Ajutor - Bun venit
[Collapse]PANTHEON
 [Collapse]Ghiduri pentru PANTHEON
  [Expand]Ghid pentru PANTHEON
  [Expand]Ghid pentru PANTHEON Retail
  [Expand]Ghid pentru PANTHEON Vet
  [Expand]Ghid pentru PANTHEON Fermă
 [Collapse]Manuale de utilizare pentru PANTHEON
  [Collapse]Manual de utilizare pentru PANTHEON
   [Collapse]Începerea
     Dicționar de termeni
     Primii pași cu PANTHEON
    [Expand]Folosind PANTHEON la Tecta, o companie fictivă
    [Expand]Instrucțiuni pentru asigurarea conformității PANTHEON cu SAS
    [Expand]Instalare PANTHEON
    [Collapse]SISTEMUL PANTHEON
     [Expand]Datele sistemului PANTHEON
     [Collapse]MS SQL Server
       Descărcați și instalați MS SQL Server
       Actualizarea MS SQL Server la 2019 sau 2022
       MS Management Studio - Descarcă și instalează
       Restaurarea bazei de date pe serverul SQL
       Adăugarea utilizatorilor la nivel de server (AddUser_PAX)
       Instalarea SQL pentru acces extern
       Instalarea clienților PANTHEON
       Configurarea serverului MS SQL pentru mai multe Pantheon™ ochi
       Schimbarea ordinii de sortare SQL
      [Expand]MS SQL Server Securitate
      [Expand]Interogări SQL utile
       SQLExecute
      [Expand]Locuri de muncă SQL Server
     [Expand]Utilitare Microsoft Windows
     [Expand]Politica de Securitate
     [Expand]Administrarea bazei de date
    [Expand]Bazele PANTHEON
    [Expand]PANTHEON Ajutor
    [Expand]Materiale și Mișcări de Bunuri
    [Expand]Atribuirea Identificatorilor
    [Expand]Întrebări frecvente despre Pantheon (F.A.Q.)
    [Expand]Arhivă
   [Expand]Manual de utilizare pentru eBusiness
   [Expand]Setări
   [Expand]Comenzi
   [Expand]Produse
   [Expand]Fabricare
   [Expand]Serviciu
   [Expand]Ajutor
   [Expand]Personal
   [Expand]Financiare
   [Expand]Analitică
  [Expand]Manual de utilizare pentru PANTHEON Retail
  [Expand]Manual de utilizare pentru PANTHEON Vet
  [Expand]Manual de utilizare pentru PANTHEON Farming
[Collapse]PANTHEON Web
 [Collapse]Ghiduri pentru PANTHEON Web
  [Expand]Ghid pentru PANTHEON Web Light
  [Expand]Ghid pentru Terminalul Web PANTHEON
  [Expand]Ghid pentru PANTHEON Web Legal
  [Expand]Arhivă produse vechi
 [Collapse]Manuale de utilizare pentru PANTHEON Web
  [Expand]Începerea PANTHEON Web
  [Expand]Manual de utilizare pentru PANTHEON Web Light
  [Expand]Manual de utilizare pentru terminalul web PANTHEON
  [Expand]Manual de utilizare pentru PANTHEON Web Legal
  [Expand]Arhivă produse vechi
[Collapse]PANTHEON Granule
 [Collapse]Ghiduri pentru granule PANTHEON
  [Expand]Granul Personal
  [Expand]Comenzi de Călătorie Granule
  [Expand]Documente și Sarcini Granul
  [Expand]Tabloul de bord Granule
  [Expand]Comenzi B2B Granule
  [Expand]Granul de Serviciu pe Teren
  [Expand]Granul Inventar Active Fixe
  [Expand]Inventar de Magazin Granule
 [Collapse]Manuale de utilizare pentru granulele PANTHEON
  [Expand]Începerea
  [Expand]Granul Personal
  [Expand]Comenzi de Călătorie Granule
  [Expand]Documente și Sarcini Granul
  [Expand]Comenzi B2B Granule
  [Expand]Tabloul de bord Granule
  [Expand]Serviciul de teren Granule
  [Expand]Granul Inventar Active Fixe
  [Expand]Inventar de Magazin Granule
  [Expand]Arhivă
[Expand]Site utilizator

Load Time: 390,6123 ms
"
  1000730 | 200766 | 473575 | AI translated
Label

(ARHIV)
Configurarea serverului MS SQL pentru medii Pantheon™ mai mari

Configurarea serverului MS SQL pentru medii Pantheon™ mai mari

  Dacă ne gândim la medii mai mari, versiunea gratuită MS SQL Express nu este suficientă, așa că apelăm la versiunile Standard sau Enterprise. În continuare, urmează câteva sfaturi de bază pentru planificarea și pregătirea sistemului în care va rula serverul Pantheon™.  

Discuri RAID

Avem nevoie de cel puțin trei volume RAID1, fiecare format din cel puțin șase discuri:

primul volum este folosit pentru sistem, pagefile, instalarea SQL

al doilea volum este folosit pentru bazele de date de sistem, inclusiv TEMPDB

al treilea volum este folosit pentru bazele de date de producție

Dacă avem la dispoziție 8 discuri, folosim al patrulea volum pentru loguri.

Este de dorit ca volumul RAID de sistem să fie aliniat. Pentru volumele de disc care conțin baze de date SQL, acest lucru este esențial. În cazul utilizării sistemului de operare Windows Server 2008, acest lucru se face automat, iar în cazul Windows Server 2003, trebuie să facem manual cu comanda diskpart. Exemplul de mai jos ilustrează procesul de pregătire a unei partiții aliniate pe unul dintre volumele RAID:

diskpart

list disk

select disk <x>

create partition primary align=1024

assign

exit

Partițiile care conțin baze de date SQL trebuie formatate cu dimensiunea cluster-ului de 64KB.

Dacă sistemul SQL este deja configurat, putem verifica alinierea partițiilor cu comanda:

    wmic partition get BlockSize, StartingOffset, Name, Index

    Offset-ul de început afișat se împarte la dimensiunea blocului. Dacă obținem o valoare impară (de exemplu, 63), partițiile nu sunt pregătite corect, ceea ce înseamnă o performanță SQL cu 20% - 40% mai lentă în diferite sarcini de I/O.

Putem verifica și adecvarea dimensiunii cluster-ului, folosind comanda:

    fsutil fsinfo ntfsinfo c:

    Dacă printre valorile afișate „Bytes Per Cluster” este diferit de 65536, partiția nu este formatată corect, ceea ce afectează negativ performanțele I/O ale serverului SQL.   Capacitățile procesorului și memoria Cererea poate varia foarte mult, dar minimul recomandat este cel puțin sisteme dual core Xeon și 8GB de memorie, precum și un sistem pe 64 de biți.

 

TempDB

Se recomandă să avem un fișier de date pentru fiecare nucleu fizic CPU din sistem. Ca exemplu, putem folosi procesorul Intel Xeon E5620, care are 4 nuclee fizice sau 8 virtuale (hyperthreading). În acest caz, este optim să avem 4 fișiere de date pentru tempdb. Toate fișierele de date trebuie să fie de aceeași dimensiune

fișierelor de date pentru tempdb se recomandă să le alocăm din timp spațiu pe disc, pentru a evita fragmentarea.

Exemplu de pregătire a unui fișier de date suplimentar cu 10GB de spațiu prealocat:

USE [master]

GO

ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdata2', FILENAME = N'e:\sql\templog2.mdf' , SIZE = 10240000KB , FILEGROWTH = 10%)

GO  

 

Analiza vitezei de funcționare a bazei de date Pantheon™ - sistem

În cazul observării încetinirilor de funcționare, primul pas recomandat este efectuarea procesului de actualizare a bazei de date Pantheon™, deoarece astfel se stabilește o stare optimă a bazei de date:

se corectează indexurile și cheile din tabele

se repară integritatea referențială între tabele

se adaugă câmpuri noi, se organizează cele existente și se elimină cele redundante

În timpul actualizării, trebuie să fim atenți să activăm opțiunea „Actualizare a tuturor obiectelor”. Acest lucru verifică întreaga structură Pantheon™ și elimină erorile care ar putea fi cauzate de un factor extern (implementări suplimentare).

Se recomandă monitorizarea contorilor de performanță, la nivelul sistemului de operare Microsoft:

Memory Commited Bytes – dacă memoria alocată este mai mare decât cea disponibilă în sistem, este necesar să extindem memoria, deoarece se produce așa-numitul swapping.

Memory Available Mbytes – dacă aceasta scade sub 5%, este necesar să extindem memoria

PhysicalDisk Idle Time – dacă aceasta scade frecvent sub 15%, înseamnă că volumele de disc sunt suprasolicitate

PhysicalDisk Read Latency & Write Latency – dacă acestea depășesc frecvent 30ms, este necesar să examinăm structura volumelor de disc, cererile SQL, conformitatea partițiilor cu cele mai bune practici etc.  

 

Analiza vitezei de funcționare a bazei de date Pantheon™ – SQL

Verificăm cât timp rămân datele în cache. Valorile „page life expectancy” sunt critice, iar cele recomandate sunt în jur de 1000. Pentru o imagine corectă, cererea de mai jos ar trebui să fie executată la fiecare 5 minute pe o perioadă suficient de lungă pentru a fi reprezentativă. Activarea mai multor sisteme de monitorizare a serverului (în special MS data collection local integrat) poate afecta negativ performanța generală a serverului, deoarece analiza datelor se desfășoară local.

 

 

select b.total - a.db as 'Plan Cache Size', c.ple as 'Page Life Expectancy'

from

( select cntr_value as db

from sys.dm_os_performance_counters

where object_name like '%Buffer Manager%' and counter_name like 'Database pages%' ) a, 

( select distinct cntr_value as total

from sys.dm_os_performance_counters

where object_name like '%Buffer Manager%' and counter_name like 'Total pages%' ) b,

( SELECT cntr_value AS ple

FROM sys.dm_os_performance_counters

WHERE object_name like '%Buffer Manager%'

AND counter_name = 'Page life expectancy' ) c

 

Verificăm cele mai solicitante operațiuni pe CPU și cu interogările de mai jos. Problemele apar de obicei după alocările de utilizator ale procedurilor (programare neglijentă, indexuri, scanări complete ale tabelelor,...). Pe baza rezultatelor, cele mai solicitante operațiuni trebuie analizate și optimizate, dacă este necesar.

 

-- top 10 CPU

SELECT TOP 10

  qs.execution_count,

  total_CPU_secs = qs.total_worker_time/1000000,

  average_CPU_secs = (qs.total_worker_time/1000000) / qs.execution_count,

  total_elapsed_time_secs = qs.total_elapsed_time/1000000,

  query = st.text,

  qp.query_plan

FROM

  sys.dm_exec_query_stats AS qs

  CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st

  CROSS apply sys.dm_exec_query_plan (qs.plan_handle) AS qp

  ORDER BY qs.total_worker_time DESC

 

-- top 10 I/O

SELECT TOP 10

  qs.execution_count, qs.total_logical_reads, 

  qs.total_elapsed_time, qs.max_elapsed_time,

  qs.last_elapsed_time, qs.last_execution_time,

    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,

    ((CASE qs.statement_end_offset

    WHEN -1 THEN DATALENGTH(qt.text)

    ELSE qs.statement_end_offset

    END - qs.statement_start_offset)/2)+1) as query,

  qp.query_plan

FROM sys.dm_exec_query_stats qs

  CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt

  CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp

  WHERE qt.encrypted=0

  ORDER BY qs.total_logical_reads DESC

 

Se recomandă verificarea integrității bazei de date cu:

 

USE Pantheon

GO

DBCC CHECKDB WITH NO_INFOMSGS

 

O configurare greșită sau indexuri lipsă sunt adesea cauza problemelor de performanță. De multe ori, problemele sunt cauzate și de fragmentarea indexurilor sau actualizarea statisticilor tabelelor. Fragmentarea indexurilor se verifică cu:

 

USE Pantheon;

SELECT a.index_id, name, index_type_desc, avg_fragmentation_in_percent

FROM sys.dm_db_index_physical_stats (DB_ID(), OBJECT_ID(N'Production.Product'),

     NULL, NULL, NULL) AS a

    JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id

WHERE name not like 'NULL' AND avg_fragmentation_in_percent > 10

ORDER by avg_fragmentation_in_percent DESC

GO

 

Se recomandă efectuarea săptămânală a reconstruirii indexurilor și actualizarea statisticilor cu:

 

USE Pantheon;

GO

DECLARE @TableName VARCHAR(255)

DECLARE @sql NVARCHAR(500)

DECLARE @fillfactor INT

SET @fillfactor = 80

DECLARE TableCursor CURSOR FOR

SELECT OBJECT_SCHEMA_NAME([object_id])+'.'+name AS TableName

FROM sys.tables

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName

WHILE @@FETCH_STATUS = 0

BEGIN

SET @sql = 'ALTER INDEX ALL ON ' + @TableName + ' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')'

EXEC (@sql)

SET @sql = 'UPDATE STATISTICS ' + @TableName + ' WITH FULLSCAN'

EXEC (@sql)

FETCH NEXT FROM TableCursor INTO @TableName

END

CLOSE TableCursor

DEALLOCATE TableCursor

GO

 

 

 

Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!