Availability Groups, tempdb, recovery, SnapManger


Idag utökade jag antal tempdb-filer på en server, samtidigt som jag begränsade storleken på filerna. Nu ska inte dålig kod ta slut på hela diskutrymmet som det gjorde igår.

Sen ändrade jag recovery på tjänsterna så att det görs 3 försök att ta upp tjänsterna innan den ger upp, om det skulle hända något.

Efter det började jag skapa en Availability Group till i testmiljön. Kom på att databaserna ligger i fel mountpoints, så jag använde SnapManagers konfiguration för att migrera databaserna till rätt mountpoints.

Det tog så lång tid så jag blev orolig om det skulle skita sig, men nä, den flyttade valde databaser till rätt mountpoint och dess undermapp.

Vad den gjorde som jag icke gillar är att den tog mapparna Data & Log från de gamla mountpoints 😮 Vad hade hänt om det låg andra databaser där? Skulle den sabba allt?

Sen började jag skapa den Availability Group jag hade tänkt att göra. Det gick så bra sa guiden, men det tog himla lång tid att replikera databaserna till de övriga servrarna. Ska jag ta ur databaser som inte synkats ur denna AG, eller ska jag is i magen?

Men det gick bra till slut. Det som jag hade räknat med max en halv timme tog 1,5 timmar 😮

Man ska inte vara tidsoptimist! Allt som man kan komma på  och inte kan komma på, kan skita sig! Det gäller att ha marginaler.

Har ju testat annan variant att skapa AG, istället för automatiskt seeding, valt backup och restore. Då måste man ha en delad mapp där alla inblandade servrar (SQL Serverns tjänstekonto) har tillgång till.

Efter det, så sätts ens användarid som ägare till databasen. Så för att fixa det hjälper det inte att att ändra ägarskapet i primära replikan, utan man behöver göra failover till varenda replika och byta ägare 😮 Ska inte en sådan operation replikeras till de sekundära replikorna?

Det finns andra alternativ som jag inte testat. Får göra det för att se vilket alternativ är bäst för olika scenarier. Får testa Join only någongång.

En annan grej som jag tycker är en bugg, är att när man lägger till en databas i en befintlig AG, så funkar inte automatiskt seeding alltid, på alla replikorna. Lägger man 2 databaser i en befintlig AG så får ena replikan ena databasen och den andra får kanske den andra databasen! Filerna skapas inte ens på servrarna och guiden visar att allt är OK! 😦

Har försökt följa råden i följande ibland med blandade resultat.

Såg efteråt att seeding mode hade satt till manuell. Något som inte syns och kan väljas när man uppdaterar en befintlig AG via guiden. Man kan ändra på det efteråt dock! Så ska man verkligen behöva skripta detta? Varför syns inte det i guiden? Varför sätts det som manuell som standard?

Read-only routinglist är ännu en grej som felar. När man sätter upp en AG så kan man numera fylla i guiden. Förut har man behövt skripta. Man har kunnat detta ett bra tag med Management Studio 17, vilket är bra. Men, … går man efteråt och kollar inställningar, så är turordningen i fylld på den primära servern, där man skapade AG 😮 Kollar jag på skripten som har generats vid skapandet, så står det exakt vad jag valt, men det har inte gått igenom, utan man är tvungen att göra om det hela 😮

Nu har kommit flera uppdateringar på SSMS, men felen kvarstår. Är det någon som upptäckt och anmält detta fenomen? Får kanske anmäla det till. Kan vara så att ingen annan upptäckt det, eller tror att någon annan har säkert anmält detta, som jag gjort!

Skapade en Basic AG igår. Det är mycket man inte kan göra med den, men det funkar som mirroring. Är ena servern nere så tar den andra över. Få se hur den funkar. Får ligga i testmiljön ett tag innan man går till prod.

 

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut /  Ändra )

Google-foto

Du kommenterar med ditt Google-konto. Logga ut /  Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut /  Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut /  Ändra )

Ansluter till %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.