Archive

Posts Tagged ‘STSADM’

Les limites reliées à la mise à jour d’une solution


La mise à jour d’une solution à l’aide de la commande « stsadm-o upgradesolution » comporte certaines limitations.

Afin de bien comprendre les limitations précisées un peu plus loin, il est important d’expliquer ce qui se passe vraiment lors de l’exécution de la commande. En fait, c’est bien simple, Sharepoint supprime les fichiers contenus dans la version précédente et installe les fichiers contenus dans la nouvelle version de la solution. Aucune autre opération ne sera effectuée sauf le recyclage du ou des applications pools impliqués dans l’opération.

Une fois ceci bien compris, il est maintenant facile de comprendre qu’il ne faut pas effectuer les opérations suivantes sur la solution :

  • Ajout ou suppression d’un feature
  • Changement au niveau de l’assembly qui est utilisé comme récepteur d’événement (event receiver)
  • Modification, ajout ou suppression d’une propriété d’un feature ou changement au niveau de l’identifiant d’un feature
  • Ajout ou suppression d’élément d’un feature (Element.xml)

Si jamais vous rencontrez une des situations énumérées ci-dessus, il sera nécessaire de faire une rétractation complète de solution précédente et effectuer un déploiement de la nouvelle solution.

Catégories :Sharepoint 2007, WSS Étiquettes : , ,

Messages d’erreurs lors de l’exécution d’une commande STSADM


Est-ce qu’il vous est déjà arrivé d’avoir l’un des messages suivants lorsque vous tentez d’exécuter une commande STSADM :

  • Access is denied.
  • Cannot connect to the configuration database.
  • Login failed for user ‘(null)’. Reason: Not associated with a trusted SQL Server connection. (Error code: 18452).

Pas plus tard que la semaine dernière, c’est arrivé lorsque je préparais un travail planifié de backup d’une collection de sites Sharepoint. Le compte de service qu’on m’avait fournit et que j’ai utilisé pour configurer le travail planifié ne possédait tout simplement pas les permissions requises pour effectuer l’opération.

Il faut savoir que pour effectuer la plupart des commandes STSADM, il faut posséder les permissions suivantes :

  • Être administrateur local du serveur sur lequel on exécute la commande;
  • Être administrateur de la ferme Sharepoint (farm administrator);

En plus, il faut aussi posséder les bonnes permissions dans SQL Server. En effet, puisque la commande STSADM s’exécute sous l’identité du compte avec lequel on la lance, il est requis que ce compte soit reconnu par SQL Server.

L’article  KB896148 présente deux méthodes pour attribuer les privilèges dans SQL Server :

  1. Placer le compte membre du groupe Administrateur local du serveur SQL;
  2. Donner au compte les rôle « Administrateur de la sécurité » et « Créateurs de bases de données » dans SQL Server et les rôles « public » et « db_owner » sur chaque banque SQL utilisées par Sharepoint.

Il va s’en dire que dans un organisme où les banques de données sont créées par l’administrateur SQL, seulement les rôles « public » et « db_owner » de chaque banque SQL utilisées par Sharepoint seront attribués au compte.

Pour en revenir à mon travail planifié, c’était justement les permissions dans SQL Server qui n’étaient pas adéquates.

J’espère ainsi vous éviter de précieuses minutes de recherche.

Catégories :Sharepoint Étiquettes : ,

Déploiement de solution WSP sans causer de perte de service à l’utilisateur

12 octobre 2009 2 commentaires

Le déploiement d’une solution Sharepoint (WSP) spécifique à une application Web initie un recyclage de l’application pool. Le déploiement d’une solution Sharepoint (WSP) qui contient un élément qui va dans le Global Assembly Cache (GAC) initie le recyclage de tous les applications pool de toutes les applications Web Sharepoint. Dans une ferme Sharepoint, tous les serveurs sont mis à jour au même moment par le biais du service du Timer.

Même si le recyclage ne cause qu’une interruption de quelques secondes, pour un site Internet 24/7, cela  peut-être un problème.

La solution consiste à faire les serveurs à tour de rôle. Par exemple, pour une ferme moyenne comme ci-dessous, on commence par le serveur d’application. On passe par la suite sur chaque serveur Web en prenant soin de le débarquer du balancement de charge avant de faire le déploiement.

Medium_farm

Medium_farm

Voici donc en détail les commandes à faire sur chaque serveur de la ferme pour une nouvelle solution WSP :

Serveur d’application :

stsadm –o addsolution –filename nom_solution.wsp
stsadm –o deploysolution –name nom_solution.wsp
–url http://url_du_site/ -local

Serveur Web 1 et 2, à tour de rôle en prenant soin de débarquer le serveur du balancement de charge :

stsadm –o deploysolution –name nom_solution.wsp
–url http://url_du_site -local

Voici en détails les commandes à faire sur chaque serveur de la ferme pour mettre à jour une solution existante :

Serveur d’application :

stsadm –o upgradesolution –name nom_solution.wsp –filename
nom_solution.wsp -url  http://url_du_site -local

Serveur Web 1 et 2, à tour de rôle en prenant soin de débarquer le serveur du balancement de charge :

stsadm –o upgradesolution –name nom_solution.wsp –filename
nom_solution.wsp –url  http://url_du_site -local
Catégories :Sharepoint, WSS Étiquettes : , ,

STSADM Preupgradecheck sans avoir des droits suffisants dans SQL


Dans ce billet, j’aimerais portée à votre attention le fait que la commande STSADM Preupgradecheck ne réussit pas toujours à vérifier l’ensemble de ses règles. En effet, dans un environnement où le compte d’administration de Sharepoint ne possède pas de droits suffisants dans SQL Server, une règle de validation ne pourra être vérifiée.

Dans le log de la commande vous trouverez l’erreur suivante :

[SPObjectProcessor] [ERROR] [2009-06-01 13:56:58]: An unexpected error occured while processing a health analysis rule.
This rule will be skipped. The following message was generated by the error: System.Reflection.TargetInvocationException:
Une exception a été levée par la cible d'un appel. ---> System.Data.SqlClient.SqlException: CREATE DATABASE permission denied in database 'master'.
 à System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
 à System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
 à System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
 à System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
 à System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
 à System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
 à System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
 à Microsoft.SharePoint.Utilities.SqlSession.ExecuteNonQuery(SqlCommand command)
 à Microsoft.SharePoint.Administration.Health.InvalidDatabaseSchema.EnsureTempDatabase(SPContentDatabase contentDb)
 à Microsoft.SharePoint.Administration.Health.InvalidDatabaseSchema.Check()
 --- Fin de la trace de la pile d'exception interne ---
 à System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
 à System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
 à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
 à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
 à System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
 à Microsoft.SharePoint.StsAdmin.SPObjectProcessor.ISPHealthAnalysisRuleCheck(Object rule)
 à Microsoft.SharePoint.StsAdmin.SPObjectProcessor.ProcessObject()

Une bonne pratique serait donc de vérifier dans le log afin de vérifier si ce dernier contient des erreurs de ce type.

Vous trouverez plus d’information sur la commande STSADM Preupgradecheck dans mon billet du 1 juin dernier.

Catégories :Sharepoint, STSADM, WSS Étiquettes : , ,

STSADM : une carte interactive en Silverlight


Ce soir j’ai découvert un lien à mettre dans nos favoris. C’est une carte interactive présentant l’ensemble des commandes STSADM réalisée en Silverlight Tel que présenté dans l’image ci-dessous, on peut rechercher ou trier les commandes. C’est très intuitif.

STSADM_Silverlight

L’adresse pour accéder à ce superbe outil est la suivante : http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx

Merci à Dan Lewis de m’avoir fait découvrir cela.

Catégories :Sharepoint, STSADM Étiquettes : , ,
%d blogueurs aiment cette page :