Articles high-tech taggés "sql-server"

Fil des billets - Fil des commentaires

Une requête pour lister tous les indexs des tables d'une base SQL Server

Il peut être intéressant d'interroger une base pour afficher tous les indexs des tables. Cette requête peut être très utile et offrir une vue synthétique sur l'optimisaiton en place chez un client ou dans les bases de données sur lesquelles nous travaillons. Cette requête est fonctionnelle sous SQL Server.

La fameuse requête est ce-dessous, elle met donc en avant une information pertinente sur tous les indexs présents dans une base de données SQL Server, avec entre autres les colonnes des bases. WITH liste_indexs      AS (SELECT i_c.[index_id] + i_c.[object_id] AS [IndexId],                 l_t.[name]                       AS [TableName],                 idxs.[name]                      AS [IndexName],                 li.[name]                        AS [ColumnName],                 ...

Lire la suite

Comment désinstaller Reporting Services ?

Vous rencontrez une erreur en désinstallant Reporting Services ? Ce post traite de la procédure de désinstallation de Reporting Services avec un lien vers le site officiel de Microsoft pour opérer la désinstallation proprement.

L'erreur suivante apparaît en désinstallant le composant Reporting Services : "The setup failed to read IIsMimeMap table. The error code is -2147023550."

Deux façons pour désinstaller le composant Reporting Services d'un serveur de base de données ou d'un poste client :

  • Soit relançer le programme d'installation (l'assistant d'installation SQL Server) qui proposera la désinstallation complète du composant Reporting Services, et d'autres composants plus spécifiques d'ailleurs, cette dernière se fera en automatique, c'est à dire de façon assistée par le programme de désisntallation.
  • Il est également possible d'utiliser les lignes de commandes des composants pour supprimer ou modifier une installation existante.

Si vous choisissez de supprimer l'installation complètement alors il faudra effectuer des étapes supplémentaires pour supprimer les fichiers restants : Les bases de données Les fichiers de logs (fichiers journaux) Les fichiers de rapports .RDL (Report Definition File) Les fichiers de Modeles (Model Files .SMDL) Les fichiers de projets Reporting Services fichiers .RPTPROJ) Les solutions (fichiers .SLN) Les jobs ou travaux SQL Agent en attente. Il faudra donc supprimer tous ces fichiers...

Lire la suite

Installer une deuxième instance de base de données sous SQL Server 2005

Lors de l'installation de SQL Server 2005, nous avons le choix entre 2 options, soit installer l'instance par défaut, soit installer une instance nommée. Pour l'installation d'une deuxième instance il faut suivre les étapes suivantes, en fonction de la configuration de SQL Server utilisée.

Pour installer la deuxième instance il est nécessaire de lancer l'installation depuis le CD et installer la nouvelle instance du moteur de base de données (SQL Server Database Engine). Si vous exécutez la version SQL Server Express Edition alors exécutez le programme d'installation une seconde fois et renommer la nouvelle instance avec un autre nom que l'instance par défaut : SQLExpress. Une alternative intéressante si vous ne pouvez pas installer une deuxième instance de base de données, est...

Lire la suite

Comment faire un insert INSERT OR UPDATE sous SQL SERVER

Pour effectuer un insert or update sans obtenir un message d'erreur car la ligne SQL existe déjà. L' erreur rencontrée est la suivante : Msg 2627, Level 14, State 1, Line 1 Violation de la contrainte PRIMARY KEY * . Impossible d'insérer une clé en double dans l'objet *. L'instruction a été arrêtée.

Il existe 2 façons de faire assez simples : Première solution pour Insert or UPdate sous SQL Server 2005 IF EXISTS (SELECT * FROM TABLE WHERE KEY = @KEY) BEGIN UPDATE TABLE SET FIELD1 = 'VALUE1', FIELD2 = 'VALUE2', ... WHERE KEY = @KEY END ELSE BEGIN INSERT TABLE (KEY, FIELD1,FIELD2, ... ) VALUES ('KEY','VALUE1','VALUE2', ... ) END Deuxième solution pour Insert or UPdate sous SQL Server 2005 UPDATE TABLE SET FIELD1 = 'VALUE1', FIELD2 = 'VALUE2', ... WHERE KEY = @KEY IF @@ROWCOUNT = 0 BEGIN...

Lire la suite

Mettre à jour la même table via des requêtes SQL Update en parallèle sous SQL Server ?

Pour des raisons de performances, cette question est récurrente dans les projets à grande volumétrie. Sachant que le Update est l'une des opérations la plus coûteuse en SQL, il est préférable ne pas faire ce genre d'opérations.

Effectivement, la mise à jour d'une même table par des requêtes UPDATE en parallèle en SQL n'est pas optimisée. Il faut pour ce faire découper séquentiellement la table à grande volumétrie, le SELECT étant moins coûteux pour le SGBD. Ainsi si la table à parcourir est découpée en plusieurs "morceaux" de tailles plus petites, le parcours sera moins onéreux en ressources et donc plus rapide. Il en est de même pour un UPDATE avec une jointure sur une autre table, ce qui multiplie le...

Lire la suite

Réduire le fichier de journal des transactions .ldf et le fichier de base de données .mdf sous SQL Server

Si votre bases de données SQL Server est lente ou que l'espace disque devient anormalement faible sur le disque qui contient la base de données ou l'entrepôt de données vous devez alors réduire le journal des transactions et la base. Si vous obtenez ce message "Le journal des transactions de la base de données est plein. Consultez la colonne log_reuse_wait de sys.databases." en essayant de vider les logs, alors il faut inspecter les données de la vue sys.databases dans la base de données et repérer la table qui n'est pas dans l'état NOTHING.

Si vous essayez de lancer un script de type SHRINKDATABASE comme celui -ci : USE DATABASE_EXEMPLE; DBCC SHRINKDATABASE(N'DATABASE_EXEMPLE', 10, TRUNCATEONLY) -- EN utilisant SHRINKDATABASE vous devez mettre à la place de DATABASE_EXEMPLE le nom du fichier de votre base de données sur votre disque, traditionnellement stocké dans le dossier C:\SQL_DATA\USERDB\DBFILE Exemple : DATABASE_EXEMPLE.mdf ALTER DATABASE DWH SET RECOVERY SIMPLE; DBCC SHRINKFILE ('DATABASE_EXEMPLE_log', 1); ALTER DATABASE...

Lire la suite 1 commentaires

- page 1 de 2

Suivez le blog high-tech

  • Logo Twitter
  • Logo Facebook
  • Logo Youtube
  • Logo Fil RSS