SQL Reference

By Frederic JOFES and Co.

Catégorie : Procédure (Page 1 of 2)

Rename an SQL Server instance

 Avant de renommer un serveur SQL, il est indispensable d’effectuer l’operation suivante sur le moteur de base de données :

1/ Instance par defaut

sp_dropserver <old_name>
GO
sp_addserver <new_name>, local
GO

1 bis/ Instance nommée

sp_dropserver <'old_name\instancename'>
GO
sp_addserver <'new_name\instancename'>, local
GO

Changer le nom du serveur (poste de travail/Propiétés système)

redemarrer le server

Control du nouveau nom

SELECT @@SERVERNAME AS ‘Server Name’

Sous dos :

hostname

Reinstall MSDTC

 »

  1. Dans Outils d’administration, ouvrez Services, puis arrêtez tous les services.
  2. Dans la colonne Type de démarrage, mettez tous les services en démarrage Manuel, à l’exception de ceux de la liste suivante.Remarque Nous vous recommandons de noter les services que vous modifiez pour pouvoir les restaurer correctement à l’étape 7.
    • Avertissement
    • Système d’événements de COM+
    • Explorateur d’ordinateurs
    • Client de suivi de lien distribué
    • Client DNS
    • Journal des événements
    • Services IPSEC
    • Gestionnaire de disque logique
    • Messenger
    • Ouverture de session réseau
    • Fournisseur de la prise en charge de sécurité LM NT
    • Connexions réseau
    • Plug-and-Play
    • Appel de procédure distante (RPC)
    • Localisateur d’appels de procédure distante (RPC)
    • Stockage amovible
    • Gestionnaire de comptes de sécurité
    • Serveur
    • Notification d’événement système
    • Planificateur de tâches
    • Assistance NetBios TCP/IP
    • WMI (Windows Management Instrumentation)
    • Extensions du pilote WMI
    • Temps Windows
    • Station de travail
  3. Fermez Services, puis redémarrez votre ordinateur.
  4. À l’invite de commandes, tapez la commande suivante :
    %WINDIR%\System32\msdtc.exe -uninstall
  5. Démarrez l’Éditeur du Registre, puis supprimez les clés de Registre suivantes si elles existent :
    • HKEY_CLASSES_ROOT\CID
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSDTC
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MSDTC
    • HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC
  6. À l’invite de commandes, tapez %WINDIR%\System32\msdtc.exe -install.
  7. Attendez la fin de l’activité disque, puis redonnez le type de démarrage d’origine aux services que vous avez modifiés.
  8. Dans le Registre, créez la clé de Registre suivante :
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL
  9. À l’invite de commande, tapez regsvr32 mtxoci.dll.Un message indiquant que DllRegisterServer s’est correctement enregistré dans Mtxoci.dll s’affiche. Cliquez sur OK pour fermer le message.
  10. Redémarrez votre ordinateur.
  11. À l’invite de commandes, tapez %WINDIR%\System32\msdtc.exe -resetlog.

« 

Processus de Windows

Vous vous demandez certainement quels sont tous ces horribles processus qui tournent quand vous ouvrez le gestionnaire des tâches…

Ici, une tentative d’explication :

Csrss.exe
Csrss signifie Client Server Run-time Subsystem.
C’est un sous-système essentiel qui doit fonctionner en permanence. Csrss gère les applications consoles, la création et la destruction de threads et quelques parties de l’environnement 16 bits virtuel MS-DOS.

Explorer.exe
Il s’agit de l’interface de votre bureau Windows, de la barre des tâches, etc… Ce processus n’est pas vital pour le système ( vous pouvez tout à fait l’arrêter pour le relancer via le gestionnaire des tâches – ouvrir puis tapez explorer.exe), par contre si vous l’arrêtez, méfiez-vous, vous n’aurez plus que votre fond d’écran.

Lsass.exe
Il s’agit du serveur local d’authentification de sécurité.
C’est lui qui est à l’origine du processus responsable de l’authentification des utilisateurs par le service Winlogon.
Si l’authentification est réussie, Lsass génère le « jeton » d’accès de l’utilisateur qui est utilisé pour lancer le shell initial.
D’autres processus que l’utilisateur peut lancer vont hériter de ce « jeton ».

Mstask.exe
C’est le service de planification de tâches, il est responsable du lancement des tâches à un instant précis que vous aurez choisi.

Smss.exe
Il s’agit du sous-système de gestion de session (Session Manager Subsystem).
Il est responsable du démarrage de la session utilisateur.
Ce processus est responsable de différentes activités dont le lancement des processus Winlogon et Win32 (csrss.exe) et du positionnement des variables système.
Après qu’il ait lancé ces processus, il attend que Winlogon ou Csrss se termine. Si cela se produit normalement, le système s’arrête.

Spoolsv.exe
Ce processus est responsable de la gestion des travaux d’impression et de fax…

Svchost.exe
Il s’agit d’un processus générique, il fonctionne en tant qu’hôte pour d’autres processus tournant à partir de Dlls, il peut y avoir plusieurs entrées pour ce processus.

Services.exe
Il s’agit du gestionnaire de contrôle des services (Service Control Manager).
Il est responsable du démarrage et de l’arrêt ainsi que de l’interaction avec les services système.

System
La plupart des threads du mode noyau fonctionnent en tant que processus System.

System Idle Process
Ce processus est un threads unique qui fonctionne sur chaque processeur, sa seule fonction est d’occuper le processeur lorsque le système ne fait tourner aucune autre thread.

Winlogon.exe
Il s’agit du processus responsable de gérer l’ouverture et la fermeture de session.
Winlongon est actif uniquement lorsque l’utilisateur appuie sur CTRL+ALT+DEL, à ce moment il affiche la boite de sécurité.

Winmgmt.exe
C’est un composant noyau de la gestion des clients sous Windows 2000.
Ce processus s’initialise lorsque la première application cliente se connecte.
Il correspond au service WMI qui permet de minuter par exemple des ressources sur la machine (mémoire, disque …)

Ces processus tournent généralement en n’utilisant qu’une petite partie de l’UC. Si vous constatez que l’un d’entre eux en utilise une trop grande partie, tournez vous alors vers un scan antivirus ou anti-adware.

__________________________________________________________________________

Voir les processus de Windows

Tasklist
Tasklist est un outil en ligne de commande fourni avec Windows.
Ouvrez une fenêtre Dos et tapez: tasklist pour voir la liste des processus.
(Ou bien: tasklist > liste.txt pour obtenir la sortie dans un fichier texte.)

tasklist /M vous indiquera les DLL utilisées par chaque processus.
tasklist /SVC vous permet de savoir à quels services correspond chaque exécutable présent en mémoire (s’il s’agit d’un service).

Repair a corrupted database

Causes :

A page is considered « suspect » when the SQL Server Database Engine encounters one of the following errors when it tries to read a data page:

  • An 823 error that was caused by a cyclic redundancy check (CRC) issued by the operating system, such as a disk error (certain hardware errors)
  • An 824 error, such as a torn page (any logical error)
  • On peut voir dans la table suspect_pages de la base msdb la liste des erreurs de ce type

Résolution :

Vérification de l’etat de la base :

SELECT DATABASEPROPERTYEX (‘PUBS’, ‘STATUS’) AS ‘Status’;
GO

SELECT state_desc, user_access_desc FROM sys.databases WHERE name=‘PUBS’

Permet de supprimer le flag de base suspecte dans la base Master :

EXEC sp_resetstatus ‘PUBS’

Pré-requis : 

Nécessite de pouvoir modifier les bases systèmes grâce à la commande suivante :

sp_configure ‘allow updates’, 1

GO
RECONFIGURE WITH OVERRIDE

Et nécessite également que la base soit en mode urgence :

ALTER DATABASE PUBS SET EMERGENCY

Dans un environnement en cluster, vérifiez la valeur de la variable d’anvironnement :

_CLUSTER_NETWORK_NAME_ set = EXCLUSTER

Si la base est suspecte après restauration du a un problème d’espace utiliser :

sp_add_data_file_recover_suspect_db

sp_add_log_file_recover_suspect_db

Essayer de reconstruire le fichier de log de 2 facons :

EXEC sp_attach_single_file_db @dbname = ‘AdventureWorks’,     @physname = N’C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\AdventureWorks_Data.mdf’;

DBCC CHECKDB (‘PUBS’, REPAIR_ALLOW_DATA_LOSS)

Verif de base avant mise a dispo de la base :

DBCC CHECKDB

DBCC CHECKALLOC

DBCC TEXTALL

DBCC TEXTALLOC

performance counter thresholds

 Objet  Compteur Valeur 
 Memory  Available MB  Moyenne > à 10 Mb
 Pages/sec  Moyenne < à 50
 Pages faults/sec
 Pages input/sec
 Pages output/sec
 SQLServer: Buffer Manager  Buffer cache hit ratio  Moyenne >=  à 90%
 Free pages  Minimum > à 640
 SQServer : Memory Manager  Memory Grants Pending  Moyenne = à 0
 Target Server Memory (KB)  Doit être proche de la mémoire physique allouée à SQL Server.

If this counter is still growing the server has not yet reached its steady-state, and it is still trying to populate the cache and get pages loaded into memory.  Performance will likely be somewhat slower during this time since more disk I/O is required at this stage.  This behavior is normal.  Eventually Total Server Memory should approximate Target Server Memory.

 Total Server Memory (KB)  Doit être proche de la mémoire physique du serveur
 PhysicalDisk  %DiskTime  Moyenne < à 5%
 Current Disk Queue Length  Moyenne < à 2 par disque
 Avg. Disk Queue Lenght  Moyenne < à 2 par disque
 Disk Transfers/sec  Valeur maximale < à 100
 DiskBytes/sec  Valeur maximale < à 10 MB/sec
 Processor  % Processor Time  Moyenne < à 90%
 % Privileged Time  Moyenne < à 10%
 System Processor Queue Length  Moyenne < à 2
 Context Switches/sec  Moyenne < à 1000 par processeur
 Network Interface (Network card)  Bytes Total/sec  Moyenne < à 50% de la capacité NIC
 Network Segment  % Net Utilization  Moyenne < à 80% de la bande passante
 SQLServer : Access Methods  FreeSpace Scans/sec
 Full Scans/sec 1 full scan pour 1000 index searches
 SQLServer : Latches  Total Latch wait Time (ms)  (Total Latch Wait Time) / (Latch Waits/Sec) < 10
 SQLServer : Locks (_Total)  Lock TimeOuts/sec
 Lock Wait Time (ms)  

Note: For “Lock Wait Time” it is recommended to look beyond the Avg value.  Look for any peaks that are close (or exceeds) to a wait of 60 sec.   Though this counter counts how many total milliseconds SQL Server is  waiting on locks during the last second, but the counter actually records  at the end of locking event.  So most probably the peaks represent one huge locking event.  If those events exceeds more than 60seconds then they may have extended blocking and could be an issue. In such cases, thoroughly analyze the blocking script output. Some applications are written for timing out after 60 seconds and that’s not acceptable response for those applications.

 Number of Deadlocks/sec  < 1
 SQLServer : SQL Statistics  Batch Requests/sec  < 20 Page Splits/sec pour 100 Batch Requests/Sec

Over 1000 batch requests per second indicates a very busy SQL Server, and could mean that if you are not already experiencing a CPU bottleneck, that you may very well soon

From a network bottleneck approach, a typical 100Mbs network card is only able to handle about 3000 batch requests per second. If you have a server that is this busy, you may need to have two or more network cards, or go to a 1Gbs network card.

 SQL Re-compilations/sec  < 10% of the number of SQL Compilations/sec
 SQLServer : General Statistics  User Connections  Note: It is recommended to review this counter along with “Batch Requests/Sec”.   A surge in “user connections” may result in a surge of “Batch Requests/Sec”.  So if there is a disparity (one going up and the other staying flat or going down), then that may be a cause for concern. With a blocking problem, for example, you might see user connections, lock waits and lock wait time all increase while batch requests/sec decreases.
 Objet  Compteur Valeur 
 SQLServer:Access Methods  Forwarded Records/sec  < 10 per 100 Batch Requests/Sec
 
 Index Searches/sec  1 full scan pour 1000 index searches
 
 Page Splits/sec  < 20 par 100 Batch Requests/Sec
 SQL Server:Buffer Manager  Free list stalls/sec  < 2
 
 Lazy Writes/Sec  < 20
 
 Page Life Expectancy  > 300
   Page lookups/sec  (Page lookups/sec) / (Batch Requests/sec) < 100
 Page reads/sec  < 90
 Page writes/sec  < 90
 SQLServer:General Statistics  Logins/sec  < 2
 Logouts /sec  < 2
 SQL Server:Latches  Latch Waits/sec  (Total Latch Wait Time) / (Latch Waits/Sec) < 10
 SQL Server:Locks  Lock Waits/sec  0
 SQLServer:SQL Statistics  SQL Complilations /sec  < 10% of the number of Batch Requests/Sec

Find a string in entire database

Lorsque l’on cherche a savoir si une occurrence existe dans une base de données, chemin reseau, Nom d’utilisateur, produit…
Cette procédure permet de rechercher l’ensemble des occurrences dans toute la base de données spécifié en paramètre :

Lire la suite

How optimize a storage procedure ?

Cette procédure décrit l’ensemble des actions possibles pour optimiser une procédure stockée :

Lire la suite

Space used by datafiles for a database

Script de visualisation des espaces occupés et alloués

Lire la suite

Sp_who3

Une version améliorée du sp_who2 standard

Lire la suite

Process : Who is active ?

Procédure déoppée par Adam Machanic basée sur sp_who

Lire la suite

Page 1 of 2

Fièrement propulsé par Fred & Co.