Supprimer un controler récalcitrant de la Database

Dans un environnement “Hors Prod” nous avons rencontré un problème sur un Controller, en effet ce dernier était encore inscrit dans la ferme mais le DSName n’était plus renseigné et le MachineName contenait le SID du controller en lieu et place du nom.

 

Bien sûr une suppression dans Studio n’était pas possible 🙁

 

En googlelant nous sommes tombés sur un poste de JGSPIERS.COM “Remove orphaned Delivery Controller from XenApp XenDesktop Site“, qui via un script PowerShell (EvictiScript.ps1 ; modifier au préalable les variables $DBName $EvictedSID)  va générer un fichier evict_.txt contenant le script sql à exécuter sur le serveur SQL hébergeant votre Database.

Une fois ces étapes réalisées, notre Controller est bien supprimé de la Database (tout du moins en partie mais ça nous le verrons plus bas dans ce billet), en effet nous ne le voyons plus via un Get-BrokerController.

 

Le script de nettoyage a bien supprimé le Controller non résolu

Continue reading “Supprimer un controler récalcitrant de la Database”

Post to Twitter

Erreur dans Studio : Register upgraded Delivery Controllers

Si vous rencontrez le message d’information “Register upgraded Delivery Controllers” dans Studio (dans notre cas sur du XA 7,6), alors il se pourrait que l’un de vos DDC n’ait pas (ou n’ai plus) les permissions adéquates côté SQL.

 


 

Quand on regarde l’erreur en détail on obtient :

Error Id: XDDS:400E633A
Exception:
Citrix.Console.Models.Exceptions.PermissionDeniedException You are not authorized to perform this operation.
…………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………..
Set-LogDBConnection  -AdminAddress “DDC02.YourDomain.fr:80” -DataStore “Logging” -DBConnection “Server=YourSqlServer;Initial Catalog=SiteConfigurationDatabase;Integrated
Security=True” -Force
Set-LogDBConnection : There was a problem communicating with the Citrix Delegated Administration Service.

 

En regardant directement sur le serveur SQL nous avons remarqué dans les logs que le DDC02 ne pouvait plus s’authentifier sur le serveur SQL.

Log                   SQL Server (Current – Date Time)
Source              Logon
Message
Login failed for user ‘Domain\DDC2$’. Reason: Could not find a login matching the name provided. [CLIENT: IPServer XXX.XXX.XXX.XXX]

 

Une fois le compte ordinateur rajouté dans Security-Logins sur le serveur SQL, nous n’avons plus rencontré d’erreur.

 

 

La question qui se pose est bien sûr : comment ce compte ordinateur a disparu 🙂 , nous penchons pour l’instant à un “problème” de réplication SQL Alwayson.

Si vous souhaitez des détails sur les privilèges SQL pour XD/XA nous vous conseillons la lecture de la CTX127998.

 

Post to Twitter

Erreur SQL : [364] Le service Messenger n’a pas été démarré. Les notifications NetSend ne seront pas envoyées.

Il y a quelques jours nous sommes tombés sur une erreur SQL (suite à la mise en place de Database mail) :

[364] Le service Messenger n’a pas été démarré. Les notifications NetSend ne seront pas envoyées.

Après une recherche google avec notre collègue et ami VMDUDE, nous avons trouvé THE  trick (bravo MS au passage) sur un billet publié sur le msdn.

En effet lors de la configuration de Database Mail (au passage un step by step est dispo chez codeproject) il faut aussi activer le profile de messagerie : clique droit sur SQL serveur Agent  – propriété – Système d’alerte puis cliquez sur Activer le profile de messagerie.

Bien sur ça se passe de commentaire 🙂 .

Post to Twitter

Erreur Sql : Échec de la négociation SSPI avec le code d’erreur 0x8009030c

Sur un serveur Sql 2008 R2 nous avons rencontré l’erreur suivante :

Nom du journal : Application
Source :       MSSQLSERVER
ID de l’événement :17806
Description : Échec de la négociation SSPI avec le code d’erreur 0x8009030c, état 14 lors de l’établissement d’une connexion avec une sécurité intégrée ; la connexion a été fermée. Raison : Échec d’AcceptSecurityContext. Le code d’erreur Windows indique la cause de l’erreur.  [CLIENT : 10.101.xxx.xxx].

En allant sur le serveur CLIENT (serveur XenApp 6.5)  indiqué dans la description de l’event nous avons trouvé l’event suivant :

Source :       IMAService
ID de l’événement :3989
Description : Le serveur Citrix XenApp n’a pas pu se connecter au magasin de données. Une erreur ODBC s’est produite lors de la connexion à la base de données : 28000 -> [Microsoft][ODBC SQL Server Driver][SQL Server]Échec de la connexion. La connexion provient d’un domaine non approuvé et ne peut pas être utilisée avec l’authentification Windows.

Nous avons trouvé un article chez SarePoint It Prof qui traite ce type de problème.

Deux solutions sont possibles (celle du registre est à réserver pour un environnement de qualif, sinon ldap389 risque de ne pas être content 😉 ) .

  • jouer avec le registre :
  1. Edit the registry using regedit. (start –> run … Regedit )
  2. Browse to : HKLM\System\CurrentControlSet\Control\LSA
  3. Add a DWORD value called “DisableLoopbackCheck”
  4. Set this value to 1
  • Modifier le spn :  SetSpn -A MSSQLSvc/sql.mb.local:1433 MB\sql_service


Post to Twitter

Erreur “Another Version of Microsoft Visual Studio 2008 has been Detected on this System” sur serveur XA 6.5

Sur un serveur XenApp 6.5 nous avons installé Sql 2008 R2 standard (c’est de la qualif 🙂 ), le problème est que l’installation de SSMS (SQL Server Management Studio) n’a pu aboutir.
Dans le journal “application” nous avons trouvé l’event suivant :

Nom du journal :Application
Source :       MsiInstaller
ID de l’événement :1013
Description : Product: Microsoft Visual Studio Tools for Applications 2.0 – ENU — Another version of Microsoft Visual Studio 2008 has been detected on this system that must be updated to SP1.  Please update all Visual Studio 2008 installations to SP1 level, by visiting Microsoft Update.

La CTX128280 explique comment bypasser cette erreur en renommant la clé HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS.

Une fois la clé HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS renommée, nous avons pu installer SSMS (n’oubliez pas de renommer la clé une fois SSMS installé).

Post to Twitter

EdgeSight : Exception générale de données utiles : Error calling es_alert_add_alert_param for instance

Récemment nous recevions des alertes de type “Exception générale de données utiles : Error calling es_alert_add_alert_param for instance…” provenant de notre serveur EdgeSight (5.4 sous Windows 2003 sp 2 + SQL 2005 sp2).

La CTX117433 détaille les tables de la base de données EdgeSight, nous apprenons que le fichier Edgesight_FG5.ndf comprend les tables suivantes :

  • FG5 alert : Stability data (errors, faults, hangs, Windows Event Log, hardware errors, and so on).
  • FG5 alert_param*  : Values and strings specific to the Stability data in the alert table.
  • FG5 system_perf  : System performance information including user time peak/total, privileged time, total processor time, data bytes per second, disk time, page faults, reset connections, and so on.
  • FG5 drive_space : Total and available space on agent device hard drives.

En regardant sur notre serveur EdgeSight (qui héberge sa prope base) nous remarquons que la taille du fichier EdgeSight_FG5.ndf (fichier de données secondaire) est  importante (6 Go) pour une ferme xenapp 6 de 8 serveurs.

Nous avons pu constater que ce fichier peut atteindre facilement des dizaines de Go dans certains cas.

En bas de la CTX11433, on comprend mieux pourquoi la base prend autant de place 🙂 .

Effectivement en regardant de plus près côté SQL on s’aperçoit que la table alert se fait plaisir.


Vu que les events de sécurité sont très verbose, l’idéal est de ne pas tous remonter dans EdgeSight.

Depuis la version 5.4, la console EdgeSight (auparavant la version 5.3 ne permettait de le faireque via le registre sur les serveurs directement) permet de limiter le nombre d’events remontés dans EdgeSight.

Dans notre exemple nous sommes radical, reste à affiner cela en fonction de vos besoins

Sinon plus radical (si vous remontez les events par un syslog par exemple) serais de faire un “DELETE FROM alert” sur votre table alert (bon ok la c’est hyper radical 🙂 ).

Post to Twitter

Erreur SQL 2008 R2 : Échec création du plan de maintenance

Cette fois nous avons rencontré un problème de création de plan de maintenance sur un serveur SQL 2008 R2.

Lors de la création du plan de maintenance nous obtenions l’erreur suivante :

Le composant « Agent XPs » est désactivé en raison des paramètres de sécurité définis pour ce serveur. Un administrateur système peut définir l’utilisation du composant « Agent XPs » au moyen de sp_configure. Pour plus d’informations sur l’activation du composant « Agent XPs », voir « Configuration de la surface d’exposition » dans la documentation en ligne de SQL Server. (ObjectExplorer)


On s’aperçoit rapidement que le service “Agent SQL Server” n’est pas lancé 🙁 .

Une fois le service “Agent SQL Server” lancé, le plan de maintenance a pu être créé (sur ce coup on a un peu toutouiller à l’install du SQL 2008 R2 🙂 ).

 

Si vous souhaitez activer

Post to Twitter

Erreur SQL 2005 : Échec de la création du plan de maintenance

Comme tout admin Citrix vous pouvez être amené à administrer (on parle d’administration sql light et non de l’administration d’ un vrai DBA SQL) des serveurs SQL au sein de votre architecture, et bien sûr d’en assurer le support (notamment des bases)  🙂 .

Sur un serveur SQL (qui héberge une base EdgeSight 5.3) 2005 Fr SP2 hébergé sur un Windows 2003 Fr sp2, nous avons rencontré une erreur peu commune lors de la création d’un plan de maintenance (l’erreur était obtenue en passant par le wizard ou à la mano).

TITRE : Progression de l’Assistant Plan de maintenance
Échec de la création du plan de maintenance
INFORMATIONS SUPPLÉMENTAIRES :
Échec de Créer pour JobStep « Sous-plan ».  (Microsoft.SqlServer.MaintenancePlanTasks)
Pour obtenir de l’aide, cliquez sur : http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Créer+JobStep&LinkId=20476——————————
Une exception s’est produite lors de l’exécution d’une instruction ou d’un lot Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
——————————
Le ‘@subsystem’ est non valide (les valeurs correctes sont retournées par sp_enum_sqlagent_subsystems). (Microsoft SQL Server, Erreur : 14234)Pour obtenir de l’aide, cliquez sur : http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=14234&LinkId=20476

La KB909036 de chez MS traite cette erreur (bien qu’au passage nous étions surpris de la méthode de résolution), la résolution consiste au sein de votre serveur SQL à rajouter le composant SQL “intégration Services”.


Une fois le composant “Intégration Services” ajouté, nous avons pu créer un plan de maintenance en passant par le wizard ou à la mano.

 

 

Post to Twitter