2008-10-01 5 views
3

Arrière-planPartitionnement de base de données SQL 2005 pour SharePoint

J'ai une base de données massive pour une collection de sites SharePoint. Il est de 130 Go et de plus en plus à 10 Go par mois. 100 Go de la 130 Go est dans une collection de sites. 30 Go est la table des versions. Il n'y a qu'une collection de sites - c'est par conception.

Question

Suis-je capable de partitionner une base de données (SharePoint) en utilisant des données SQL de 2005S fonctions de partitionnement (création de plusieurs fichiers de données)? Est-il possible de partitionner une base de données déjà créée? Est-ce que quelqu'un a partitionné une base de données SharePoint? Vais-je rencontrer des problèmes?

Répondre

1

Vous devez créer un jeu de partitions et reconstruire la table sur ce jeu de partitions. SQL2005 ne peut partition sur une seule colonne, donc vous devez avoir une colonne dans le DB qui

  • assez prévisible Se comporte de sorte que vous ne recevez pas un grand biais dans la quantité de données dans chaque partition
  • IIRC la colonne doit être une valeur numérique ou datetime
  • En pratique, il est plus facile si elle augmente de façon monotone - vous pouvez créer une série de partitions (automatiquement ou manuellement) et le système les remplira au fur et à mesure qu'il atteindra les définitions de plage.

Une date (peut-être la date à laquelle le document a été entré) serait idéale. Cependant, vous pouvez ou ne pouvez pas avoir une colonne utile sur la grande table. MME. le support technique serait la meilleure source de conseils pour cela.

Le partitionnement doit être transparent pour l'application (encore une fois, vous avez besoin d'une colonne avec un comportement approprié à utiliser comme clé de partition).

Si vous n'avez pas la chance d'avoir une colonne de clé de partition qui est également utilisée comme prédicat de recherche dans les requêtes les plus courantes, les performances de requête ne bénéficieront pas du partitionnement. Un exemple de colonne qui fonctionne bien est une colonne de date sur un entrepôt de données. Cependant, votre application Sharepoint peut ne pas faire un usage intensif de cette sorte de requête.

+0

J'ai un champ TimeCreated qui est une colonne datetime, je suppose que cela me permettrait de partitionner en fonction des années. Ce n'est pas tellement pour les performances d'accès que le serveur est rapide, mais plus pour la sauvegarde et la restauration des performances. Je vais tester ce que vous suggérez avant d'accepter la réponse finale. – Mauro

0

Mauro,

est-il pas possible, vous pouvez segmenter les données sur un niveau de Sharepoint?

Par exemple, vous pouvez avoir plusieurs "sites" en utilisant une seule base de données de contenu (SQL). Vous pouvez migrer des données de site vers une nouvelle base de données de contenu, ce qui vous permettra de réduire les données dans ce grand site de contenu, puis de réduire les fichiers de données.

il vous aidera également à gérer votre croissance continue évidente.

James.

Questions connexes