Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Microsoft SQL Server Enterprise sürümlü bir Microsoft Dynamics CRM 2011 veritabanını Microsoft SQL Server Standard sürümüne sahip bir sunucuya geri yükleyememe sorununun çözümü sağlanır.
Şunlar için geçerlidir: Microsoft Dynamics CRM 2011
Özgün KB numarası: 2567984
Belirtiler
Microsoft SQL Server Enterprise veritabanını Microsoft SQL Server Standard çalıştıran başka bir sunucuya geri yüklemeye çalışırken aşağıdaki hatayı alıyorsunuz:
'SQLServerName' Sunucusu için geri yükleme başarısız oldu.
Ek bilgi:
Transact-SQL ifadesi veya toplu işlemi yürütülürken bir istisna oluştu. (Microsoft.SqlServer.ConnectionInfo)
'Org_MSCRM' veritabanı, 'AuditPFN' bölüm işlevi içerdiğinden SQL Server'ın bu sürümünde başlatılamıyor. Yalnızca SQL Server'ın Enterprise sürümü bölümleme işlemini destekler. Veritabanı işlevlerinin bazıları SQL Server'ın geçerli sürümünde kullanılamadığından 'Org_MSCRM' veritabanı başlatılamıyor. (Microsoft SQL Server, Hata: 905)
Neden
Microsoft Dynamics CRM 2011 bir Microsoft SQL Server Enterprise sürümü kullanılarak yüklendiğinde, Microsoft Dynamics CRM 2011'in denetim işlevselliği için bir bölüm oluşturulur. AuditBase tablosu, yalnızca Microsoft SQL Server Enterprise için kullanılabilen bölümleme kullanır.
Çözüm
Bölümleme işlemini kaldırmak için aşağıdaki Adımları ve Betiği kullanın. Aşağıdaki betik Birincil bölümdeki tüm dizinleri yeniden oluşturur ve ardından bölümü siler.
Aşağıdaki adımları gerçekleştirmeden önce veritabanının 'Org_MSCRM' yedeğinin olduğundan emin olun.
'Org_MSCRM'Veritabanını bir Microsoft SQL Server Enterprise sürümüne geri yükleyin. Üretim veritabanında betiği çalıştırmak yerine, veritabanını yedeklemeniz ve geri yüklemeniz önerilir.Geri yüklenen veritabanında aşağıdaki betiği çalıştırın.
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 ```Betik tamamlandıktan sonra veritabanını yedekleyebilirsiniz ve şimdi veritabanını bir Microsoft SQL Server Standard sürümüne geri yükleyebilmeniz gerekir.
Daha Fazla Bilgi
Denetim özelliği Microsoft SQL Server Standard sürümünde hala işlevseldir, ancak Standard sürümü kullanılırken denetim geçmişinin bir bölümünün tamamını silme özelliği kullanılamaz.