web-dev-qa-db-fra.com

Critiques minimales sur SQL Server pour se connecter via Power BI Bureau

Remarque: Il ne s'agit pas d'une question de puissance BI, il s'agit d'un problème de créditif DB.

Dans le Power BI Bureau, j'essaie de vous connecter à une base de données, mais je souhaite seulement que cet utilisateur ait sélectionné l'accès.

J'ai un utilisateur qui est un "sysadmin" sous le rôle de serveur et qui fonctionne. Mais c'est trop d'autorisations.

J'ai créé un nouvel utilisateur et lui a donné des propriétés de connexion> Rôle de serveur = "Public", puis entré dans la base de données dont j'ai besoin et lui a donné l'adhésion> db_datreader. Je pensais que cela fonctionnerait, mais ça ne le fait pas. Lorsque je me connecte à SSMS comme utilisateur et essayez d'interroger cette base de données, il est indiqué "La base de données {nom} n'est pas accessible." Dans Power BI, l'erreur se lit comme suit: "Nous ne pouvions pas authentifier avec les informations d'identification fournies. Veuillez réessayer".

Power BI utilisateurs: Oui, je suis sur l'onglet Données de la base de données, pas l'onglet Windows.

3
hurleystylee

J'ai fait un test SQL de test, créé l'utilisateur de test dans une base de données de test que j'ai créée et l'accédez à des scripts, et cela a fonctionné sans problème. Sompruez les noms d'utilisateur et les noms de base de données pour votre application et signalez-vous sur ce qui se passe lorsque vous commencez frais. Cela pourrait être aussi simple que vous utilisez un ancien utilisateur qui est orphelin à d'autres problèmes afin de commencer frais pourrait vous aider à l'isoler.

Remarque Si vous utilisez ceci pour la production, vous voulez probablement supprimer "check_policy = off ', ce qui vous permet d'avoir des mots de passe qui ne sont pas conformes à votre stratégie Windows.

Cela crée l'utilisateur dans SQL Server :

USE [master]
GO
CREATE LOGIN [test] WITH PASSWORD=N'test', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO

Cela le crée dans la DB et l'ajoute à la liste DataReader :

USE [test]
GO
CREATE USER [test] FOR LOGIN [test]
GO
USE [test]
GO
ALTER ROLE [db_datareader] ADD MEMBER [test]
GO
2
Ali Razeghi