Het gebruik van een SQL Server AlwaysOn-beschikbaarheidsgroep met Configuration Manager voorbereiden

Van toepassing op: Configuration Manager (current branch)

Gebruik dit artikel om Configuration Manager voor te bereiden op het gebruik van een SQL Server AlwaysOn-beschikbaarheidsgroep voor de sitedatabase. Deze functie biedt een oplossing voor hoge beschikbaarheid en herstel na noodgevallen.

Configuration Manager ondersteunt het gebruik van beschikbaarheidsgroepen:

  • Op primaire sites en de centrale beheersite.
  • On-premises of in Microsoft Azure.

Wanneer u beschikbaarheidsgroepen in Microsoft Azure gebruikt, kunt u de beschikbaarheid van uw sitedatabase verder verhogen met behulp van Azure-beschikbaarheidssets. Zie De beschikbaarheid van virtuele machines beheren voor meer informatie over Azure-beschikbaarheidssets.

Belangrijk

Voordat u verdergaat, moet u vertrouwd zijn met het configureren van SQL Server- en beschikbaarheidsgroepen. Dit artikel verwijst naar de SQL Server documentatiebibliotheek met meer informatie en procedures.

Ondersteunde scenario's

De volgende scenario's worden ondersteund voor het gebruik van beschikbaarheidsgroepen met Configuration Manager. Zie Beschikbaarheidsgroepen configureren voor Configuration Manager voor meer informatie en procedures voor elk scenario.

Voorwaarden

De volgende vereisten zijn van toepassing op alle scenario's. Als aanvullende vereisten van toepassing zijn op een specifiek scenario, worden deze beschreven in dat scenario.

accounts en machtigingen Configuration Manager

Installatieaccount

Het account dat u gebruikt om Configuration Manager setup uit te voeren, moet zijn:

  • Een lid van de lokale groep Administrators op elke computer die lid is van de beschikbaarheidsgroep.
  • Een sysadmin op elk exemplaar van SQL Server dat als host fungeert voor de sitedatabase.

Siteserver voor replicalidtoegang

Het computeraccount van de siteserver moet lid zijn van de lokale groep Administrators op elke computer die lid is van de beschikbaarheidsgroep.

SQL Server

Versie

Elke replica in de beschikbaarheidsgroep moet een versie van SQL Server uitvoeren die wordt ondersteund door uw versie van Configuration Manager. Wanneer dit wordt ondersteund door SQL Server, kunnen verschillende knooppunten van een beschikbaarheidsgroep verschillende versies van SQL Server uitvoeren. Zie Ondersteunde SQL Server versies voor Configuration Manager voor meer informatie.

Editie

Gebruik een Enterprise-editie van SQL Server.

Account

Elk exemplaar van SQL Server kan worden uitgevoerd onder een domeingebruikersaccount (serviceaccount) of een niet-domeinaccount. Elke replica in een groep kan een andere configuratie hebben.

Database

De database configureren op een nieuwe replica

Maak deze configuraties alleen op een primaire replica. Als u een secundaire replica wilt configureren, moet u eerst een failover uitvoeren van de primaire naar de secundaire. Met deze actie wordt de secundaire de nieuwe primaire replica.

Configureer de database van elke replica met de volgende instellingen:

  • CLR-integratie inschakelen:

    sp_configure 'show advanced options', 1;  
    GO  
    RECONFIGURE;  
    GO  
    sp_configure 'clr enabled', 1;  
    GO  
    RECONFIGURE;  
    GO
    

    Zie CLR-integratie voor meer informatie.

  • Stel Maximale grootte van tekstpl in op 2147483647:

    EXECUTE sp_configure 'max text repl size (B)', 2147483647
    
  • Stel de eigenaar van de database in op het SA-account. U hoeft dit account niet in te schakelen.

  • Schakel de instelling BETROUWBAAR in:

    ALTER DATABASE [CM_xxx] SET TRUSTWORTHY ON;
    

    Zie de databaseeigenschap TRUSTWORTHY voor meer informatie.

  • Schakel servicebroker in:

    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER
    

    Opmerking

    U kunt de optie Service Broker niet inschakelen voor een database die al deel uitmaakt van een beschikbaarheidsgroep. U moet deze optie inschakelen voordat u deze toevoegt aan de beschikbaarheidsgroep.

  • Configureer de Prioriteit van Service Broker:

    ALTER DATABASE [CM_xxx] SET HONOR_BROKER_PRIORITY ON;
    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
    

Databaseverificatiescript

Voer het volgende SQL-script uit om databaseconfiguraties voor zowel primaire als secundaire replica's te controleren. Voordat u een probleem op een secundaire replica kunt oplossen, wijzigt u die secundaire replica in de primaire replica.

    SET NOCOUNT ON

    DECLARE @dbname NVARCHAR(128)

    SELECT @dbname = sd.name FROM sys.sysdatabases sd WHERE sd.dbid = DB_ID()

    IF (@dbname = N'master' OR @dbname = N'model' OR @dbname = N'msdb' OR @dbname = N'tempdb' OR @dbname = N'distribution' ) BEGIN
    RAISERROR(N'ERROR: Script is targeting a system database.  It should be targeting the DB you created instead.', 0, 1)
    GOTO Branch_Exit;
    END ELSE
    PRINT N'INFO: Targeted database is ' + @dbname + N'.'

    PRINT N'INFO: Running verifications....'

    IF NOT EXISTS (SELECT * FROM sys.configurations c WHERE c.name = 'clr enabled' AND c.value_in_use = 1)
    PRINT N'ERROR: CLR is not enabled!'
    ELSE
    PRINT N'PASS: CLR is enabled.'

    DECLARE @repltable TABLE (
    name nvarchar(max),
    minimum int,
    maximum int,
    config_value int,
    run_value int )

    INSERT INTO @repltable
    EXEC sp_configure 'max text repl size (B)'

    IF NOT EXISTS(SELECT * from @repltable where config_value = 2147483647 and run_value = 2147483647 )
    PRINT N'ERROR: Max text repl size is not correct!'
    ELSE
    PRINT N'PASS: Max text repl size is correct.'

    IF NOT EXISTS (SELECT db.owner_sid FROM sys.databases db WHERE db.database_id = DB_ID() AND db.owner_sid = 0x01)
    PRINT N'ERROR: Database owner is not sa account!'
    ELSE
    PRINT N'PASS: Database owner is sa account.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_trustworthy_on = 1 )
    PRINT N'ERROR: Trustworthy bit is not on!'
    ELSE
    PRINT N'PASS: Trustworthy bit is on.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_broker_enabled = 1 )
    PRINT N'ERROR: Service broker is not enabled!'
    ELSE
    PRINT N'PASS: Service broker is enabled.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_honor_broker_priority_on = 1 )
    PRINT N'ERROR: Service broker priority is not set!'
    ELSE
    PRINT N'PASS: Service broker priority is set.'

    PRINT N'Done!'

    Branch_Exit:

Configuraties van beschikbaarheidsgroepen

Replicaleden

  • De beschikbaarheidsgroep moet één primaire replica hebben.

  • Gebruik hetzelfde aantal en het type replica's in een beschikbaarheidsgroep dat uw versie van SQL Server ondersteunt.

  • U kunt een asynchrone doorvoerreplica gebruiken om uw synchrone replica te herstellen. Zie Herstelopties voor sitedatabases voor meer informatie.

    Waarschuwing

    Configuration Manager biedt geen ondersteuning voor failover voor het gebruik van de asynchrone doorvoerreplica als uw sitedatabase. Zie Failover- en failovermodi (AlwaysOn-beschikbaarheidsgroepen) voor meer informatie.

Configuration Manager valideert de status van de asynchrone doorvoerreplica niet om te bevestigen dat deze actueel is. Het gebruik van een asynchrone doorvoerreplica als de sitedatabase kan de integriteit van uw site en gegevens in gevaar brengen. Deze replica kan per ontwerp niet gesynchroniseerd zijn. Zie Overzicht van SQL Server AlwaysOn-beschikbaarheidsgroepen voor meer informatie.

Elk replicalid moet de volgende configuratie hebben:

  • Gebruik het standaardexemplaren of een benoemd exemplaar.

    Opmerking

    U hebt geen bestandsshare op de server met dezelfde naam als de naam van het SQL Server exemplaar.

  • De instelling Verbindingen in primaire rol is Alle verbindingen toestaan.

  • De instelling Leesbaar secundair is Ja.

  • Ingeschakeld voor handmatige failover

    Opmerking

    Configuration Manager ondersteunt het gebruik van synchrone replica's van de beschikbaarheidsgroep wanneer deze is ingesteld op Automatische failover. Handmatige failover instellen wanneer:

    • U voert Configuration Manager setup uit om het gebruik van de sitedatabase in de beschikbaarheidsgroep op te geven.
    • U installeert een update voor Configuration Manager. (Niet alleen updates die van toepassing zijn op de sitedatabase).
  • Alle leden hebben dezelfde seeding-modus nodig.Configuration Manager installatie omvat een controle op vereisten om deze configuratie te controleren bij het maken van een database via installatie of herstel.

    Opmerking

    Wanneer de database wordt gemaakt en u automatische seeding configureert, moet de beschikbaarheidsgroep machtigingen hebben om de database te maken. Deze vereiste is van toepassing op zowel een nieuwe database als herstel. Zie Automatische seeding voor secundaire replica voor meer informatie.

Locatie van replicalid

Host alle replica's in een on-premises beschikbaarheidsgroep of host ze allemaal in Microsoft Azure. Een groep met een on-premises lid en een lid in Azure wordt niet ondersteund.

Opmerking

Als u een virtuele Azure-machine gebruikt voor de SQL Server, schakelt u zwevend IP-adres in. Zie Een load balancer configureren voor een SQL Server AlwaysOn-beschikbaarheidsgroep in virtuele Azure-machines voor meer informatie.

Configuration Manager installatie moet verbinding maken met elke replica. Wanneer u een beschikbaarheidsgroep in Azure instelt en de groep zich achter een interne of externe load balancer bevindt, opent u de volgende standaardpoorten:

  • RPC-eindpunttoewijzing: TCP 135

  • SQL Server Service Broker: TCP 4022

  • SQL via TCP: TCP 1433

Nadat de installatie is voltooid, moeten deze poorten geopend blijven voor Configuration Manager en replicatiekoppelingsanalyse.

U kunt aangepaste poorten gebruiken voor deze configuraties. Gebruik dezelfde aangepaste poorten voor het eindpunt en op alle replica's in de beschikbaarheidsgroep.

Als SQL Server gegevens wilt repliceren tussen sites, maakt u een taakverdelingsregel voor elke poort in de Azure-load balancer. Zie Poorten met hoge beschikbaarheid configureren voor een interne load balancer voor meer informatie.

Luisteraar

De beschikbaarheidsgroep moet ten minste één listener voor beschikbaarheidsgroepen hebben. Wanneer u Configuration Manager configureert voor het gebruik van de sitedatabase in de beschikbaarheidsgroep, wordt de virtuele naam van deze listener gebruikt. Hoewel een beschikbaarheidsgroep meerdere listeners kan bevatten, kan Configuration Manager er slechts één gebruiken. Zie Een listener voor SQL Server beschikbaarheidsgroep maken of configureren voor meer informatie.

Bestandspaden

Wanneer u Configuration Manager setup uitvoert om een site te configureren voor het gebruik van de database in een beschikbaarheidsgroep, moet elke secundaire replicaserver een SQL Server bestandspad hebben dat identiek is aan het bestandspad voor de sitedatabasebestanden op de huidige primaire replica. Als er geen identiek pad bestaat, kan het exemplaar voor de beschikbaarheidsgroep niet worden toegevoegd als de nieuwe locatie van de sitedatabase.

Het lokale SQL Server-serviceaccount moet de machtiging Volledig beheer hebben voor deze map.

De secundaire replicaservers vereisen dit bestandspad alleen terwijl u Configuration Manager setup gebruikt om het database-exemplaar in de beschikbaarheidsgroep op te geven. Nadat de configuratie van de sitedatabase in de beschikbaarheidsgroep is voltooid, kunt u het ongebruikte pad verwijderen uit secundaire replica-severs.

Kijk eens naar het volgende scenario:

  • U maakt een beschikbaarheidsgroep die gebruikmaakt van drie SQL-servers.

  • De primaire replicaserver is een nieuwe installatie van SQL Server 2014. Standaard worden de MDF- en LDF-bestanden van de database opgeslagen in C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA.

  • U hebt beide secundaire replicaservers vanuit eerdere versies bijgewerkt naar SQL Server 2014. Met de upgrade behouden deze servers het oorspronkelijke bestandspad voor het opslaan van databasebestanden: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA.

  • Voordat u de sitedatabase naar deze beschikbaarheidsgroep verplaatst, maakt u op elke secundaire replicaserver het volgende bestandspad: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA. Dit pad is een duplicaat van het pad dat wordt gebruikt op de primaire replica, zelfs als de secundaire replica's deze bestandslocatie niet gebruiken.

  • Vervolgens verleent u het SQL Server serviceaccount op elke secundaire replica volledige controle toegang tot de zojuist gemaakte bestandslocatie op die server.

  • U kunt nu Configuration Manager setup uitvoeren om de site te configureren voor gebruik van de sitedatabase in de beschikbaarheidsgroep.

Failover met meerdere subnetten

U kunt het connection string trefwoord MultiSubnetFailover inschakelen in SQL Server. U moet ook handmatig de volgende waarden toevoegen aan het Windows-register op de siteserver:

HKLM:\SOFTWARE\Microsoft\SMS\Identification
HKLM:\SOFTWARE\Microsoft\SMS\SQL Server

MSF Enabled : 1 (DWORD)

Waarschuwing

Het gebruik van hoge beschikbaarheid van siteservers en SQL Server AlwaysOn-beschikbaarheidsgroepen met failover met meerdere subnetten biedt niet de volledige mogelijkheden van automatische failover voor scenario's voor herstel na noodgevallen.

Als u een beschikbaarheidsgroep wilt maken met een lid op een externe locatie, geeft u prioriteit op basis van de laagste netwerklatentie. Hoge netwerklatentie kan replicatiefouten veroorzaken.

Beperkingen en bekende problemen

De volgende beperkingen zijn van toepassing op alle scenario's.

Niet-ondersteunde opties en configuraties voor SQL Server

  • Basis beschikbaarheidsgroepen: basis beschikbaarheidsgroepen die zijn geïntroduceerd met SQL Server 2016 Standard-editie, bieden geen ondersteuning voor leestoegang tot secundaire replica's. Voor configuratie is deze toegang vereist. Zie Basic SQL Server beschikbaarheidsgroepen voor meer informatie.

  • Failoverclusterexemplaren: failoverclusterexemplaren worden niet ondersteund voor een replica die u gebruikt met Configuration Manager. Zie SQL Server AlwaysOn-failoverclusterexemplaren voor meer informatie.

SQL-servers die aanvullende beschikbaarheidsgroepen hosten

Wanneer de SQL Server een of meer beschikbaarheidsgroepen host naast de groep die u voor Configuration Manager gebruikt, zijn er specifieke instellingen nodig op het moment dat u Configuration Manager setup uitvoert. Deze instellingen zijn ook nodig om een update voor Configuration Manager te installeren. Elke replica in elke beschikbaarheidsgroep moet de volgende configuraties hebben:

  • Handmatige failover

  • Elke alleen-lezenverbinding toestaan

Opmerking

Configuration Manager ondersteunt het gebruik van synchrone replica's van de beschikbaarheidsgroep wanneer deze is ingesteld op Automatische failover. Handmatige failover instellen wanneer:

  • U voert Configuration Manager setup uit om het gebruik van de sitedatabase in de beschikbaarheidsgroep op te geven.
  • U installeert een update voor Configuration Manager. (Niet alleen updates die van toepassing zijn op de sitedatabase).

Niet-ondersteund databasegebruik

Configuration Manager ondersteunt alleen de sitedatabase in een beschikbaarheidsgroep

De volgende databases worden niet ondersteund door Configuration Manager in een beschikbaarheidsgroep:

  • Rapportagedatabase

  • WSUS-database

Bestaande database

U kunt geen nieuwe database gebruiken die op de replica is gemaakt. Wanneer u een beschikbaarheidsgroep configureert, herstelt u een kopie van een bestaande Configuration Manager-database naar de primaire replica.

Installatiefouten in ConfigMgrSetup.log

Wanneer u Configuration Manager-installatie uitvoert om een sitedatabase naar een beschikbaarheidsgroep te verplaatsen, wordt geprobeerd databaserollen te verwerken op de secundaire replica's van de beschikbaarheidsgroep. In het bestand ConfigMgrSetup.log wordt de volgende fout weergegeven:

ERROR: SQL Server error: [25000][3906][Microsoft][SQL Server Native Client 11.0][SQL Server]Failed to update database "CM_AAA" because the database is read-only. Configuration Manager Setup 1/21/2016 4:54:59 PM 7344 (0x1CB0)

Deze fouten kunnen veilig worden genegeerd.

Site-uitbreiding

Als u de sitedatabase voor een zelfstandige primaire site configureert voor het gebruik van een beschikbaarheidsgroep, kunt u de site niet uitbreiden met een centrale beheersite. Als u dit proces probeert, mislukt dit. Als u de site wilt uitbreiden, verwijdert u de primaire sitedatabase tijdelijk uit de beschikbaarheidsgroep.

U hoeft geen wijzigingen aan te brengen in de configuratie wanneer u een secundaire site toevoegt.

Wijzigingen voor siteback-up

Back-up maken van databasebestanden

Wanneer een sitedatabase gebruikmaakt van een beschikbaarheidsgroep, voert u de ingebouwde onderhoudstaak back-upsiteserver uit om een back-up te maken van algemene Configuration Manager instellingen en bestanden. Gebruik niet de MDF- of LDF-bestanden die door die back-up zijn gemaakt. Maak in plaats daarvan directe back-ups van deze databasebestanden met behulp van SQL Server.

U kunt de SQL Server back-up nog steeds gebruiken, maar u kunt deze niet rechtstreeks terugzetten naar een SQL Server AlwaysOn-cluster. U moet deze herstellen op een zelfstandige server en terugzetten naar SQL Server AlwaysOn.

Transactielogboek

Stel het herstelmodel van de sitedatabase in op Volledig. Deze configuratie is een vereiste voor Configuration Manager gebruik in een beschikbaarheidsgroep. Plan de grootte van het transactielogboek van de sitedatabase te bewaken en te onderhouden. In het volledige herstelmodel worden de transacties pas beveiligd als er een volledige back-up van de database of het transactielogboek wordt gemaakt. Zie Back-ups maken en herstellen van SQL Server databases voor meer informatie.

Wijzigingen voor siteherstel

Als ten minste één knooppunt van de beschikbaarheidsgroep nog functioneel is, gebruikt u de optie siteherstel om databaseherstel over te slaan (gebruik deze optie als de sitedatabase niet is beïnvloed).

Site Recovery kan de database opnieuw maken in een beschikbaarheidsgroep. Dit proces werkt met handmatige en automatische seeding.

Tip

Wanneer u de installatie-/herstelwizard uitvoert, is de pagina Nieuwe beschikbaarheidsgroepdatabase alleen van toepassing op handmatige seeding-configuraties. Bij automatische seeding is er geen gedeelde databaseback-up, dus die pagina van de wizard wordt niet weergegeven.

Zie Back-up en herstel voor meer informatie.

Wijzigingen voor rapportage

Het rapportageservicepunt installeren

Het Reporting Services-punt biedt geen ondersteuning voor het gebruik van de virtuele naam van de listener van de beschikbaarheidsgroep. Het biedt ook geen ondersteuning voor het hosten van de database in een beschikbaarheidsgroep.

  • Standaard stelt de installatie van het Reporting Services-punt de naam van de sitedatabaseserver in op de virtuele naam die is opgegeven als de listener. Wijzig deze instelling om een computernaam en een exemplaar van een replica op te geven in de beschikbaarheidsgroep.

  • Als u de rapportage wilt offloaden en de beschikbaarheid wilt verhogen wanneer een replicaknooppunt offline is, kunt u overwegen om extra Reporting Services-punten op elk replicaknooppunt te installeren. Configureer vervolgens elk Reporting Services-punt om een eigen computernaam te gebruiken. Wanneer u een rapportageservicepunt installeert op elke replica van de beschikbaarheidsgroep, kan rapportage altijd verbinding maken met een actieve rapportagepuntserver.

Schakelen tussen het Reporting Services-punt dat door de console wordt gebruikt

  1. Ga in de Configuration Manager-console naar de werkruimte Bewaking, vouw Rapportage uit en selecteer het knooppunt Rapporten.

  2. Selecteer rapportopties op het lint.

  3. Selecteer in het dialoogvenster Rapportopties het Reporting Services-punt dat u wilt gebruiken.

Volgende stappen

In dit artikel worden de vereisten, beperkingen en wijzigingen in algemene taken beschreven die Configuration Manager vereist wanneer u beschikbaarheidsgroepen gebruikt. Zie Beschikbaarheidsgroepen configureren voor procedures voor het instellen en configureren van uw site voor het gebruik van beschikbaarheidsgroepen.