Dela via


Förbättrad kryptering

Gäller för: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server 2022 Analysis Services (SSAS) CU1 och senare versioner innehåller förbättrad kryptering för vissa skrivåtgärder till modelldatabasschemat. När du uppgraderar från en tidigare SSAS-version måste du uppdatera dina modelldatabaser så att de använder den senaste krypteringen. Om krypteringen inte uppgraderas blockeras vissa skrivåtgärder för databasscheman. Du kan till exempel inte lägga till en ny datakälla eller ändra anslutningssträngar.

Försiktighet

Nya eller uppgraderade Analysis Services-databaser med förbättrad kryptering kan inte läsas in i tidigare versioner av SQL Server Analysis Services.

Uppgradera tabellmodelldatabaser

För tabellmodelldatabaser på kompatibilitetsnivån 1600 och högre kan följande fel returneras under vissa schemaskrivningsåtgärder:

"Ny tabelldatabas%{DatabaseName/}" använder inte det senaste krypteringsschemat. Kör kommandot RemoveDiscontinuedFeatured med alternativet EnsureProperEncryption (eller återställ DB från säkerhetskopieringsfilen med samma alternativ) för att uppgradera till den senaste krypteringen."

Om du vill uppgradera krypteringen säkerhetskopierar du antingen databasen och återställer sedan med alternativet EnsureProperEncryption aktiverat genom att köra följande XMLA-kommando i SQL Server Management Studio:

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" Transaction="false" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl100="http://schemas.microsoft.com/analysisservices/2008/engine/100">
<Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" xmlns:ddl922="http://schemas.microsoft.com/analysisservices/2022/engine/922">
<File>your_backup_file_pathname</File>
<AllowOverwrite>true</AllowOverwrite>
<ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</Restore>
</Batch>

Om databasen redan har lästs in kör du följande XML for Analysis-kommando (XMLA) i SQL Server Management Studio:

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

Uppgradera flerdimensionella modelldatabaser

För flerdimensionella modelldatabaser på alla kompatibilitetsnivåer kan följande fel returneras under vissa schemaskrivningsåtgärder:

"Flerdimensionell databas "%{DatabaseName/}" använder inte det senaste krypteringsschemat. Skapa en säkerhetskopia och återställ databas från en säkerhetskopia med alternativet EnsureProperEncryption för att uppgradera till den senaste krypteringen."

Om du vill uppgradera krypteringen säkerhetskopierar du databasen och återställer sedan med alternativet EnsureProperEncryption aktiverat.

Om databasen redan har lästs in kör du följande XMLA-kommando i SQL Server Management Studio:

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

Hantering av nyckellivslängd

SQL Server Analysis Services använder en databaskrypteringsnyckel för att kryptera känsliga data per databas, till exempel autentiseringsuppgifter för datakällor och anslutningssträngar. I SSAS 2025 och senare versioner kan du använda DBSCHEMA_CATALOGS schemaraduppsättning för att fastställa krypteringsnivån för dina modelldatabaser samt databasnyckelns ålder. Kontrollera kolumnen ENCRYPTION_LEVEL och kontrollera att nivån är Analysis Services 2022 CU. Kontrollera CRYPTOKEY_UPDATED kolumnen för skapandedatum eller senaste förnyelsedatum för databaskrypteringsnyckeln.

Du kan återskapa databaskrypteringsnyckeln med kommandot RemoveDiscontinuedFeatures. Precis som när du uppgraderar från äldre kryptering som beskrevs tidigare dekrypterar RemoveDiscontinuedFeatures-kommandot skyddsbara data, genererar en ny databaskrypteringsnyckel och krypterar sedan om skyddsbara data med hjälp av den nya databaskrypteringsnyckeln.

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

Procedurer för ändring av tjänstkonto

SQL Server Analysis Services krypterar varje databaskrypteringsnyckel med hjälp av en serveromfattande krypteringsnyckel. Förbättrad kryptering i SSAS 2022 CU1 och senare versioner använder sedan dataskydds-API :et (DPAPI) för att skydda och komma åt serverkrypteringsnyckeln på ett säkert sätt med hjälp av information från det aktuella tjänstkontot och det lokala datorkontot. Serverkrypteringsnyckeln kan bara dekrypteras med samma tjänstkonto på den lokala datorn. På grund av beroendet av det aktuella tjänstkontot kontrollerar du att du följer procedurerna nedan för att ändra SQL Server Analysis Services-tjänstkontot.

Ändra tjänstkontot för en flerdimensionell instans

Om du måste ändra tjänstkontot för en serverinstans som körs i flerdimensionellt läge är det viktigt att säkerhetskopiera dina modelldatabaser, avinstallera och sedan installera om servern och sedan återställa modelldatabaserna. Den här metoden säkerställer att alla skyddsbara objekt är korrekt krypterade, inklusive QueryLogConnectionString- och ImpersonationAccount-autentiseringsuppgifter. Du kan också använda en attach/detach-metod, men den här metoden kräver att du bevarar den befintliga datamappen.

  1. Använd SSMS för att säkerhetskopiera varje databas till .abf-filen.

  2. Avinstallera SSAS-serverinstansen.

  3. Ta bort eventuella rester av den avinstallerade serverinstansen, till exempel överblivna datamappar eller konfigurationsfiler.

  4. Installera en ny SSAS-serverinstans och tilldela ett nytt tjänstkonto.

  5. Återställ databaserna från .abf-säkerhetskopieringsfilerna.

Var försiktig när du implementerar de här stegen för att undvika dataförlust eller säkerhetsrisker. Utför alltid datasäkerhetskopior och sök vägledning från systemadministratören innan du gör betydande ändringar i tjänstkonton eller serverkonfigurationer.

Ändra tjänstkontot för en tabulär instans

Tabellserverinstanser kräver inte fullständig ominstallation av servern eftersom tabellservrar inte använder autentiseringsuppgifterna QueryLogConnectionString eller ImpersonationAccount på hela servern. Även om proceduren inte förlitar sig på databassäkerhetskopior bör du alltid utföra datasäkerhetskopior och söka vägledning från systemadministratören innan du gör betydande ändringar i tjänstkonton eller serverkonfigurationer.

  1. Rekommenderat men valfritt, använd SSMS för att säkerhetskopiera varje databas till .abf-filen.

  2. Koppla från alla modelldatabaser.

  3. Stoppa SSAS-tjänsten.

  4. Ändra SSAS-tjänstkontot.

  5. Starta SSAS-tjänsten.

  6. Koppla om alla modelldatabaser.

Flytta modelldatabaser till en annan serverinstans

Om du måste överföra modelldatabaser mellan servrar är det viktigt att använda en säkerhetskopierings-/återställnings- eller frånkopplingsmetod. För mer information om hur du använder metoden för att koppla från/ansluta med SSMS, AMO eller XMLA, se Flytta en Analysis Services-databas.

Stöd för failoverkluster

SQL Server 2025 Analysis Services med förbättrad kryptering kan installeras i ett Windows Server-redundanskluster (WSFC) för att uppnå hög tillgänglighet. I en WSFC-miljö måste alla serverinstanser använda samma Active Directory-domänanvändarkonto som tjänstkontot så att serverkrypteringsnyckeln kan dekrypteras på alla serverinstanser. Lokala Windows-konton, Build-In konton och Entra-ID-konton stöds inte.

Anmärkning

SQL Server 2022 Analysis Services CU1 med förbättrad kryptering ger inte stöd för redundanskluster. Om du vill dra nytta av förbättrad kryptering i en redundansklustermiljö måste du uppgradera till SQL Server 2025 Analysis Services.

Felsökning

Problem: Om säkerhetskopierings-/återställningsstegen ovan inte följs kan det leda till att tjänsten inte startar om du ändrar SQL Server 2022 Analysis Services-tjänstkontot.

Följande meddelande i filen Log\msmdsrv.log anger att tjänsten inte kan starta eftersom tjänstkontot har ändrats:

"Server Gen2 cryptokey finns inte, men servermonteringsobjektet System är inställt på att använda server gen2 cryptokey. Avslutar servern. (Källa: \?\C:\Program Files\Microsoft SQL Server\MSAS16. MSSQLSERVER\OLAP\Log\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x4121005C"

Lösning: I filen msmdsrv.ini, i ConfigurationSettings>DataDir, avgör du platsen för Data-mappen. I mappen Data tar du sedan bort filerna med namnet som innehåller .asm.xmloch alla mappar med filnamnstillägget .asm .

När du har raderat filerna startar du om Analysis Services-tjänsten. .asm-filerna skapas automatiskt igen.

Följande krypterade egenskaper måste sedan konfigureras med hjälp av SQL Server Management Studio (SSMS):

  • Log\QueryLog\QueryLogConnectionString.
  • Varje datakällas personifieringskonto lösenord eller autentiseringslösenord.

Se även

Säkerhetskopiera och återställa Analysis Services-databaser
Kompatibilitetsnivå för tabellmodeller