Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Managed Instance
In dit artikel worden bekende beperkingen, problemen en fouten met het vastleggen van wijzigingengegevens (CDC) voor SQL Server- en Azure SQL Managed Instance-uitgelegd.
Zie Bekende problemen met CDC in Azure SQL Databasevoor Azure SQL Database.
Metagegevens wijzigen
Voor een goede werking van CDC moet u geen CDC-metagegevens zoals CDC schema, tabellen wijzigen, opgeslagen procedures van cdc user het CDC-systeem, standaardmachtigingen (sys.database_principals) wijzigen of de naam van de cdc userwijzigen.
Objecten in sys.objects met is_ms_shipped eigenschap ingesteld op 1 mogen niet worden gewijzigd.
SELECT name AS object_name
,SCHEMA_NAME(schema_id) AS schema_name
,type_desc
,is_ms_shipped
FROM sys.objects
WHERE is_ms_shipped= 1 AND SCHEMA_NAME(schema_id) = 'cdc'
Collatieverschillen
Het is belangrijk dat u rekening moet houden met een situatie waarin u verschillende sorteringen hebt tussen de database en de kolommen van een tabel die is geconfigureerd voor het vastleggen van wijzigingsgegevens. CDC maakt gebruik van tussentijdse opslag om zijtabellen te vullen. Als een tabel char- of varchar-kolommen heeft met sorteringen die verschillen van de sortering van de database, en als deze kolommen niet-ASCII-tekens opslaan (zoals dubbele byte DBCS-tekens), dan kan CDC mogelijk de veranderde gegevens niet consistent bewaren met de gegevens in de basistabellen. Dit komt doordat aan de tussentijdse opslagvariabelen geen sorteringen kunnen worden gekoppeld.
Overweeg een van de volgende methoden om ervoor te zorgen dat vastgelegde wijzigingsgegevens consistent zijn met basistabellen:
Gebruik nchar of nvarchar gegevenstype voor kolommen die niet-ASCII-gegevens bevatten.
Of gebruik dezelfde sortering voor kolommen en voor de database.
Als u bijvoorbeeld een database hebt die gebruikmaakt van een sortering van SQL_Latin1_General_CP1_CI_AS, kunt u de volgende tabel overwegen:
CREATE TABLE T1(
C1 INT PRIMARY KEY,
C2 VARCHAR(10) collate Chinese_PRC_CI_AI)
CDC kan de binaire gegevens voor kolom C2 niet vastleggen, omdat de sortering anders is (Chinese_PRC_CI_AI). Gebruik nvarchar- om dit probleem te voorkomen:
CREATE TABLE T1(
C1 INT PRIMARY KEY,
C2 NVARCHAR(10) collate Chinese_PRC_CI_AI --Unicode data type, CDC works well with this data type
)
Versneld databaseherstel (ADR) en vastleggen van datawijzigingen (CDC)
Het inschakelen van zowel change data capture (CDC) als versneld databaseherstel (ADR) voor dezelfde database wordt niet ondersteund in SQL Server 2019 (15.x). Het inschakelen van zowel CDC als ADR wordt ondersteund in latere SQL Server-versies vanaf SQL Server 2022 (16.x) Cumulatieve update 18.
Wanneer u CDC inschakelt, wordt de agressieve logboekafkappingsfunctie van ADR uitgeschakeld. Dit komt doordat de CDC-scan toegang heeft tot het transactielogboek van de database. Actieve transacties blijven de afkapping van het transactielogboek tegenhouden totdat de transactie wordt voltooid en de CDC-scan is bijgewerkt, of de transactie wordt afgebroken. Als u CDC inschakelt voor een database waarvoor ADR is ingeschakeld, ziet u mogelijk een hoger gebruik van transactielogboeken. Zorg ervoor dat er voldoende ruimte voor transactielogboeken beschikbaar is voor de behoeften van al uw workloads.
CDC inschakelen mislukt als het schema of de gebruiker met de naam cdc al bestaat
Wanneer u CDC inschakelt voor een database, wordt er een nieuw schema en een nieuwe gebruiker met de naam cdcgemaakt. Het handmatig maken van een aangepast schema of een aangepaste gebruiker met de naam cdc wordt daarom niet aanbevolen, omdat het is gereserveerd voor systeemgebruik.
Als u handmatig een aangepast schema of een aangepaste gebruiker met de naam cdc hebt gedefinieerd in uw database die niet is gerelateerd aan CDC, kan de door het systeem opgeslagen procedure sys.sp_cdc_enable_db CDC niet inschakelen in de database met het volgende foutbericht.
The database <database_name> cannot be enabled for change data capture because a database user named 'cdc' or a schema named 'cdc' already exists in the current database. These objects are required exclusively by CDC. Drop or rename the user or schema and retry the operation.
Ga als volgt te werk om dit probleem op te lossen:
- Verwijder handmatig het lege
cdcschema encdcgebruiker. Daarna kan CDC met succes op de database worden ingeschakeld.
CDC mislukt na ALTER COLUMN
Wanneer het gegevenstype van een kolom in een tabel met CDC wordt gewijzigd in een niet-ondersteunde conversie, kan de CDC-scan leiden tot fouten na de update.
Hier volgen voorbeelden van wijzigingen in ALTER COLUMN gegevenstypen die niet worden ondersteund wanneer CDC is ingeschakeld in een tabel:
- bigint naar int
- char(x), nvarchar(x), of nvarchar(x) naar uniqueidentifier, DATE of INT
Als u het gegevenstype van een kolom in een tabel met CDC wijzigt, kan dit leiden tot de volgende fouten:
- Fout 241 - Conversie is mislukt bij het converteren van datum en/of tijd uit tekenreeks.
- Fout 245 - Conversie is mislukt bij het converteren van de waarde.
- Fout 8169 - Conversie is mislukt bij het converteren van een tekenreeks naar uniqueidentifier.
Als u de grootte van kolommen van een tabel met CDC wijzigt met behulp van DDL-instructies, kan dit leiden tot problemen met het volgende CDC-opnameproces. Dit kan leiden tot de volgende fouten:
- Fout 2628 : tekenreeks- of binaire gegevens worden afgekapt in de tabel.
- Fout 8115 - Rekenkundige overloopfout bij het converteren van het gegevenstype van bigint naar int
Houd er rekening mee dat gegevens in CDC-wijzigingstabellen worden bewaard op basis van door de gebruiker geconfigureerde instellingen. Voordat u wijzigingen aanbrengt in de kolomgrootte, moet u dus beoordelen of de wijziging compatibel is met de bestaande gegevens in CDC-wijzigingstabellen.
Als de sys.dm_cdc_errors aangeeft dat scans mislukken vanwege Fout 2628 of 8115 voor wijzigingstabellen, moet u eerst de wijzigingsgegevens in de getroffen wijzigingstabellen consumeren. Daarna moet u CDC uitschakelen en vervolgens opnieuw inschakelen op de tabel om het probleem effectief op te lossen.
Het inschakelen van CDC mislukt wanneer CREATE OBJECT-triggers bestaan
Wanneer u CDC inschakelt, wordt er een cdc user gemaakt om het CDC-creatieproces te beheren. De cdc user voert een aantal opgeslagen procedures uit om CDC in te schakelen en sommige van deze opgeslagen procedures maken objecten die bestaande CREATE OBJECT triggers activeren. Omdat de cdc user niet gemachtigd is om naar de master-database te schrijven, mislukken deze opgeslagen CDC-procedures met fout 22830.
Schakel CREATE OBJECT triggers uit voordat u CDC inschakelt voor een database. Deze triggers kunnen opnieuw worden geactiveerd nadat CDC is geconfigureerd.
Database importeren met gegevenslaag import-/export- en extract-/publicatiebewerkingen
Voor SQL-databases met CDC ingeschakeld, wanneer u SqlPackage, SSDT of andere SQL-hulpprogramma's gebruikt om te importeren/exporteren of te extraheren/publiceren, worden het cdc-schema en de gebruiker uitgesloten in de nieuwe database. Andere CDC-objecten die niet zijn opgenomen in import-/export- en extract-/implementatiebewerkingen, bevatten de tabellen die zijn gemarkeerd als is_ms_shipped=1 in sys.objects.
Zelfs als CDC niet is ingeschakeld en u een aangepast schema of een aangepaste gebruiker met de naam cdc hebt gedefinieerd in uw database, die ook wordt uitgesloten bij import-/export- en extract-/implementatiebewerkingen om een nieuwe database te importeren/instellen.
Partitiewisseling met variabelen
Het gebruik van variabelen met het schakelen tussen partities in databases of tabellen met CDC (Change Data Capture) wordt niet ondersteund voor de instructie ALTER TABLE ... SWITCH TO ... PARTITION .... Zie beperkingen voor het schakelen van partities voor meer informatie.
Onlinebewerkingen
Online DDL-instructies worden niet ondersteund
In Azure SQL Managed Instance en versies van SQL Server vóór SQL Server 2025 (17.x) Preview worden ALTER TABLE online DDL-instructies niet ondersteund wanneer wijzigingsgegevens vastleggen is ingeschakeld voor een database.
Online indexbewerkingen worden niet ondersteund
Online indexbewerkingen worden niet ondersteund wanneer wijzigingsgegevens vastleggen is ingeschakeld voor een database. U kunt fout 18773 tegenkomen: 'Kan geen tekstinformatierecords voor de kolom vinden'%.*ls', id %d tijdens de opdrachtconstructie.'
Standaardbeperkingen voor toegevoegde kolommen
Wanneer CDC is ingeschakeld voor een tabel en er een niet-null-kolom met een standaardbeperking wordt toegevoegd, hebben bestaande rijgegevens de waarde van de standaardbeperking. CDC gebruikt NULL echter in plaats van de standaardwaarde voor bestaande rijen. Dit geldt alleen voor gegevens die aanwezig zijn voordat de DDL werd toegepast. Als tijdelijke oplossing geeft u niet-veranderende UPDATE instructies uit aan bestaande rijen of voert u een ALTER INDEX ... REBUILD in de geclusterde index van de tabel uit. Gebruik ALTER TABLE ... REBUILD op de heap als er geen geclusterde index aanwezig is.
Probleemoplossingsproces
Dit onderdeel behandelt probleemoplossing van fouten in verband met CDC op SQL Server en Azure SQL Managed Instance. CDC-gerelateerde fouten kunnen de goede werking van het opnameproces belemmeren en leiden tot de uitbreiding van het databasetransactielogboek.
Als u deze fouten wilt onderzoeken, kunt u een query uitvoeren op de dynamische beheerweergave sys.dm_cdc_errors. Als sys.dm_cdc_errors dynamische beheerweergave fouten retourneert, raadpleegt u de volgende informatie over probleemoplossing.
Notitie
Zie Database Engine-gebeurtenissen en -foutenvoor meer informatie over een bepaalde foutcode.
Dit zijn de verschillende categorieën voor probleemoplossing die in deze sectie zijn opgenomen:
| Categorie | Beschrijving |
|---|---|
| Gewijzigde metagegevens | Bevat informatie over het beperken van problemen met betrekking tot CDC wanneer de bijgehouden tabel is gewijzigd of verwijderd. |
| Databaseruimtebeheer | Bevat informatie over het beperken van problemen wanneer de databaseruimte is uitgeput. |
| CDC-beperkingen | Bevat informatie over het beperken van problemen die worden veroorzaakt door CDC-beperkingen. |
Gewijzigde metagegevens
Fout 200/208 - Ongeldige objectnaam
Oorzaak: de fout kan optreden wanneer CDC-metagegevens zijn verwijderd. Voor een goede werking van CDC moet u geen CDC-metagegevens zoals
CDC schema, tabellen wijzigen, opgeslagen procedures vancdc userhet CDC-systeem, standaardmachtigingen (sys.database_principals) wijzigen of de naam van decdc userwijzigen.aanbeveling: om dit probleem op te lossen, moet u CDC uitschakelen en opnieuw inschakelen voor uw database. Wanneer u het vastleggen van wijzigingsgegevens voor een database inschakelt, worden het cdc-schema, de cdc-gebruiker, de metagegevenstabellen en andere systeemobjecten voor de database gemaakt.
Notitie
Objecten in de systeemcatalogusweergave sys.objects met is_ms_shipped=1 and schema_name='cdc' mogen niet worden gewijzigd of verwijderd.
Fout 1202: de database-principal bestaat niet of de gebruiker is geen lid
Oorzaak: de fout kan optreden wanneer
cdc useris verwijderd. Voor een goede werking van CDC moet u geen CDC-metagegevens handmatig wijzigen, zoalsCDC schemahet wijzigen van tabellen, opgeslagen procedures voor het CDC-systeem, standaardmachtigingencdc userof de naam van hetcdc userbestand wijzigen.Aanbeveling: zorg ervoor dat de
cdcgebruiker in uw database bestaat en of er ook dedb_ownerrol is toegewezen. Als u decdcgebruiker wilt maken, raadpleegt u het voorbeeld Cdc-gebruiker maken en roltoewijzen.
Fout 15517: Kan niet worden uitgevoerd als database-principal omdat de principal niet bestaat.
Oorzaak: dit type principal kan niet worden geïmiteerd, of u hebt geen toestemming. De fout kan optreden wanneer CDC-metagegevens zijn verwijderd of niet meer deel uitmaken van de
db_ownerrol. Voor een goede werking van CDC moet u geen CDC-metagegevens handmatig wijzigen, zoalsCDC schemahet wijzigen van tabellen, opgeslagen procedures voor het CDC-systeem, standaardmachtigingencdc userof de naam van hetcdc userbestand wijzigen.Aanbeveling: zorg ervoor dat de
cdcgebruiker in uw database bestaat en of er ook dedb_ownerrol is toegewezen. Als u decdcgebruiker wilt maken, raadpleegt u het voorbeeld Cdc-gebruiker maken en roltoewijzen.
Fout 18807 : kan geen object-id vinden voor de tabel van het replicatiesysteem
Oorzaak: deze fout treedt op wanneer SQL Server de%svan de replicatiesysteemtabel niet kan vinden of openen. Dit kan komen doordat de tabel ontbreekt of niet bereikbaar is. Voor een goede werking van CDC moet u geen CDC-metagegevens handmatig wijzigen, zoals
CDC schemahet wijzigen van tabellen, opgeslagen procedures voor het CDC-systeem, standaardmachtigingencdc userof de naam van hetcdc userbestand wijzigen.Aanbeveling: controleer of de systeemtabel bestaat en toegankelijk is door rechtstreeks een query uit te voeren op de tabel. Voer een query uit op de systeemcatalogus sys.objects en stel de predicaatcomponent in met
is_ms_shipped=1 and schema_name='cdc'om alle CDC-gerelateerde objecten weer te geven. Als de query geen objecten retourneert, moet u CDC uitschakelen en vervolgens opnieuw inschakelen voor uw database. Als u wijzigingsgegevens vastleggen inschakelt voor een database, worden het cdc-schema, cdc-gebruiker, metagegevenstabellen en andere systeemobjecten voor de database gemaakt.
Fout 21050- Alleen leden van de sysadmin of db_owner vaste serverfunctie kunnen deze bewerking uitvoeren
Oorzaak: de
cdc useris verwijderd uit dedb_ownerdatabaserol of uit desysadmin-serverfunctie.aanbeveling: zorg ervoor dat aan de
cdc userdedb_ownerrol is toegewezen. Als u decdcgebruiker wilt maken, raadpleegt u het voorbeeld Cdc-gebruiker maken en roltoewijzen.
Fout 22830: kan de metagegevens niet bijwerken die aangeeft dat database-<database name> is ingeschakeld voor Change Data Capture. De fout is opgetreden bij het uitvoeren van de opdracht <CDC stored procedure name>.
Oorzaak: Deze fout treedt op wanneer er een
CREATE OBJECTtrigger bestaat in de database of op de server. Wanneer u CDC inschakelt, wordt er eencdc usergemaakt om het CDC-creatieproces te beheren. Decdc uservoert een aantal opgeslagen procedures uit om CDC in te schakelen en sommige van deze opgeslagen procedures maken objecten die bestaandeCREATE OBJECTtriggers activeren. Omdat decdc userniet gemachtigd is om naar demaster-database te schrijven, mislukken deze opgeslagen CDC-procedures met fout 22830.Aanbeveling: Voordat u CDC inschakelt voor een database, schakelt u alle
CREATE OBJECTtriggers uit. Heractiveer deze triggers nadat CDC is geconfigureerd.
Databaseruimtebeheer
Fout 1105: kan geen ruimte toewijzen voor object in de database omdat de bestandsgroep vol is
Oorzaak: deze fout treedt op wanneer de primaire bestandsgroep van een database onvoldoende ruimte heeft en SQL Server geen ruimte kan toewijzen voor een object (zoals een tabel of index) binnen die bestandsgroep.
aanbeveling: verwijder overbodige gegevens in uw database om ruimte vrij te maken om dit probleem op te lossen. Identificeer ongebruikte tabellen, indexen of andere objecten in de bestandsgroep die veilig kunnen worden verwijderd. Bewaak het ruimtegebruik nauwkeurig voor meer informatie Bestandsruimte beheren voor databases in Azure SQL Database
In het geval dat het verwijderen van onnodige gegevens/objecten geen optie is, kunt u overwegen om meer ruimte toe te wijzen voor uw databasetransactielogboek. Zie architectuur en beheerhandleiding voor SQL Server-transactielogboeken voor meer informatie over transactielogboekbeheer
CDC-beperkingen
Fout 241 - Conversie is mislukt bij het converteren van datum en/of tijd uit tekenreeks
Oorzaak: Deze fout treedt op wanneer de ALTER COLUMN wordt uitgevoerd op een datumgegevenstype en de tabel CDC heeft ingeschakeld. Als een tabel bijvoorbeeld een nvarchar-kolom bevat en u het gegevenstype wijzigt in datum (bijvoorbeeld
ALTER TABLE table_name ALTER COLUMN [column_name] DATE NULL), ziet u mogelijk deze fout in de sys.dm_cdc_errors DMV. Fout 241 wordt veroorzaakt door een niet-ondersteunde gegevensconversie in de wijzigingstabel, ook al slaagt deALTERopdracht in de brontabel.Aanbeveling: Als u dit probleem wilt oplossen, schakelt u CDC uit en schakelt u deze opnieuw in voor uw tabel nadat u de kolom hebt gewijzigd. U kunt ook CDC uitschakelen voordat u de kolom wijzigt en cdc vervolgens opnieuw inschakelen na de
ALTER COLUMNwijziging.
Fout 245 - Conversie is mislukt bij het converteren van de waarde van tekenreeks naar int
Oorzaak: Deze fout treedt op wanneer de opdracht ALTER COLUMN wordt uitgegeven om het gegevenstype van een kolom te wijzigen wanneer CDC is ingeschakeld voor de tabel. Als een tabel bijvoorbeeld een nvarchar-kolom bevat en u het gegevenstype wijzigt in int (bijvoorbeeld
ALTER TABLE table_name ALTER COLUMN [column_name] INT NULL), ziet u mogelijk deze fout in de sys.dm_cdc_errors DMV. Fout 245 wordt veroorzaakt door een niet-ondersteunde gegevensconversie in de wijzigingstabel, ook al slaagt deALTERopdracht in de brontabel.Aanbeveling: Als u dit probleem wilt oplossen, schakelt u CDC uit en schakelt u deze opnieuw in voor uw tabel nadat u de kolom hebt gewijzigd. U kunt ook CDC uitschakelen voordat u de kolom wijzigt en cdc vervolgens opnieuw inschakelen na de
ALTER COLUMNwijziging.
Fout 913- CDC-opnametaak mislukt bij het verwerken van wijzigingen voor een tabel met het gegevenstype SYSTEEM-CLR
Oorzaak: Deze fout treedt op bij het inschakelen van CDC in een tabel met het gegevenstype CLR van het systeem, het aanbrengen van DML-wijzigingen en het aanbrengen van DDL-wijzigingen in dezelfde tabel terwijl de CDC-opnametaak wijzigingen verwerkt die betrekking hebben op andere tabellen.
Aanbeveling: de aanbevolen stappen zijn om DML-activiteiten naar de tabel tijdelijk te beëindigen, een capturetaak uit te voeren om wijzigingen te verwerken, DDL op de tabel uit te voeren, een capturetaak uit te voeren om DDL-wijzigingen te verwerken, en vervolgens de DML-verwerking opnieuw in te schakelen. Zie, voor meer informatie, CDC capture-taak mislukt bij het verwerken van wijzigingen voor een tabel met systeem-CLR-gegevenstype (geometrie, geografie of hiërarchieid).
Fout 2628: tekenreeks- of binaire gegevens zouden worden afgekort in tabel
Oorzaak: als u de grootte van kolommen van een tabel met CDC wijzigt met behulp van DDL-instructies, kan dit problemen veroorzaken met het volgende CDC-opnameproces. De sys.dm_cdc_errors Dynamische beheerweergave (DMV) is handig voor het controleren van CDC op gerapporteerde problemen, zoals foutennummer 2628 en 8115.
aanbeveling: voordat u wijzigingen aanbrengt in de kolomgrootte, moet u beoordelen of de wijziging compatibel is met de bestaande gegevens in CDC-wijzigingstabellen. U kunt dit probleem oplossen door CDC uit te schakelen en opnieuw in te schakelen voor uw database. Zie CDC inschakelen voor een database en CDC inschakelen voor een tabelvoor meer informatie over het inschakelen van CDC voor een database of tabel.
Fout 8115 - Rekenkundige overloopfout bij het converteren van het gegevenstype van bigint naar int
Oorzaak: Deze fout treedt op wanneer een ALTER COLUMN DDL wordt uitgevoerd in een tabel met CDC-functionaliteit die resulteert in een afname van de precisie van de kolom (zoals het wijzigen van het gegevenstype van de kolom van bigint in int). De verlaagde precisiekolom kan de waarden in de wijzigingstabel niet bevatten.
Aanbeveling: Als u dit probleem wilt oplossen, schakelt u CDC uit en schakelt u deze opnieuw in voor uw tabel nadat u de kolom hebt gewijzigd. U kunt ook CDC uitschakelen voordat u de
ALTER COLUMNopdracht uitvoert en cdc na deALTER COLUMNwijziging opnieuw inschakelen.
Fout 8169 - Conversie is mislukt bij het converteren van een tekenreeks naar uniqueidentifier
Oorzaak: Deze fout treedt op wanneer een ALTER COLUMN-opdracht wordt uitgegeven om het gegevenstype van een kolom te wijzigen wanneer CDC is ingeschakeld voor de tabel. Als een tabel bijvoorbeeld een char(x), nvarchar(x), nvarchar(x) heeft en u het gegevenstype wijzigt in uniqueidentifier (zoals:
ALTER TABLE table_name ALTER COLUMN [column_name] uniqueidentifier), ziet u mogelijk deze fout in de sys.dm_cdc_errors Dynamische Beheerweergave (DMV). Fout 8169 geeft een niet-ondersteunde gegevensconversie in de wijzigingstabel aan, ook al slaagt de opdracht ALTER in de brontabel.Aanbeveling: Als u dit probleem wilt oplossen, schakelt u CDC uit en schakelt u deze opnieuw in voor uw tabel nadat u de kolom hebt gewijzigd. U kunt ook CDC uitschakelen voordat u de
ALTER COLUMNopdracht uitvoert en cdc na deALTER COLUMNwijziging opnieuw inschakelen.
Gebruiker maken en rol toewijzen
Als de cdc user is verwijderd, kunt u de gebruiker handmatig opnieuw toevoegen.
Gebruik het volgende T-SQL-script om een gebruiker (cdc) te maken en de juiste rol toe te wijzen voor dezelfde (db_owner).
IF NOT EXISTS
(
SELECT *
FROM sys.database_principals
WHERE NAME = 'cdc'
)
BEGIN
CREATE USER [cdc]
WITHOUT LOGIN WITH DEFAULT_SCHEMA = [cdc];
END
EXEC sp_addrolemember 'db_owner', 'cdc';
Rol controleren en leden toevoegen
Als u wilt controleren of cdc gebruiker deel uitmaakt van de sysadmin of db_owner rol, voert u de volgende T-SQL-query uit:
EXECUTE AS USER = 'cdc';
SELECT is_srvrolemember('sysadmin'), is_member('db_owner');
Als de cdc gebruiker geen deel uitmaakt van een van beide rollen, voert u de volgende T-SQL-query uit om db_owner rol toe te voegen aan de cdc gebruiker.
EXEC sp_addrolemember 'db_owner' , 'cdc';
Verwante inhoud
- Wat is change data capture (CDC)?
- CDC bekende problemen en beperkingen bij Azure SQL Database
- het vastleggen van wijzigingen van gegevens in- en uitschakelen