2007-05-29, 10:31
  #1
Medlem
rolllers avatar
Har ett affärssystem på jobbet som arbeta mot en sqlserver. På senare tid har arbetet nästa blivit omöjligt pga av att det har börjat gå så långsamt. Finns det något enkelt test för att avgöra om det har hänt något med databasen?
Har princip utislutit andra problem i form av nätverksproblem och server.
Citera
2007-05-29, 12:18
  #2
Medlem
hikarus avatar
En restart av databasen kan ju sitta på sin plats om du nu har tillgång till det.
Citera
2007-05-29, 12:22
  #3
Medlem
C - Js avatar
Kör en profiling av servern och underhåll index...
Citera
2007-05-29, 12:55
  #4
Medlem
rolllers avatar
Citat:
Ursprungligen postat av C - J
Kör en profiling av servern och underhåll index...
Det är det vi har blivit tippsade om, men är det något man kan göra själv eller är det en komplicerad procedur?
Citera
2007-05-29, 13:59
  #5
Medlem
hikarus avatar
Citat:
Ursprungligen postat av rolller
Det är det vi har blivit tippsade om, men är det något man kan göra själv eller är det en komplicerad procedur?

Har ni tillgång till servern eller kör ni allt genom PHPmyadmin eller MysqlAdministrator?

Det ni kan göra om ni inte har tillgång till server är ju att kontakta han /dom som har den att restarta den åt er.
Citera
2007-05-29, 14:07
  #6
Medlem
rolllers avatar
Citat:
Ursprungligen postat av hikaru
Har ni tillgång till servern eller kör ni allt genom PHPmyadmin eller MysqlAdministrator?

Det ni kan göra om ni inte har tillgång till server är ju att kontakta han /dom som har den att restarta den åt er.

Var lite otydlig, det är MS SQL server vi kör, och ja vi har tillgång till att starta om den, och det har vi gjort. Men hur är det med indexering och profilering, går det att göra själv?
Citera
2007-05-29, 14:51
  #7
Medlem
C - Js avatar
Kort svar, ja det kan man göra själv om man har standard eller enterprise versionen av sql server.

Om ni kör sql server standard eller enterprise så följer sql server profiling tools med. Om ni kör sql server express eller workgroup så får ni installera det verktyget från en standard eller enterprise installation eller köra det från en standard eller enterprise server.

Vad profiling innebär är att man spelar in all (relevant) databasaktivitet, vilka frågor som körs, vilka stored procedures som körs osv. Detta är väldigt enkelt. Man kan spara loggen till en tabell i valfri databas eller till loggfil.

När profiling har körts ett bra tag och man har representativ data då är det dags att köra analysverktyget. Låt det stå på under lunchrasten (tar lång tid!) och när det är klart presenterar det vilka index som skall införas, respektive vilka som ska tas bort.

Om ni inte kan göra detta så får ni gå igenom era frågor och tabeller och klura ut vart det behövs index, men det blir såklart svårare. Kolla era frågors execution plan, blir det många tablescans eller liknande flaskhalsar? Där sådant inträffar är det smart att lägg index.

Kontrollera att databasen är korrekt normaliseras.

Bra texter: http://www.sommarskog.se/

Det finns många fler tips, bara att googla =)
Citera
2007-05-29, 16:40
  #8
Medlem
rolllers avatar
Citat:
Ursprungligen postat av C - J
Kort svar, ja det kan man göra själv om man har standard eller enterprise versionen av sql server.

Om ni kör sql server standard eller enterprise så följer sql server profiling tools med. Om ni kör sql server express eller workgroup så får ni installera det verktyget från en standard eller enterprise installation eller köra det från en standard eller enterprise server.

Vad profiling innebär är att man spelar in all (relevant) databasaktivitet, vilka frågor som körs, vilka stored procedures som körs osv. Detta är väldigt enkelt. Man kan spara loggen till en tabell i valfri databas eller till loggfil.

När profiling har körts ett bra tag och man har representativ data då är det dags att köra analysverktyget. Låt det stå på under lunchrasten (tar lång tid!) och när det är klart presenterar det vilka index som skall införas, respektive vilka som ska tas bort.

Om ni inte kan göra detta så får ni gå igenom era frågor och tabeller och klura ut vart det behövs index, men det blir såklart svårare. Kolla era frågors execution plan, blir det många tablescans eller liknande flaskhalsar? Där sådant inträffar är det smart att lägg index.

Kontrollera att databasen är korrekt normaliseras.

Bra texter: http://www.sommarskog.se/

Det finns många fler tips, bara att googla =)

Ok, då har jag lite att pyssla med!
Tack för hjälpen!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in