Aller au contenu principal Aller au bas de la page

Comment remplacer le propriétaire d'une base de données SQL Server Express LocalDB

Promodag Reports est installé avec SQL Server Express LocalDB, une version simplifiée de SQL Express permettant de créer une base de données SQL locale. L'application crée une instance locale nommée \Promodag. Or, l'accès à l'instance de LocalDB est limité à son propriétaire.

Ceci pose un problème si vous avez utilisé votre propre compte pour créer une base LocalDB et que vos tâches planifiées d'import ou de rapports sont exécutées par un autre compte: dans ce cas, vous obtiendrez un message d'erreur du type "4060 - Cannot open database "<nom de la base de données>" requested by the login. The login failed.

Voici comment attribuer la propriété de la base de données au compte dédié à Promodag Reports.

Installer SQL Server Management Studio

La première étape consiste à télécharger SQL Server Management Studio chez Microsoft et l'installer sur la console Promodag.

Se connecter à l'instance de base de données locale

Ensuite, lancer SSMS en étant connecté avec le compte qui a créé la base de données locale. Le nom de cette instance est : (LocalDB)\Promodag.

Se connecter à l'instance LocalDB Promodag

Créer le login du futur compte propriétaire

Dans le Report Explorer, faire un clic droit sur Security > Logins et créer le login du futur compte propriétaire de la base LocalDB.

Comment créer un nouveau login avec SSMS
  • Dans la section General, recherchez et sélectionnez le nouveau propriétaire. Assurez-vous que la base de données par défaut est définie sur master.
Créer un nouveau login SQL avec SSMS
  • Dans la section Server Roles, sélectionnez public et sysadmin. Cliquez sur OK.
Accorder les autorisations SQL sysadmin au nouveau compte propriétaire

Attribuer les autorisations sur la base de données locale

•    Dans le Report Explorer, Databases, localisez votre base de données LocalDB, cliquez avec le bouton droit de la souris, Properties.

  • Dans la section Files, remplacez le propriétaire actuel par le nouveau login.
  • Dans le Report Explorer, Security > Login, sélectionnez la base de données LocalDB et modifiez le nouveau login. Dans la section User Mapping, localisez votre base de données LocalDB dans la liste et assurez-vous que dbo est défini dans les colonnes User et Default Schema.

Quittez ensuite SSMS.

Attribuer l’accès total au nouveau compte propriétaire sur les fichiers de base de données

La dernière étape consiste à localiser les fichiers .mdf (données) et .ldf (fichier de transactions) de la base de données LocalDB sur le disque de la console Promodag. Par défaut, ces fichiers se trouvent dans le répertoire C:\Users\Public\Documents\Promodag\Databases\.

  • Faites un clic droit sur chacun des deux fichiers, Propriétés et ouvrez l’onglet Security.
  • Cliquez Edit et ajoutez le nouveau propriétaire de la base de données dans la liste des utilisateurs possédant des autorisations sur le fichier.
  • Dans la colonne Allow, sélectionnez Full control et validez par OK.

Evaluez Promodag Reports gratuitement!