Solution :
Un login serveur doit être associé à un utilisateur de base de données pour effectuer des actions dans la base de données. Les deux sont directeurs d'école dans SQL Server. Dans une chaîne de connexion, la valeur de l'identifiant de l'utilisateur est le nom du login du serveur. Vous pouvez essayer de vérifier les mappages d'utilisateurs pour ce login serveur pour votre base de données actuelle :
USE main_table -- Server database
SELECT
sp.name AS LoginName,
sp.type_desc AS LoginType,
dp.name AS DatabaseUserName,
r.name AS DatabaseRoleName
FROM sys.server_principals sp
LEFT JOIN sys.database_principals dp ON dp.sid = sp.sid
LEFT JOIN sys.database_role_members drm ON drm.member_principal_id = dp.principal_id
LEFT JOIN sys.database_principals r ON r.principal_id = drm.role_principal_id
WHERE sp.name = 'my_user_id' -- Server Login
Notes :
Avec votre chaîne de connexion actuelle, je pense que vous essayez de vous connecter à SQL Server avec l'authentification SQL. Votre login SQL est alors associé à un utilisateur de base de données (le login du serveur n'est pas égal à l'utilisateur de la base de données). Si vous voulez vous connecter en utilisant l'authentification Windows, dans la plupart des cas, il est nécessaire de supprimer l'ID utilisateur et le mot de passe de la chaîne de connexion et d'inclure IntegratedSecurity=true.
0 votes
L'accès est donné à des utilisateurs ou à des groupes. Votre utilisateur est-il un administrateur ? Par défaut, les administrateurs disposent d'un accès complet. Ou peut-être votre login fait-il partie d'un autre groupe qui a accès.
0 votes
Ou bien vérifiez vos rôles de serveur SQL login pour sysadmin ou similaire.
0 votes
Oups, il semble que le compte était effectivement caché à l'utilisateur connecté au serveur SQL. Je me suis dit que le fait que je me connecte en tant qu'utilisateur Windows dans le groupe Administrateurs implique que l'utilisateur est automatiquement l'administrateur du serveur SQL. Eh bien, pas exactement. En tant que tel, je peux créer et supprimer des tables, mais je ne peux même pas consulter les comptes de certains utilisateurs. C'est bizarre. Je comprendrais que mes privilèges soient trop faibles pour changer le mot de passe d'un utilisateur, mais pas pour simplement lister les utilisateurs. J'ai vu l'utilisateur
sa
mais pasthe_user
. Bizarre et peu intuitif. Et maintenant maladroit ;)