PI Services

Le blog des collaborateurs de PI Services

SQL Server – Amélioration de la reconstruction d’un index en ligne sous SQL Server 2012.

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.

Exchange 2010 SP1 - Erreur "The action couldn't be completed. Please try again." lors d'une recherche OWA

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

      image
        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

    image

    Setup.com /PrepareAd

    image

    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 :