How to Check the last restart for DB Server

Rédigé par Sozezzo - - Aucun commentaire


go
-- Last SQL Server instance restart.
SELECT sqlserver_start_time FROM sys.dm_os_sys_info;
go
-- Last SQL Agent Server restart.
SELECT login_time as 'sqlserver_agent_start_time' FROM master.dbo.sysprocesses WHERE program_name = N'SQLAgent - Generic Refresher';
go
-- Last DB windows server restart.
exec xp_cmdshell 'systeminfo | find "Time:"';
go

Tests du SAP Web Service avec WSDL

Rédigé par Sozezzo - - Aucun commentaire

Web service avec SAP PI  +  WSDL  +  Tests

Problématique:

Le SAP rendre disponible des Web Services par PI (Process Integration) pour réaliser des transactions entre les clients et le SAP.

Les clients peuvent être des applications développées sur plusieurs plateformes, en tous cas, pendant le processus du développement du client, il  faut avoir certaines conditions et disponibilités:

  • instance du SAP/PI configuré;
  • bonnes données pour les tests;
  • contrôle du temps de réponse;

Lire la suite de Tests du SAP Web Service avec WSDL

xp_cmdshell

Rédigé par Sozezzo - - Aucun commentaire

We can spawn a Windows command shell and passes in a string for execution. Any output is returned as rows of text. (msdn)
ex:

xp_cmdshell 'dir C:\'


Set configuration

-- --------------------------------
-- Set Configuration
-- --------------------------------
--

-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
--

 

but, we can do more...

Lire la suite de xp_cmdshell

24 juin - Fête du Québec - Jour de migration

Rédigé par Sozezzo - - Aucun commentaire

Je ne suis pas québécois de souche, mais j'aime la fête du Québec.  Si bien que c'était déjà un jour de fête lointainement avant la "découverte de l'Amérique".
Mais, c'est quoi? Qu'on décide de faire au jour de fête du Québec??? On migre des bases de données.
 J'ai préparé quelques jours avant des scripts pour migrer les bases de données. J'ai testé quelques fois et j'ai vérifié la sécurité.
La procédure pour cette migration était la beauté de la simplicité. On copie les bases de données vers le nouveau serveur et on crée un alias avec l'ancien non du serveur. Les applications liées à ce serveur de base de données n'ont pas besoin d'aucun changement.
Mais, c'est quoi? Qu'on fait au jour de fête du Québec???
Je commence à travailler très tôt, 7 heures du matin.
Bizarrement, j'utilise mon compte pour accéder à mon poste, mais je n'ai pas des accès aux serveurs puisque mon compte est "bloqué". Je parle à mon ami à l'informatique de mon problème. Mon ami n'est pas encore à son poste et par la magie de l'informatique, j'accède aux serveurs.  
Finalement, je commence par confirmer avec l'équipe de l'informatique que je n'aurai pas de problème d'accès ou d'interruption.
Tout est bien, alors, je suis la procédure: couper les connexions;  bloquer les utilisateurs; copier les bases de données vers le nouveau serveur; désactiver les anciennes bases de données; demander la création d'alias; restaurer les bases de données; tester les connexions; appeler les intervenants;
 Il est 9 heures du matin.
J'ai deux confirmations, tout est bien, mais il manque une confirmation... ça prend du temps.. Je sens quelque chose dans l'air.
Je suis en ligne, j'ai une demande pour fournir des journalisations de la communication, alors, je suis là. Je prépare une nouvelle séquence de test de la communication.
J'ai des demandes et commentaires bizarres. Par exemple: "L'utilisateur n'a pas les droits d'accès."; "La base de données n'est pas accessible"; ""ça marche sur certains serveurs."; "on peut seulement lire la base de données.";
Je vérifie, je vérifie, je valide;
La journée avance, il n'y a rien que marche. Sans que personne me demande je valide la procédure pour revenir en arrière, j'appelle les intervenants qui avaient donné leurs confirmations pour leur avertir.
Il est 19 heures, je déclenche la procédure de contingence, et on revient l'arrière.  Il n'est pas assez compliqué, il faut seulement changer l'alias. On décide d'éliminer

En écrivant ce texte, je réalise que je suis absurdement naïf. Aucun test n’a été réalisé, et ils ont essayé de migrer la base de données, mettre à jours tous les serveurs en même temps et déplacer le serveur d’host, tout ça, sans tester. Heureusement , je savais du déplacement du serveur, et cela a été rapporter au lendemain.

Mon fils de nouvelles

Rédigé par Sozezzo - - Aucun commentaire

Once upon a time... je voulais avoir une blog loin chez google. Merci, google :). Ça a pris un temps, j'ai commencé avec mon shaarli - toujours actif - et finalement, voilà mon blog indépendant est une réalité, et j'ai ajouté un fil de nouvelle d’un river de shaarlis... justqu'à là c'était bien... oui, sauf maintenant que je passe une bonne partie de mon temps à regarder mon fils de nouvelles. Plein des idées, mais je lis mon fils de nouvelles.

http://www.autonomiepetitapetit.fr/wp-content/uploads/2013/03/Des-nouvelles.jpg

Classé dans : vide - Mots clés : aucun

Jeudi, la journée qui ne veut pas finir...

Rédigé par Sozezzo - - Aucun commentaire

Finalement la crise est finie, le vendredi arrive, j'ai couché très tard, ou très tôt, ça dépend d'où on le voit. J'ai regardé la série "Mad Men - in English of course". Je crois vraiment que la crise est finie, je reçois encore des messages, mais aussi, je reçois le rapport d'avancement avec les courriels.

Dans ma chambre, je suis guide par le soleil, et je garde mes mauvaises habitudes de me réveiller avec le soleil. J'ai eu seulement 4 heures de sommeil. Pas vraiment mauvais,  mais, j'y pense que je peux faire meilleur, peut-être, je vais compenser à la fin de la journée.

J'arrive plus tôt que l'habitude au bureau, j'ai hâte de voir les journalisations, c'est très curieux, les courriels sont arrêtés vers 3 du matin, à l'heure que j'ai couché. En effet, je n'avais plus des courriels depuis cette heure-là. Dans ma tête, je commence à imaginer les possibilités, tel que le service est carrément arrêté, et personne ne m'a appelé, et possiblement, ils ont redémarré une autre version du service. Ou, le service ne marche plus, et il n'y a pas eu une manière pour m'appeler. Ou, hum, moins probable, tout était bien.

Après une trentaine des minutes, je vérifie deux fois, même trois fois, c'était incroyable. Dois-je aussi croire à des miracles? Depuis, 3 heures du matin, tout est très bien, tout est passé comme on attend que ça fonctionne. Je donne les bonnes nouvelles. C'est moment de voir la radio, dans mon cas, c'est voir sur mon ordinateur, et je vais chercher aussi mon thé. Je descends à la cafeteria puisque je dois laver ma nouvelle bouteille de thé. C'est exactement 10:06, je reçois un appel avec la nouvelle "tout est Down !!!". Dans ma tête, "bad joke!". Je prends quelques minutes pour y croire et comprendre. On plonge profondément dans la crise, la crise totale du manque total de communication. Je comprends finalement que tous les environnements sont indisponibles. Après quelques minutes, peut-être, plusieurs quelques minutes, les choses commencent à se placer dans la crise. Je suis décidément naïf, j'ai pensé à "Pour un instant la fin de la crise". La journée achève sans porter de solution, seulement la certitude d'une longue fin de semaine.

Les journées avancent et les problèmes accumulent, je pense que ça ne vaut pas la peine de raconter la misère de ces journées. Nous avons essayé toutes les possibilités.  

Finalement, mardi, on décide de revenir à l'arrière, on annule la prochaine mise à jour. Alors, finalement, mercredi matin, nous sommes avec l'ancienne version. J'hésite à admettre que la communication va bien puisque j'ai eu des cauchemars quand je voulais trouver une solution. Revenir à l'arrière, c'est la solution indésirable parce qu'à la fin nous devrons utiliser la nouvelle version. Finalement, la journée de jeudi a fini.

 

Une journéé comme tant d'autres

Rédigé par Sozezzo - - Aucun commentaire

Tout commence avec un appel quelques journées avant pour vérifier la possibilité d'un arrêt de la communication. La raison? Une petite mise à jour du SAP. J'ai dit "pas de problème.". Incroyable que l'on peut être naïf. Bien sûr, on ne change pas les interfaces, et la couche de communication.

Mercredi matin, je reçois la confirmation pour la programmation d'arrêt de la communication à jeudi au midi quart. Et, des courriels sont envoyés pour confirmer la programmation.

Jeudi

11:00 - je confirme si tout va être correct. Il sera une mise à jour du coeur de PI, cela ne me dit pas grand-chose, c'est juste une mise à jour de version, rien de major.

12:45 - L'heure prévue, la mise à jour n'avaient pas fini. Je devrais croire au mauvais signe.

13:12 - J'ai un appel pour vérifier les messages d'avertissement de faille de communication vers le SAP. Je dis d'attendre à 13:30. J'ai d'autres projets, j'ai une importation des données avec l'add-in.

13:44 - Rien n'a changé. On reçoit des messages et des messages d'avertissement.

14:06 - Le service aux États-Unis ne marche plus, et le service redémarre.

14:10 - Je commence à faire des vérifications approfondies. Le service est en train d'exécuter depuis 4 mois, et le problème a commencé 2 minutes après la fin de la mise à jour du PI. Oui, c'est, bien sûr, une coïncidence. La version du service au Canada fonctionne sans problèmes, on n'a pas des messages d'avertissement. Oui, les apparences peuvent être trempeuses, c'est une journée sans action au Canada, et on a une quantité assez réduite de messages.

14:16 - L'absence de communication est dérangeant, et spécialement que l'on utilise une ancienne version du service de communication. J'essaie d'adapter l'actuelle version du service à la base de données des Était-Unis - erreur #1. Il fallait utiliser la version de janvier.

14:20 - Je vérifie au Canada, il n'y a pas beaucoup de messages, on voit que les messages sont envoyés, doucement, mais on a la communication vers SAP. Je vais tester la communication de données des Était-Unis par le Canada, peut-être, un problème de router, ou de réseau. On arrête la communication du Canada pendant les tests - erreur #2. La communication vers le SAP ne marche plus du Canada.

14:50 - Je n'ai pas réussi d'avoir une version qui marche. Plusieurs démarrages de services et des interfaces du côté du SAP ne donnent rien.

15:16 * La communication du Était-Unix fonctionne. Erreur #3, on pouvait laisser les services fonctionner, la performance est pénible, mais il marche.

16:06 * Au Canada, le service, en mode console vers 20 messages par minute. Peut-être, on a réussi à faire fonctionner la communication. Mais, pourquoi, il marche! Ou il ne marche pas! On ne va jamais le savoir. On continue avec le problème de performance.

17:20 - J'attends les démarrages du côté du SAP prendre effet.

17:43 * On a réussi, la communication ne marche plus au Canada.

18:02 - Ma fille m'appelle, je dois chercher ma fille à 18:30, je suis en retard, on a eu de la pluie, les gens roulent plus lentement, je serai certainement en retard.

18:08 - Je roule vite, je regarde la chaussée mouillée, je pense aux pneus de ma voiture que je dois changer et je n'ai pas le temps pour le faire.

18:18 - Je vérifie si les messages sont envoyés, mais tout est égal, rien n'a changé.

18:39 - Je suis avec ma fille.

18:43 - On décide de vérifier si la communication peut fonctionner du poste de travail.

18:59 - On perd du temps, et les messages accumulent sur la base de données au Canada.

19:00 - On sait que la communication avec le webservice fonctionne, mais le service arrêt avant d'envoyer, pendant le test de connectivité. Je vais éliminer les vérifications de connectivités, alors, je renverse le changement.

19:45 - C'est plus compliqué que l'on pouvait imaginer, il faut renverser les changements, éliminer les nouveaux changements, éliminer les vérifications de connectivité.

20:43 - Le problème est définitivement la vérification de la connectivité quand même cela fonctionne depuis 2011, et on a certainement un changement causé par la mise à jour. Je ne suis pas capable d'identifier le changement du côté du SAP, et je ne serai pas capable de tester sur un autre environnement puisque la production a des versions différends de QA et développement.

22:05 - J'ai une nouvelle version, compilée et testée.

22:10 - Au mon poste, les messages commencent à être envoyés, et on a 1783 messages.

23:00 - La crise est finie, et je commence à écrire...

* C'est 3AM... je dois probablement vérifier mes fautes et la séquence des événements.

How to Script User and Role Object Permissions in SQL Server for Database

Rédigé par Sozezzo - - Aucun commentaire

This article is nice ( we have a little bug ) , and the SQL script is not execute-safe (if you run twice, you have errors ).

It is for a specific database, when you need to save all SQL Server, you must run for each database.

Lire la suite de How to Script User and Role Object Permissions in SQL Server for Database

Fil RSS des articles