Articles

Sécurité SQL Server : Comment créer un utilisateur, le mapper vers une BD et lui assigner des rôles via un script

Pour un utilisateur SQL : /* Ajout d'un compte SQL  à une base de données */ Use master ; Go  IF NOT EXISTS( select * from sys.sql_logins where name='MyLogin')  BEGIN CREATE LOGIN MyLogin with password= XXXXXX, check_policy = off; END GO Use Mydatabase; Go EXEC sp_change_users_login 'Auto_Fix', 'MyLogin' Pour un compte AD : Use master ; Go  IF NOT EXISTS( select * from sys.server_principals where name='Domain\User')  BEGIN CREATE LOGIN [MyLogin] FROM WINDOWS  with  DEFAULT_DATABASE=[MyDatabase]; END GO Use MyDatabase; Go /* Ajout de l'utilisateur [Domain\User] à la base de données */ CREATE USER [Domain\User] FOR LOGIN [MyLogin] ; /* Ajouter le rôle db_owner au compte */ sp_addrolemember 'db_owner', 'Domain\User'

Comment créer une chaîne de connexion

Image
Créez un fichier (.txt. par exemple) et renommer le en  .udl Entrez dans les  propriétés  de ce fichier Sur l'onglet Connection : Renseignez les infos de votre instance SQL Cliquez sur  Test Connection Vous aurez soit un message  d'échec , soit un message de  succès De nouveau, renommer le fichier en .txt qui contiendra la chaîne de connexion

Erreur de renommage d'une base de données

Si on tente de renommer une BD existante, et on obtient l'erreur suivante :  the database could not be exclusively locked to perform the operation ! Lla solution est la suivante : USE [master]; GO ALTER DATABASE Old_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE Old_Name MODIFY NAME = New_Name ALTER DATABASE New_Name SET MULTI_USER

Erreur lors de création d'un projet SSAS tabulaire

Image
Si vous tentez de créer un projet SSAS tabulaire et vous obtenez l'erreur suivante : cannot connect to server localhost . Reason : the workspace database server is not running in tabular mode Cette erreur signifie que votre instance Analysis Services 'localhost' ne fonctionne pas en mode tableau ... et qu'il fonctionne en mode multidimensionnel. La meilleure façon de tester le mode d'installation de la fonctionnalité Analysis Services est de se connecter avec SQL Server Management Studio, on remarquera rapidement que cet outil est configuré comme suit : et si on tente une connexion vers l'instance : localhost\Tabular, on aura un échec. La solution :  est d'nstaller une nouvelle instance de SQL Server Analysis Services avec Mode Tabular par exemple: localhost\Tabular. Ci-dessous quelques étapes : Nouvelle Installation de SQL Server Sélectionner l'outil SSAS Choisir le nom de l'instance Spécifier le mode Ta...

SQL Server Reporting Services (SSRS)

Image
SSRS est la solution Reporting de Microsoft qui permet d'exécuter les rapports depuis un portail web. D'après mon expérience, j'ai été confronté à des problèmes de développement de rapports SSRS, et je décris les différentes manières pour les résoudre ou les contourner : Le rapport est composé d’un tableau dont les cellules sont cliquables. le clic sur une cellule entraîne l'exécution d'un sous-rapport qui permet de remonter les données en mode détail.       Mais : le fait de vouloir plusieurs sous-rappors (un rapport par onglet), n'est possible ! hélas, le clic droit ne marche pas Solution :  Enregistrer le rapport sous format Excel en local. Les cellules sauvegarde les valeurs des paramètres. Lancer le sous-rapport  dans un nouvel onglet est dorénavant possible .

Backup/Restore d'une Base de données

Backup Database : DECLARE @name VARCHAR(50)  -- nom de la base de données DECLARE @path VARCHAR(256) -- chemin du fichier du Backup DECLARE @fileName VARCHAR(256) -- nom du fichier pour le Backup   DECLARE @fileDate VARCHAR(20) -- date du backup DECLARE @SQL NVARCHAR(MAX) -- Renseigner le nom de la base de données à migrer SET @name='Ma_Base' -- Renseigner le répertoire de Backup SET @path = N'C:\mssql\MSSQL.2\MSSQL\Backup\' -- Mettre la base en mode Read_Only pour éviter tout écriture ou mise à jour de la base SET @SQL = 'ALTER DATABASE ' + @name + ' SET READ_ONLY WITH ROLLBACK IMMEDIATE' EXECUTE (@SQL) -- Spécifier le format du nom de fichier SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) SET @fileName = @path + @name + '_backup_' + @fileDate + '_Migration.BAK'  BACKUP DATABASE @name TO DISK=@fileName  WITH  STATS = 10 Restore Database :  -- Renseigner les fichiers physiques et logiques --...

Gestion de sécurité SSRS

Image
SQL Server Reporting services fonctionne avec l'autorisation basé sur le rôle, et un sous-systéme pour attribuer/octroyer/accorder aux utilisateurs/groupes l'accés aux éléments d'un serveur de rapport. chaque utilisateur interagit avec le serveur de rapports dans le contexte d'un rôle qui lui définit ses accés attribués. Reporting services inclut des rôles prédéfinis, qui sont : Content Manager (gestionnaire de contenu) : a la capacité maximale de tout gérer, créer l'arborescence des rapports et les datasources y compris l'attribution de droits à d'autres utilisateurs. Publisher (rôle de publication) a le droit de publier/ajouter des rapports au serveur en plus de la création et gestion des dossiers. Browser (lecteur) a le droit d'exécuter les rapports, voir les dossiers et s'abonner sur des rapports. Report Builder (générateur de rapports)  crée/modifie des rapports dans Report Builder. My report (Mes rapports) a le droit de gérer un espac...