SQL Server 2012 cache quelques petites nouveautés qui peuvent bien vous surprendre.
J’ai découvert récemment qu’il est désormais possible de reconstruction un index en ligne sur SQL Server 2012 de tables qui contiennent des types VARCHAR(MAX) et NVARCHAR(MAX).
Démonstration :
Commencez par exécuter le script sous SQL Server 2008 R2 puis sur SQL Server 2012.
USE [tempdb]
GO
CREATE TABLE T1
(ID INT, C1 NVARCHAR(10), C2 NVARCHAR(MAX))
GO
CREATE CLUSTERED INDEX [IX_T1]
ON T1
(ID)
GO
CREATE NONCLUSTERED INDEX [IX_T1_Cols]
ON T1
(C1)
INCLUDE (C2)
GO
USE [tempdb]
GO
ALTER INDEX [IX_T1_Cols] ON [dbo].[T1]
REBUILD WITH (ONLINE = ON)
GO
DROP TABLE T1
GO
Résultat :
Sur le serveur SQL Server 2008 R2, on a un message d’erreur du type
Msg 2725, Level 16, State 2, Line 1
An online operation cannot be performed for index ‘IX_T1_Cols’ because the index contains column ‘C2’ of data type text, ntext, image, varchar(max), nvarchar(max), varbinary(max), xml, or large CLR type. For a non-clustered index, the column could be an include column of the index. For a clustered index, the column could be any column of the table. If DROP_EXISTING is used, the column could be part of a new or old index. The operation must be performed offline.
Tandis que sur le serveur SQL Server 2012
Command(s) completed successfully.
Symptôme
Suite au déploiement du SP1 d'Exchange 2010, l'erreur suivante peut se produire dans le Webmail Outlook Web App lorsque la fonction de recherche est utilisée :
The action couldn't be completed
De plus l'erreur suivante apparaît dans le journal Application du serveur CAS Exchange 2010 :
Log Name: Application Source: MSExchangeIS Mailbox Store Date: 07/02/2011 12:08:16 Event ID: 9877 Task Category: Content Indexing Level: Error Keywords: Classic User: N/A Computer: <FQDN du serveur> Description: Content Indexing function 'CISearch::EcGetRowsetAndAccessor' received an unusual and unexpected error code from MSSearch. Mailbox Database: <Nom de la base de données> Error Code: 0x80043629 |
Un redémarrage du serveur ou bien le déplacement des boîtes aux lettres vers une nouvelle base de données ne résout pas le problème.
Explication
Ce problème serait dû à une erreur lors de l'application du SP1 (au niveau des phases de mise à jour du schéma et de mise à jour de l'organisation Exchange 2010).
Résolution
Pour résoudre ce problème, il faut ré-exécuter les commandes de préparation de l'annuaire Active Directory pour Exchange 2010 SP1 :
Setup.com /PrepareSchema
Setup.com /PrepareAd
Il faut ensuite redémarrer le ou les serveurs Exchange 2010. Suite à ces manipulations la recherche dans le Webmail fonctionne de nouveau normalement.
Pour plus d'informations, vous pouvez consulter le lien suivant sur le forum Microsoft Technet :