Delen via


Analysis Services met AlwaysOn-beschikbaarheidsgroepen

Van toepassing op:SQL Server - alleen Windows

Een AlwaysOn-beschikbaarheidsgroep is een vooraf gedefinieerde verzameling relationele SQL Server-databases die samen failover uitvoeren wanneer omstandigheden een failover in een database activeren, waarbij aanvragen worden omgeleid naar een gespiegelde database op een ander exemplaar in dezelfde beschikbaarheidsgroep. Als u beschikbaarheidsgroepen gebruikt als uw oplossing voor hoge beschikbaarheid, kunt u een database in die groep gebruiken als gegevensbron in een tabellaire of multidimensionale oplossing van Analysis Services. Alle volgende Analysis Services-bewerkingen werken zoals verwacht wanneer u een beschikbaarheidsdatabase gebruikt: gegevens verwerken of importeren, relationele gegevens rechtstreeks opvragen (met behulp van ROLAP-opslag of DirectQuery-modus) en write-back.

Verwerking en query's zijn alleen-lezenworkloads. U kunt de prestaties verbeteren door deze workloads te offloaden naar een leesbare secundaire replica. Voor dit scenario is aanvullende configuratie vereist. Gebruik de controlelijst in dit onderwerp om ervoor te zorgen dat u alle stappen volgt.

Vereiste voorwaarden

U moet een SQL Server-aanmelding hebben op alle replica's. U moet een systeembeheerder zijn om beschikbaarheidsgroepen, listeners en databases te configureren, maar gebruikers hebben alleen db_datareader machtigingen nodig om toegang te krijgen tot de database vanuit een Analysis Services-client.

Gebruik een gegevensprovider die ondersteuning biedt voor het TDS-protocol (tabellaire gegevensstroom) versie 7.4 of hoger, zoals sql Server Native Client 11.0 of de gegevensprovider voor SQL Server in .NET Framework 4.02.

(Voor alleen-lezen workloads). De secundaire replicarol moet worden geconfigureerd voor alleen-lezenverbindingen, de beschikbaarheidsgroep moet een routeringslijst hebben en de verbinding in de Analysis Services-gegevensbron moet de listener voor de beschikbaarheidsgroep opgeven. In dit onderwerp worden instructies gegeven.

Controlelijst: Een secundaire replica gebruiken voor alleen-lezenbewerkingen

Tenzij uw Analysis Services-oplossing terugschrijven bevat, kunt u een gegevensbronverbinding configureren om een leesbare secundaire replica te gebruiken. Als u een snelle netwerkverbinding hebt, heeft de secundaire replica een zeer lage gegevenslatentie, waardoor bijna identieke gegevens worden geboden als de primaire replica. Met behulp van de secundaire replica voor Analysis Services-bewerkingen kunt u conflicten tussen lezen/schrijven op de primaire replica verminderen en beter gebruik krijgen van secundaire replica's in uw beschikbaarheidsgroep.

Standaard zijn zowel lees-schrijven- als leesintentietoegang toegestaan voor de primaire replica en zijn er geen verbindingen toegestaan voor secundaire replica's. Aanvullende configuratie is vereist voor het instellen van een alleen-lezen clientverbinding met een secundaire replica. Voor configuratie moeten eigenschappen worden ingesteld op de secundaire replica en een T-SQL-script wordt uitgevoerd waarmee een lijst met alleen-lezenroutering wordt gedefinieerd. Gebruik de volgende procedures om ervoor te zorgen dat u beide stappen hebt uitgevoerd.

Opmerking

Bij de volgende stappen wordt uitgegaan van een bestaande AlwaysOn-beschikbaarheidsgroep en -databases. Als u een nieuwe groep configureert, gebruikt u de wizard Nieuwe beschikbaarheidsgroep om de groep te maken en lid te worden van de databases. De wizard controleert op vereisten, biedt richtlijnen voor elke stap en voert de eerste synchronisatie uit. Zie De wizard Beschikbaarheidsgroep (SQL Server Management Studio) gebruiken voor meer informatie.

Stap 1: Toegang configureren op een beschikbaarheidsreplica

  1. Maak in Objectverkenner verbinding met het serverexemplaar dat de primaire replica host en vouw de serverboom uit.

    Opmerking

    Deze stappen worden uitgevoerd vanuit Configure Read-Only Access op een Beschikbaarheidsreplica (SQL Server) die aanvullende informatie en alternatieve instructies biedt voor het uitvoeren van deze taak.

  2. Vouw het knooppunt Always On High Availability en het knooppunt Beschikbaarheidsgroepen uit.

  3. Klik op de beschikbaarheidsgroep waarvan u de replica wilt wijzigen. Vouw beschikbaarheidsreplica's uit.

  4. Klik met de rechtermuisknop op de secundaire replica en klik op Eigenschappen.

  5. Wijzig in het dialoogvenster Eigenschappen van beschikbaarheidsreplica de verbindingstoegang voor de secundaire rol als volgt:

    • Selecteer in de secundaire vervolgkeuzelijst Leesbare secundaire vervolgkeuzelijst alleen-lezenintentie.

    • Selecteer in de vervolgkeuzelijst Verbindingen in de vervolgkeuzelijst Primaire rolalle verbindingen toestaan. Dit is de standaardwaarde.

    • Selecteer optioneel in de vervolgkeuzelijst Beschikbaarheidsmodussynchrone doorvoer. Deze stap is niet vereist, maar deze instelling zorgt ervoor dat er gegevenspariteit is tussen de primaire en secundaire replica.

      Deze eigenschap is ook vereist voor geplande failover. Als u een geplande handmatige failover wilt uitvoeren voor testdoeleinden, stelt u de beschikbaarheidsmodus in op Synchrone doorvoer voor zowel de primaire als de secundaire replica.

Stap 2: Alleen-lezenroutering configureren

  1. Maak verbinding met de primaire replica.

    Opmerking

    Deze stappen worden uitgevoerd vanuit Read-Only Routering configureren voor een beschikbaarheidsgroep (SQL Server), die aanvullende informatie en alternatieve instructies biedt voor het uitvoeren van deze taak.

  2. Open een queryvenster en plak het volgende script. Dit script doet drie dingen: maakt leesbare verbindingen met een secundaire replica mogelijk (die standaard is uitgeschakeld), stelt de alleen-lezen routerings-URL in en maakt de routeringslijst die prioriteit geeft aan hoe verbindingsaanvragen worden omgeleid. De eerste instructie, die leesbare verbindingen toestaat, is redundant als u de eigenschappen al in Management Studio instelt, maar voor volledigheid is opgenomen.

    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. Wijzig het script en vervang tijdelijke aanduidingen door waarden die geldig zijn voor uw implementatie:

    • Vervang Computer01 door de naam van het serverexemplaren dat als host fungeert voor de primaire replica.

    • Vervang Computer02 door de naam van het serverexemplaren dat als host fungeert voor de secundaire replica.

    • Vervang 'contoso.com' door de naam van uw domein of laat deze weg uit het script als alle computers zich in hetzelfde domein bevinden. Behoud het poortnummer als de listener de standaardpoort gebruikt. De poort die daadwerkelijk door de listener wordt gebruikt, wordt weergegeven op de eigenschappenpagina in Management Studio.

  4. Voer het script uit.

    Maak vervolgens een gegevensbron in een Analysis Services-model dat gebruikmaakt van een database uit de groep die u zojuist hebt geconfigureerd.

Een Analysis Services-gegevensbron maken met behulp van een AlwaysOn-beschikbaarheidsdatabase

In deze sectie wordt uitgelegd hoe u een Analysis Services-gegevensbron maakt die verbinding maakt met een database in een beschikbaarheidsgroep. U kunt deze instructies gebruiken om een verbinding te configureren met een primaire replica (standaard) of een leesbare secundaire replica die u hebt geconfigureerd op basis van stappen in een vorige sectie. AlwaysOn-configuratie-instellingen, plus de verbindingseigenschappen die in de client zijn ingesteld, bepalen of een primaire of secundaire replica wordt gebruikt.

  1. Klik in SQL Server Data Tools in een multidimensionaal Analysis Services- en Data Mining Model-project met de rechtermuisknop op Gegevensbronnen en selecteer Nieuwe gegevensbron. Klik op Nieuw om een nieuwe gegevensbron te maken.

    U kunt ook voor een tabellair modelproject op het menu Model klikken en vervolgens op Importeren uit gegevensbron klikken.

  2. Kies in Verbindingsbeheer in Provider een provider die het TDS-protocol (Tabular Data Stream) ondersteunt. De SQL Server Native Client 11.0 ondersteunt dit protocol.

  3. Voer in Verbindingsbeheer in Servernaam de naam van de listener voor de beschikbaarheidsgroep in en kies vervolgens een database die beschikbaar is in de groep.

    De listener van de beschikbaarheidsgroep leidt een clientverbinding om naar een primaire replica voor lees-/schrijfaanvragen of naar een secundaire replica als u de leesintentie in de verbindingsreeks opgeeft. Omdat replicarollen veranderen tijdens een failover (waarbij de primaire rol de secundaire wordt en een secundaire rol een primaire wordt), moet u altijd de listener opgeven zodat de clientverbinding dienovereenkomstig wordt omgeleid.

    Als u de naam van de listener van de beschikbaarheidsgroep wilt bepalen, kunt u een databasebeheerder vragen of verbinding maken met een exemplaar in de beschikbaarheidsgroep en de AlwaysOn-beschikbaarheidsconfiguratie bekijken.

  4. Klik nog steeds in Verbindingsbeheer op Alles in het linkernavigatiedeelvenster om het eigenschappenraster van de gegevensprovider weer te geven.

    Stel de intentie van de toepassing in op READONLY als u een alleen-lezen clientverbinding met een secundaire replica configureert. Houd anders de STANDAARD READWRITE-standaardinstelling om de verbinding om te leiden naar de primaire replica.

  5. Selecteer in Imitatiegegevens een specifieke Windows-gebruikersnaam en -wachtwoord gebruiken en voer vervolgens een Windows-domeingebruikersaccount in met minimaal db_datareader machtigingen voor de database.

    Kies niet De referenties van de huidige gebruiker gebruiken of Overnemen. U kunt het serviceaccount gebruiken kiezen, maar alleen als dat account leesmachtigingen voor de database heeft.

    Voltooi de gegevensbron en sluit de wizard Gegevensbron.

  6. Voeg MultiSubnetFailover=Ja toe aan de verbindingsreeks om snellere detectie en verbinding met de actieve server te bieden. Zie SQL Server Native Client Support voor hoge beschikbaarheid, herstel na noodgevallen voor meer informatie over deze eigenschap.

    Deze eigenschap is niet zichtbaar in het eigenschappenraster. Als u de eigenschap wilt toevoegen, klikt u met de rechtermuisknop op de gegevensbron en kiest u Code weergeven. Voeg deze toe MultiSubnetFailover=Yes aan de verbindingsreeks.

De gegevensbron is nu gedefinieerd. U kunt nu doorgaan met het bouwen van een model, te beginnen met de gegevensbronweergave of in het geval van tabellaire modellen, het maken van relaties. Wanneer u zich op een punt bevindt waar gegevens moeten worden opgehaald uit de beschikbaarheidsdatabase (bijvoorbeeld wanneer u klaar bent om de oplossing te verwerken of te implementeren), kunt u de configuratie testen om te controleren of gegevens worden geopend vanaf de secundaire replica.

De configuratie testen

Nadat u de secundaire replica hebt geconfigureerd en een gegevensbronverbinding hebt gemaakt in Analysis Services, kunt u controleren of de verwerking en queryopdrachten worden omgeleid naar de secundaire replica. U kunt ook een geplande handmatige failover uitvoeren om uw herstelplan voor dit scenario te controleren.

Stap 1: controleer of de gegevensbronverbinding wordt omgeleid naar de secundaire replica

  1. Start SQL Server Profiler en maak verbinding met het SQL Server-exemplaar dat als host fungeert voor de secundaire replica.

    Wanneer de tracering wordt uitgevoerd, worden in de gebeurtenissen SQL:BatchStarting en SQL:BatchCompleting de query's weergegeven die zijn uitgegeven vanuit Analysis Services die worden uitgevoerd op het exemplaar van de database-engine. Deze gebeurtenissen worden standaard geselecteerd, dus u hoeft alleen maar de tracering te starten.

  2. Open in SQL Server Data Tools het Analysis Services-project of de oplossing die een gegevensbronverbinding bevat die u wilt testen. Zorg ervoor dat de gegevensbron de listener van de beschikbaarheidsgroep opgeeft en niet een exemplaar in de groep.

    Deze stap is belangrijk. Routering naar de secundaire replica vindt niet plaats als u een serverexemplarennaam opgeeft.

  3. Rangschik de toepassingsvensters zodat u SQL Server Profiler en SQL Server Data Tools naast elkaar kunt weergeven.

  4. Implementeer de oplossing en stop de tracering wanneer deze is voltooid.

    In het traceringsvenster ziet u gebeurtenissen uit de toepassing Microsoft SQL Server Analysis Services. U ziet SELECT-instructies die gegevens ophalen uit een database op het serverexemplaren die als host fungeert voor de secundaire replica, waarmee wordt aangetoond dat de verbinding is gemaakt via de listener naar de secundaire replica.

Stap 2: Een geplande failover uitvoeren om de configuratie te testen

  1. Controleer in Management Studio de primaire en secundaire replica's om ervoor te zorgen dat beide zijn geconfigureerd voor de synchrone doorvoermodus en momenteel worden gesynchroniseerd.

    Bij de volgende stappen wordt ervan uitgegaan dat een secundaire replica is geconfigureerd voor synchrone doorvoer.

    Als u de synchronisatie wilt controleren, opent u een verbinding met elk exemplaar dat als host fungeert voor de primaire en secundaire replica's, vouwt u de map Databases uit en zorgt u ervoor dat de database (gesynchroniseerd) en (synchroon) is toegevoegd aan de naam in elke replica.

    Opmerking

    Deze stappen worden uitgevoerd vanuit Een geplande handmatige failover van een beschikbaarheidsgroep (SQL Server) die aanvullende informatie en alternatieve instructies biedt voor het uitvoeren van deze taak.

  2. Start in SQL Server Profiler traceringen voor elke replica en bekijk de traceringen naast elkaar. In de volgende stappen vergelijkt u traceringen, waarbij wordt bevestigd dat de SQL-query's die worden gebruikt voor verwerking of query's van Analysis Services, van de ene replica naar de andere worden overgeschakeld.

  3. Voer een verwerkings- of queryopdracht uit vanuit Analysis Services. Omdat u de gegevensbron hebt geconfigureerd voor een alleen-lezenverbinding, ziet u dat de opdracht wordt uitgevoerd op de secundaire replica.

  4. Maak in Management Studio verbinding met de secundaire replica.

  5. Vouw het knooppunt Always On High Availability en het knooppunt Beschikbaarheidsgroepen uit.

  6. Klik met de rechtermuisknop op de beschikbaarheidsgroep waarvoor een failover moet worden uitgevoerd en selecteer de opdracht Failover. Hiermee wordt de wizard Failover-overschakeling van beschikbaarheidsgroep gestart. Gebruik de wizard om te kiezen welke replica de nieuwe primaire replica moet maken.

  7. Controleer of de failover is geslaagd:

    • Vouw in Management Studio de beschikbaarheidsgroepen uit om de (primaire) en (secundaire) aanduidingen weer te geven. Het exemplaar dat eerder een primaire replica was, moet nu een secundaire replica zijn.

    • Bekijk het dashboard om te bepalen of er statusproblemen zijn gedetecteerd. Klik met de rechtermuisknop op de beschikbaarheidsgroep en selecteer Dashboard weergeven.

  8. Wacht een of twee minuten totdat de failover is voltooid op de back-end.

  9. Herhaal de verwerkings- of queryopdracht in de Analysis Services-oplossing en bekijk de traceringen naast elkaar in SQL Server Profiler. U ziet nu bewijs van verwerking op het andere exemplaar. Dit is nu de nieuwe secundaire replica.

Wat gebeurt er na een failover?

Tijdens een failover gaat een secundaire replica over naar de primaire rol en de voormalige primaire replica over naar de secundaire rol. Alle clientverbindingen worden beƫindigd, het eigendom van de listener van de beschikbaarheidsgroep wordt verplaatst met de primaire replicarol naar een nieuw SQL Server-exemplaar en het listener-eindpunt is gebonden aan de virtuele IP-adressen en TCP-poorten van het nieuwe exemplaar. Zie Over clientverbindingstoegang tot beschikbaarheidsreplica's (SQL Server) voor meer informatie.

Als er een failover optreedt tijdens de verwerking, treedt de volgende fout op in Analysis Services in het logboekbestand of uitvoervenster: 'OLE DB-fout: OLE DB- of ODBC-fout: Communicatiekoppelingsfout; 08S01; TPC-provider: een bestaande verbinding is geforceerd gesloten door de externe host. ; 08S01."

Deze fout wordt opgelost als u een minuut wacht en het opnieuw probeert. Als de beschikbaarheidsgroep correct is geconfigureerd voor leesbare secundaire replica, wordt de verwerking hervat op de nieuwe secundaire replica wanneer u de verwerking opnieuw probeert uit te voeren.

Aanhoudende fouten zijn waarschijnlijk het gevolg van een configuratieprobleem. U kunt proberen het T-SQL-script opnieuw uit te voeren om problemen met de routeringslijst, alleen-lezen routerings-URL's en leesintentie op de secundaire replica op te lossen. U moet ook controleren of de primaire replica alle verbindingen toestaat.

Terugschrijven bij het gebruik van een AlwaysOn-beschikbaarheidsdatabase

Writeback is een Analysis Services-functie die ondersteuning biedt voor What If-analyse in Excel. Het wordt ook vaak gebruikt voor het budgetteren en voorspellen van taken in aangepaste toepassingen.

Ondersteuning voor write-back vereist een READWRITE-clientverbinding. Als u in Excel probeert terug te schrijven op een alleen-lezenverbinding, treedt de volgende fout op: 'Gegevens kunnen niet worden opgehaald uit de externe gegevensbron'.

Als u een verbinding hebt geconfigureerd om altijd toegang te krijgen tot een leesbare secundaire replica, moet u nu een nieuwe verbinding configureren die gebruikmaakt van een READWRITE-verbinding met de primaire replica.

Hiervoor maakt u een extra gegevensbron in een Analysis Services-model ter ondersteuning van de lees-/schrijfverbinding. Wanneer u de extra gegevensbron maakt, gebruikt u dezelfde listenernaam en database die u hebt opgegeven in de alleen-lezenverbinding, maar in plaats van de intentie van de toepassing te wijzigen, behoudt u de standaardwaarde die READWRITE-verbindingen ondersteunt. U kunt nu nieuwe feiten- of dimensietabellen toevoegen aan de gegevensbronweergave die zijn gebaseerd op de gegevensbron voor lezen/schrijven en vervolgens write-back inschakelen voor de nieuwe tabellen.

Zie ook

Listeners voor Beschikbaarheidsgroepen, Clientconnectiviteit en Toepassingsfailover (SQL Server)
Actieve secundaire replica's: leesbare replica's van secundaire (Always On-beschikbaarheidsgroepen)
AlwaysOn-beleid voor operationele problemen met AlwaysOn-beschikbaarheidsgroepen (SQL Server)
Een gegevensbron maken (multidimensionaal SSAS)
Dimensie terugschrijven inschakelen