lundi 9 juillet 2012

[SQL] : Récupérati​on du rôle SysAdmin SQL Server

Un cas de figure qui se présente souvent quand on récupère une machine qui possède une instance SQL Server version 2008 ou ultérieur, c'est de ne pas pouvoir s'y connecter et cela malgré le fait qu'on est Admin Local.
Pour pouvoir se rajouter les droits SysAdmin sur l'instance, il faut suivre les étapes suivantes, le seul près-requis c'est d'avoir les droits d'admin local sur la machine, les étapes se résument en quatre:

1- Arrêt du service SQL Server, le nom du service est MSSQLSERVER pour une instance par défaut et MSSQLSERVER$NomInstance pour une instance nommée :
net stop MSSQLSERVER

2- Démarrage du service mssqlserver en mode mono :
net start MSSQLSERVER /M

3- Lancement du SQLCMD pour se rajouter les droits SysAdmin :
EXEC sp_addsrvrolemember 'domaine\utilisateur', 'sysadmin';
GO

4- Redémarrage mssqlserver en mode normal :
net stop MSSQLSERVER
net start MSSQLSERVER

Bonne récupération...

jeudi 9 février 2012

[SSRS] : Désactiver le Report Manager

Parmi les nouveautés qu'avait apporté la version 2008 de Reporting Services en terme de configuration, la désactivation de l'accès au Report Manager et ainsi n'exposer aux utilisateurs que le ReportViewer (Url par défaut http://localhost/reportserver).

La désactivation du report manager se fait via le fichier de configuration rsreportserver.config, à travers la propriété IsReportManagerEnabled, cette propriété étant à True par défaut, il faut la passer à Flase:


<IsReportManagerEnabled>True</IsReportManagerEnabled>

Une fois désactivé, l’accès au Report Manager renvoi le message d'erreur suivant :

Il faut noter que cette opération ne nécessite pas de redémarrage du service RS.

lundi 6 février 2012

Suppression automatique d'un Job SQL Agent

Dans SQL Agent, il est possible de configurer un Job pour une suppression automatique après exécution. Pour cela il faut aller dans les propriétés du Job, dans l'onglet "Notifications" cocher "Automatically delete job" avec la possibilité de le faire après succès, échec ou tout simplement exécution du Job.


Cela peut être utile pour la réalisation de certaines tâches ponctuelles.

mercredi 25 janvier 2012

[SQL] Récuperation du script de modification de tables

Un petit post rapide pour voir comment récupérer le script de modification d'une table (renommage de colonne, modification de type de données ou ajout de colonne...).
Pour cela, il faut ouvrir la table en mode création, faire la modification et puis cliquer sur la petite icône entourée en rouge :



Et le script généré par la modification s'affiche, cela peut être utile pour industrialiser les modifications de tables ou tout simplement connaître le comportement d'SQL Server suivant le type de modification (ALTER, DROP, SP_RENAME,...).


Par exemple, le fait de mettre un champs en IDENTITY passe obligatoirement par un DROP TABLE. 

[SQL] Dépendance entre tables et foreign Key

Voici une petite requête SQL pour récupérer la liste des tables référencées par des clés étrangères dans une table donnée:
 
SELECT tf.name AS 'Table_Principale',tp.name AS 'Table_Referencee', fk.name AS 'ForeignKey'
FROM sys.foreign_key_columns fkc
INNER JOIN sys.foreign_keys fk
      ON fkc.constraint_object_id = fk.object_id
INNER JOIN sys.tables tf
      ON tf.object_id = fkc.parent_object_id
INNER JOIN sys.tables tp
      ON tp.object_id = fkc.referenced_object_id
WHERE tf.name = 'NomDeLaTable'


Pour l'utiliser il suffit de remplacer dans la clause WHERE 'NomDeLaTable' par le nom de la table que vous voulez.

Cela peut être utile pour désactiver les contraintes d'intégrités ou tout simplement connaître les relations entre les tables.

vendredi 6 janvier 2012

[SQL 2012] : SQL Server Data Tools (ex Juneau)


SQL Server Data Tools (SSDT) est un nouvel outil de développement apporté par SQL Server 2012 dans l'optique d'unifier les outils de développement SQL et d'améliorer la productivité des développeurs.

Avec SSDT, vous développez une seule fois et vous pouvez déployer sur plusieurs plates-formes : SQL Server 2005/2008/2012 ou encore SQL Azure.

SSDT apporte plusieurs fonctionnalités digne d'un outil de développement et qui simplifie la vie aux développeurs, à savoir:

dimanche 25 décembre 2011

[SQL 2012] : Activation et utilisation du FileTable

La fonctionnalité FileTable apporte une prise en charge de l'espace de noms de fichier Windows et la compatibilité des applications Windows avec les données de fichier stockées dans SQL Server.

FileTable permet à une application d'intégrer ses composants de stockage et de gestion des données, et fournit des services SQL Server intégrés (notamment la recherche sémantique et en texte intégral) sur des données et des métadonnées non structurées.
En d'autres termes, vous pouvez maintenant stocker des fichiers et des documents dans des tables spéciales dans SQL Server, appelées FileTables, mais y accéder à partir d'applications Windows comme si ils avaient été stockés dans le système de fichiers, sans apporter de modifications à vos applications clientes.

La fonctionnalité FileTable s'appuie sur la technologie SQL Server FILESTREAM.
Les étapes de mise en place du FileTable sont:

vendredi 23 décembre 2011

[SSIS] : Limitation Expressions à 4000 caractères

Lorsque l'on veut construire une longue requête SQL ou une commande XMLA... de façon dynamique, beaucoup d'entre nous ont été confronté à la limitation des expressions SSIS à 4000 caractères et ont dû la contourner.

Cette limitation qui est présente jusqu'à la version 2008 R2, disparaîtra dans la nouvelle version SQL 2012 (d'après les tests de la CTP3).

vendredi 7 octobre 2011

[SSRS] : Afficher le nombre de page dans le Gestionnaire de rapport

Si comme moi vous vous êtes demandé en affichant un rapport pourquoi le nombre de pages = 2? et bah sachez qu'il ne s'agit pas d'un beug mais de la configuration par défaut de la propriété PageCountMode du fichier de configuration SSRS.


Cette propriété qui concerne seulement le Gestionnaire de rapport spécifie si le serveur de rapports calcule le nombre de pages avant le rendu du rapport ou pendant l'affichage de ce dernier.

[SSRS] : Désactiver l'accès à Report Builder

Le Générateur de rapports ou Report Builder est un outil de création de rapports ad hoc qui s'installe avec un serveur de rapports SQL Server Reporting Services (SSRS) configuré pour le mode natif ou pour le mode d'intégration SharePoint (msdn).


L'accès au Report Builder (depuis le Report manager) est par défaut activé et pour le désactiver il suffit de changer la valeur de la propriété EnableReportDesignClientDownload.

Cette propriété est accessible en se connectant au serveur de rapports depuis management studio (SSMS), click droit Propriétés et dans la page "Avancé" mettre la valeur de la propriété EnableReportDesignClientDownload à False.