Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller en lösning på problemet att du inte kan återställa en Microsoft Dynamics CRM 2011 med Microsoft SQL Server Enterprise Edition-databas till en server med Microsoft SQL Server Standard Edition.
Gäller för: Microsoft Dynamics CRM 2011
Ursprungligt KB-nummer: 2567984
Symptomer
När du försöker återställa en Microsoft SQL Server Enterprise-databas till en annan server som kör Microsoft SQL Server Standard får du följande fel:
Återställningen misslyckades för servern "SQLServerName".
Ytterligare information:
Ett undantag uppstod när en Transact-SQL-instruktion eller batch skulle köras. (Microsoft.SqlServer.ConnectionInfo)
Databasen "Org_MSCRM" kan inte startas i den här versionen av SQL Server eftersom den innehåller partitionsfunktionen "AuditPFN". Endast Enterprise-utgåvan av SQL Server stöder partitionering. Det går inte att starta databasen "Org_MSCRM" eftersom en del av databasfunktionerna inte är tillgängliga i den aktuella versionen av SQL Server. (Microsoft SQL Server, Fel: 905)
Orsak
När Microsoft Dynamics CRM 2011 installeras med en Microsoft SQL Server Enterprise-utgåva skapas en partition för granskningsfunktionerna i Microsoft Dynamics CRM 2011. Tabellen AuditBase använder partitionering som endast är tillgänglig för Microsoft SQL Server Enterprise.
Åtgärd
Använd följande steg och skript för att ta bort partitioneringen. Följande skript återskapar alla index på den primära partitionen och släpper sedan partitionen.
Se till att ha en databassäkerhetskopia av 'Org_MSCRM' innan du utför följande steg.
Återställ databasen
'Org_MSCRM'till en Microsoft SQL Server Enterprise-utgåva. Vi rekommenderar att du säkerhetskopierar och återställer databasen i stället för att köra skriptet på produktionsdatabasen.Kör följande skript mot den återställda databasen.
IF Object_id('tempdb..#indexesScript', 'U') IS NOT NULL DROP TABLE #indexesScript IF EXISTS (SELECT NAME FROM sys.partition_schemes WHERE NAME = 'AuditPScheme') BEGIN SELECT CASE WHEN ind.type != 1 THEN 'DROP INDEX [dbo].[AuditBase].' + Quotename(ind.NAME) + ' ' ELSE ' ' END + 'CREATE ' + CASE is_unique WHEN 1 THEN 'UNIQUE ' ELSE '' END + ind.type_desc + ' INDEX ' + Quotename(ind.NAME COLLATE sql_latin1_general_cp1_ci_as ) + ' ON [dbo].' + Quotename(Object_name(object_id)) + ' (' + Reverse(Substring(Reverse(( SELECT NAME + CASE WHEN sc.is_descending_key = 1 THEN ' DESC' ELSE ' ASC' END + ',' FROM sys.index_columns sc JOIN sys.columns c ON sc.object_id = c.object_id AND sc.column_id = c.column_id WHERE Object_name( sc.object_id) = 'AuditBase' AND sc.object_id = ind.object_id AND sc.index_id = ind.index_id ORDER BY index_column_id ASC FOR xml path(''))), 2, 8000 )) + ')' + CASE WHEN ind.type = 1 THEN ' WITH (DROP_EXISTING = ON) ON [PRIMARY]' ELSE ' ' END AS Script INTO #indexesScript FROM sys.indexes ind JOIN sys.partition_schemes ps ON ind.data_space_id = ps.data_space_id WHERE Object_name(object_id) = 'AuditBase' AND ps.NAME = 'AuditPScheme' AND is_unique_constraint = 0 SELECT * FROM #indexesScript DECLARE @recreateScript NVARCHAR(max) DECLARE indscript CURSOR FOR SELECT script FROM #indexesScript OPEN indscript FETCH next FROM indscript INTO @recreateScript WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRANSACTION t1 EXECUTE Sp_executesql @recreateScript IF @@ERROR > 0 BEGIN ROLLBACK TRAN t1 DECLARE @message VARCHAR(max) SET @message = 'Audit history recreate index failed. SQL: ' + @recreateScript RAISERROR (@message,10,1) END ELSE BEGIN COMMIT TRAN END FETCH next FROM indscript INTO @recreateScript END DROP partition scheme auditpscheme DROP partition FUNCTION auditpfn CLOSE indscript DEALLOCATE indscript DROP TABLE #indexesScript END ```När skriptet är klart kan du säkerhetskopiera databasen och nu bör du kunna återställa databasen till en Microsoft SQL Server Standard-utgåva.
Mer information
Granskningsfunktionen fungerar fortfarande i Microsoft SQL Server Standard Edition, men när du använder Standard-utgåvan är det inte tillgängligt att ta bort en hel partition av granskningshistoriken.