Analysis Services med AlwaysOn-tillgänglighetsgrupper

Gäller för:SQL Server i Windows

En AlwaysOn-tillgänglighetsgrupp är en fördefinierad samling SQL Server-relationsdatabaser som redundansväxlar tillsammans när villkor utlöser en redundansväxling i en databas och omdirigerar begäranden till en speglad databas på en annan instans i samma tillgänglighetsgrupp. Om du använder tillgänglighetsgrupper som din lösning för hög tillgänglighet kan du använda en databas i den gruppen som en datakälla i en Analysis Services-tabell eller flerdimensionell lösning. Alla följande Analysis Services-åtgärder fungerar som förväntat när du använder en tillgänglighetsdatabas: bearbetning eller import av data, frågor mot relationsdata direkt (med ROLAP-lagring eller DirectQuery-läge) och tillbakaskrivning.

Bearbetning och frågor är skrivskyddade arbetsbelastningar. Du kan förbättra prestanda genom att avlasta dessa arbetsbelastningar till en läsbar sekundär replik. Ytterligare konfiguration krävs för det här scenariot. Använd checklistan i det här avsnittet för att se till att du följer alla steg.

Förutsättningar

Du måste ha en SQL Server-inloggning på alla repliker. Du måste vara en sysadmin för att konfigurera tillgänglighetsgrupper, lyssnare och databaser, men användarna behöver bara db_datareader behörigheter för att få åtkomst till databasen från en Analysis Services-klient.

Använd en dataprovider som stöder TDS-protokollet (tabular data stream) version 7.4 eller senare, till exempel SQL Server Native Client 11.0 eller dataprovidern för SQL Server i .NET Framework 4.02.

(För skrivskyddade arbetsbelastningar). Den sekundära replikrollen måste konfigureras för skrivskyddade anslutningar, tillgänglighetsgruppen måste ha en routningslista och anslutningen i Analysis Services-datakällan måste ange tillgänglighetsgruppens lyssnare. Instruktioner finns i det här avsnittet.

Checklista: Använda en sekundär replik för skrivskyddade åtgärder

Såvida inte Analysis Services-lösningen innehåller tillbakaskrivning kan du konfigurera en datakällanslutning så att den använder en läsbar sekundär replik. Om du har en snabb nätverksanslutning har den sekundära repliken mycket låg datasvarstid, vilket ger nästan identiska data som den primära repliken. Genom att använda den sekundära repliken för Analysis Services-åtgärder kan du minska läs- och skrivkonkurrationen på den primära repliken och få bättre användning av sekundära repliker i tillgänglighetsgruppen.

Som standard tillåts både läs- och skrivbehörighet till den primära repliken och inga anslutningar tillåts till sekundära repliker. Ytterligare konfiguration krävs för att konfigurera en skrivskyddad klientanslutning till en sekundär replik. Konfigurationen kräver att du anger egenskaper för den sekundära repliken och kör ett T-SQL-skript som definierar en skrivskyddad routningslista. Använd följande procedurer för att säkerställa att du har utfört båda stegen.

Anmärkning

Följande steg förutsätter en befintlig AlwaysOn-tillgänglighetsgrupp och databaser. Om du konfigurerar en ny grupp använder du guiden Ny tillgänglighetsgrupp för att skapa gruppen och ansluta till databaserna. Guiden söker efter förutsättningar, ger vägledning för varje steg och utför den inledande synkroniseringen. Mer information finns i Använda guiden Tillgänglighetsgrupp (SQL Server Management Studio).

Steg 1: Konfigurera åtkomst på en tillgänglighetsreplik

  1. I Object Explorer ansluter du till den serverinstans som är värd för den primära repliken och expanderar serverträdet.

    Anmärkning

    De här stegen utförs från Konfigurera Read-Only Access på en tillgänglighetsreplik (SQL Server) som innehåller ytterligare information och alternativa instruktioner för att utföra den här uppgiften.

  2. Expandera noden Always On High Availability och noden Availability Groups.

  3. Klicka på tillgänglighetsgruppen vars replik du vill ändra. Expandera Tillgänglighetsrepliker.

  4. Högerklicka på den sekundära repliken och klicka på Egenskaper.

  5. I dialogrutan Egenskaper för tillgänglighetsreplik ändrar du anslutningsåtkomsten för den sekundära rollen enligt följande:

    • I den skrivbara sekundära listrutan väljer du Skrivskyddad.

    • I listrutan Anslutningar i den primära rollen väljer du Tillåt alla anslutningar. Det här är standardinställningen.

    • Du kan också välja Synkron incheckning i listrutan Tillgänglighetsläge. Det här steget krävs inte, men om du anger det säkerställs att det finns dataparitet mellan den primära och sekundära repliken.

      Den här egenskapen är också ett krav för planerad redundansväxling. Om du vill utföra en planerad manuell redundansväxling i testsyfte anger du Tillgänglighetsläge till Synkron incheckning för både den primära och sekundära repliken.

Steg 2: Konfigurera skrivskyddad routning

  1. Anslut till den primära repliken.

    Anmärkning

    De här stegen tas från Konfigurera Read-Only routning för en tillgänglighetsgrupp (SQL Server) som innehåller ytterligare information och alternativa instruktioner för att utföra den här uppgiften.

  2. Öppna ett frågefönster och klistra in följande skript. Det här skriptet gör tre saker: aktiverar läsbara anslutningar till en sekundär replik (som är inaktiverad som standard), anger den skrivskyddade routnings-URL:en och skapar routningslistan som prioriterar hur anslutningsbegäranden dirigeras. Den första instruktionen, som tillåter läsbara anslutningar, är redundant om du redan har angett egenskaperna i Management Studio, men ingår för fullständighet.

    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER01' WITH   
    (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));  
    
    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER01' WITH   
    (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER01.contoso.com:1433'));  
    
    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER02' WITH   
    (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY));  
    
    ALTER AVAILABILITY GROUP [AG1]  
     MODIFY REPLICA ON  
    N'COMPUTER02' WITH   
    (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER02.contoso.com:1433'));  
    
    ALTER AVAILABILITY GROUP [AG1]   
    MODIFY REPLICA ON  
    N'COMPUTER01' WITH   
    (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER02','COMPUTER01')));  
    
    ALTER AVAILABILITY GROUP [AG1]   
    MODIFY REPLICA ON  
    N'COMPUTER02' WITH   
    (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER01','COMPUTER02')));  
    GO  
    
  3. Ändra skriptet och ersätt platshållarna med värden som är giltiga för distributionen:

    • Ersätt "Computer01" med namnet på den serverinstans som är värd för den primära repliken.

    • Ersätt "Computer02" med namnet på den serverinstans som är värd för den sekundära repliken.

    • Ersätt "contoso.com" med namnet på din domän eller utelämna den från skriptet om alla datorer finns i samma domän. Behåll portnumret om lyssnaren använder standardporten. Porten som faktiskt används av lyssnaren visas på egenskapssidan i Management Studio.

  4. Kör skriptet.

    Skapa sedan en datakälla i en Analysis Services-modell som använder en databas från den grupp som du just konfigurerade.

Skapa en Analysis Services-datakälla med hjälp av en AlwaysOn-tillgänglighetsdatabas

I det här avsnittet beskrivs hur du skapar en Analysis Services-datakälla som ansluter till en databas i en tillgänglighetsgrupp. Du kan använda de här anvisningarna för att konfigurera en anslutning till antingen en primär replik (standard) eller en läsbar sekundär replik som du konfigurerade baserat på steg i ett tidigare avsnitt. AlwaysOn-konfigurationsinställningarna, plus de anslutningsegenskaper som angetts i klienten, avgör om en primär eller sekundär replik används.

  1. Högerklicka på Datakällor i ett Analysis Services Multidimensional- och Data Mining Model-projekt i SQL Server Data Tools och välj Ny datakälla. Klicka på Ny för att skapa en ny datakälla.

    Alternativt kan du för ett tabellmodellprojekt klicka på menyn Modell och sedan på Importera från datakälla.

  2. I Anslutningshanteraren i Provider väljer du en provider som stöder TDS-protokollet (Tabular Data Stream). SQL Server Native Client 11.0 stöder det här protokollet.

  3. I Anslutningshanteraren i Servernamn anger du namnet på tillgänglighetsgruppens lyssnare och väljer sedan en databas som är tillgänglig i gruppen.

    Tillgänglighetsgruppens lyssnare omdirigerar en klientanslutning till en primär replik för skrivskyddade begäranden eller till en sekundär replik om du anger läs avsikt i anslutningssträngen. Eftersom replikrollerna ändras under en redundansväxling (där den primära blir den sekundära och en sekundär blir en primär), bör du alltid ange lyssnaren så att klientanslutningen omdirigeras i enlighet med detta.

    För att fastställa namnet på tillgänglighetsgruppens lyssnare kan du antingen fråga en databasadministratör eller ansluta till en instans i tillgänglighetsgruppen och visa tillgänglighetskonfigurationen AlwaysOn.

  4. Klicka på Alla i det vänstra navigeringsfönstret i Anslutningshanteraren för att visa egenskapsrutnätet för dataprovidern.

    Ange Programinsikt till READONLY om du konfigurerar en skrivskyddad klientanslutning till en sekundär replik. Annars behåller du READWRITE-standardvärdet för att omdirigera anslutningen till den primära repliken.

  5. I Personifieringsinformation väljer du Använd ett specifikt Windows-användarnamn och lösenord och anger sedan ett Windows-domänanvändarkonto som har minst db_datareader behörigheter för databasen.

    Välj inte Använd autentiseringsuppgifterna för den aktuella användaren eller Ärv. Du kan välja Använd tjänstkontot, men bara om kontot har läsbehörighet för databasen.

    Slutför datakällan och stäng guiden Datakälla.

  6. Lägg till MultiSubnetFailover=Ja i anslutningssträngen för snabbare identifiering och anslutning till den aktiva servern. Mer information om den här egenskapen finns i SQL Server Native Client Support for High Availability, Disaster Recovery.

    Den här egenskapen visas inte i egenskapsrutnätet. Om du vill lägga till egenskapen högerklickar du på datakällan och väljer Visa kod. Lägg till MultiSubnetFailover=Yes i anslutningssträngen.

Datakällan har nu definierats. Nu kan du fortsätta att skapa en modell, från och med datakällans vy, eller när det gäller tabellmodeller som skapar relationer. När du befinner dig vid en punkt där data måste hämtas från tillgänglighetsdatabasen (till exempel när du är redo att bearbeta eller distribuera lösningen) kan du testa konfigurationen för att verifiera att data nås från den sekundära repliken.

Testa konfigurationen

När du har konfigurerat den sekundära repliken och skapat en datakällanslutning i Analysis Services kan du bekräfta att bearbetnings- och frågekommandon omdirigeras till den sekundära repliken. Du kan också utföra en planerad manuell redundansväxling för att verifiera återställningsplanen för det här scenariot.

Steg 1: Bekräfta att datakällanslutningen omdirigeras till den sekundära repliken

  1. Starta SQL Server Profiler och anslut till SQL Server-instansen som är värd för den sekundära repliken.

    När spårningen körs visar SQL :BatchStarting - och SQL:BatchCompleting-händelserna de frågor som utfärdas från Analysis Services som körs på databasmotorinstansen. Dessa händelser är markerade som standard, så allt du behöver göra är att starta spårningen.

  2. I SQL Server Data Tools öppnar du Analysis Services-projektet eller lösningen som innehåller en datakällanslutning som du vill testa. Se till att datakällan anger tillgänglighetsgruppens lyssnare och inte en instans i gruppen.

    Det här steget är viktigt. Routning till den sekundära repliken sker inte om du anger ett serverinstansnamn.

  3. Ordna programfönstren så att du kan visa SQL Server Profiler och SQL Server Data Tools sida vid sida.

  4. Distribuera lösningen och stoppa spårningen när den är klar.

    I spårningsfönstret bör du se händelser från programmet Microsoft SQL Server Analysis Services. Du bör se SELECT-instruktioner som hämtar data från en databas på serverinstansen som är värd för den sekundära repliken, vilket bevisar att anslutningen gjordes via lyssnaren till den sekundära repliken.

Steg 2: Utför en planerad redundansväxling för att testa konfigurationen

  1. I Management Studio kontrollerar du de primära och sekundära replikerna för att säkerställa att båda är konfigurerade för synkront incheckningsläge och synkroniseras för närvarande.

    Följande steg förutsätter att en sekundär replik har konfigurerats för synkron incheckning.

    Om du vill verifiera synkroniseringen öppnar du en anslutning till varje instans som är värd för de primära och sekundära replikerna, expanderar mappen Databaser och kontrollerar att databasen har (synkroniserad) och (synkroniserad) tillagd till sitt namn i varje replik.

    Anmärkning

    De här stegen utförs från Utför en planerad manuell redundansväxling av en tillgänglighetsgrupp (SQL Server) som innehåller ytterligare information och alternativa instruktioner för att utföra den här uppgiften.

  2. I SQL Server Profiler startar du spårningar för varje replik och visar spårningarna sida vid sida. I följande steg jämför du spårningar och bekräftar att SQL-frågorna som används för bearbetning eller frågor från Analysis Services växlar från en replik till en annan.

  3. Kör ett bearbetnings- eller frågekommando inifrån Analysis Services. Eftersom du har konfigurerat datakällan för en skrivskyddad anslutning bör kommandot köras på den sekundära repliken.

  4. I Management Studio ansluter du till den sekundära repliken.

  5. Expandera noden Always On High Availability och noden Availability Groups.

  6. Högerklicka på tillgänglighetsgruppen som ska överväxlas och välj kommandot Växla över. Då startas guiden Redundansväxla tillgänglighetsgrupp. Använd guiden för att välja vilken replik som ska göra den nya primära repliken.

  7. Bekräfta att redundansen lyckades:

    • I Management Studio expanderar du tillgänglighetsgrupperna för att visa (primära) och (sekundära) beteckningar. Den instans som tidigare var en primär replik bör nu vara en sekundär replik.

    • Visa instrumentpanelen för att avgöra om några hälsoproblem har identifierats. Högerklicka på tillgänglighetsgruppen och välj Visa instrumentpanel.

  8. Vänta en eller två minuter tills redundansväxlingen har slutförts på serverdelen.

  9. Upprepa bearbetnings- eller frågekommandot i Analysis Services-lösningen och titta sedan på spårningarna sida vid sida i SQL Server Profiler. Du bör se bevis på bearbetning på den andra instansen, som nu är den nya sekundära repliken.

Vad händer när en redundansväxling inträffar?

Under en redundansväxling övergår en sekundär replik till den primära rollen och den tidigare primära repliken övergår till den sekundära rollen. Alla klientanslutningar avslutas, ägarskapet för tillgänglighetsgruppens lyssnare flyttas med den primära replikrollen till en ny SQL Server-instans och lyssnarslutpunkten är bunden till den nya instansens virtuella IP-adresser och TCP-portar. Mer information finns i Om klientanslutningsåtkomst till tillgänglighetsrepliker (SQL Server).

Om redundans uppstår under bearbetningen uppstår följande fel i Analysis Services i loggfilen eller utdatafönstret: "OLE DB-fel: OLE DB- eller ODBC-fel: Kommunikationslänkfel; 08S01; TPC-provider: En befintlig anslutning stängdes med två skäl av fjärrvärden. ; 08S01."

Det här felet bör lösas om du väntar en minut och försöker igen. Om tillgänglighetsgruppen är korrekt konfigurerad för läsbar sekundär replik återupptas bearbetningen på den nya sekundära repliken när du försöker bearbeta igen.

Beständiga fel beror troligen på ett konfigurationsproblem. Du kan prova att köra T-SQL-skriptet igen för att lösa problem med routningslistan, skrivskyddade routnings-URL:er och skrivskyddad avsikt på den sekundära repliken. Du bör också kontrollera att den primära repliken tillåter alla anslutningar.

Tillbakaskrivning när du använder en AlwaysOn-tillgänglighetsdatabas

Tillbakaskrivning är en Analysis Services-funktion som stöder Konsekvensanalys i Excel. Det används också ofta för budgetering och prognostisering i anpassade program.

Stöd för tillbakaskrivning kräver en READWRITE-klientanslutning. Om du försöker skriva tillbaka en skrivskyddad anslutning i Excel uppstår följande fel: "Det gick inte att hämta data från den externa datakällan."

Om du har konfigurerat en anslutning för att alltid komma åt en läsbar sekundär replik måste du nu konfigurera en ny anslutning som använder en READWRITE-anslutning till den primära repliken.

Det gör du genom att skapa ytterligare en datakälla i en Analysis Services-modell för att stödja läs- och skrivanslutningen. När du skapar den ytterligare datakällan använder du samma lyssnarnamn och databas som du angav i den skrivskyddade anslutningen, men i stället för att ändra program avsikt behåller du standardvärdet som stöder READWRITE-anslutningar. Nu kan du lägga till nya fakta- eller dimensionstabeller i datakällans vy som baseras på datakällan skrivskyddad och sedan aktivera tillbakaskrivning på de nya tabellerna.

Se även

Lyssnare för tillgänglighetsgrupper, klientanslutning och applikationsomkoppling (SQL Server)
Aktiva sekundärfiler: Läsbara sekundära repliker (AlwaysOn-tillgänglighetsgrupper)
Always On-principer för driftsproblem med AlwaysOn-tillgänglighetsgrupper (SQL Server)
Skapa en datakälla (SSAS Flerdimensionell)
Aktivera tillbakaskrivning av dimension