Comment faire pour désactiver SQL Server Management Studio pour un utilisateur
Est-il un moyen pour empêcher les utilisateurs d'entrer dans SQL Server Management Studio, de sorte qu'ils ne peuvent pas modifier les lignes de la table manuellement? Ils ont encore besoin d'accéder aux tables par l'exécution de mon application.
Est la DB sur la même machine?
OriginalL'auteur Jeff Stock | 2009-05-22
Vous devez vous connecter pour publier un commentaire.
Vous NE PAS besoin de s'inquiéter à propos de leur avoir accès à l'outil. Assurez-vous simplement qu'ils ne savent pas tout de connexions SQL pour les Bases de données spécifiques qui ont des autorisations de lecture/écriture, s'ils le font, modifier le mot de passe. Si elles ont accès à la base de données via l'Authentification Windows, assurez-vous qu'ils sont dans un datareader rôle. Vous pouvez utiliser les rôles pour gérer ce que les utilisateurs peuvent faire en SQL.
OriginalL'auteur RSolberg
Vous pouvez utiliser le REFUSER LA VUE DE TOUTE LA BASE DE DONNÉES de commande pour l'utilisateur particulier(s). C'est une nouvelle fonctionnalité disponible dans SQL Server 2008.
Il empêche l'utilisateur de voir le catalogue du système (sys.les bases de données, sys.sysdatabases, etc.) et rend donc le DB invisible dans SQL Management Studio (SSMS).
Exécuter cette commande à partir de la Base de données:
L'utilisateur pourra toujours accéder à la base de données par le biais de votre application. Toutefois, si elles se connectent via SSMS, votre base de données n'apparaîtront pas dans la liste des bases de données et si ils ouvrent une fenêtre de requête, votre base de données n'apparaissent pas dans la liste déroulante.
Cependant, ce n'est pas infaillible. Si l'utilisateur est assez intelligent pour exécuter la Commande de Requête:
Puis ils vont voir la base de données dans l'Analyseur de Requêtes.
Puisque cette solution est de prendre de 90% il y, je donnerais la base de données obscur nom pour ne pas permettre aux utilisateurs de connaître le nom de la base de données.
Cela ne veut pas dire qu'ils ont besoin d'avoir en lecture seule accès par le biais de leur application, il dit qu'Il ne veut pas d'eux pour être en mesure de modifier manuellement les tables par le biais de SSMS
OriginalL'auteur Jose Basilio
Je vous suggère de verrouiller la base de données et de lecture seule (ou d'autres) droits à l'utilisateur. De cette façon, l'utilisateur peut toujours utiliser la gestion de studio pour exécuter des requêtes select et.
Si vous ne voulez pas que l'utilisateur possède des droits à tous, alors vous pourriez le faire aussi bien.
OriginalL'auteur Jon Erickson
Vous pouvez utiliser un déclencheur.
https://www.sqlservercentral.com/Forums/1236514/How-to-prevent-user-login-to-SQL-Management-Studio-#bm1236562
Existe-il des problèmes de performances associés à cette solution?
Pas pour autant que je sais. Le SÉLECTIONNER, à des séances de tables est faite par le cluster de la clé d'index, de sorte qu'il ne d'un index de recherche.
OriginalL'auteur Tanner Ornelas
Si votre application est en cours d'exécution en tant que service/compte d'utilisateur, puis seulement ce compte nécessite un accès à la base de données. L'individu le compte de l'utilisateur ne nécessite pas l'accès à la base de données et, par conséquent, ils ne ont même pas d'accès en lecture. Votre application sera la passerelle de données.
Si les utilisateurs sont de l'exécution de l'application, en vertu de leurs comptes d'utilisateurs puis leur accorder l'autorisation en lecture seule. Vous pouvez tout simplement les ajouter à la db_datareader rôle.
Espérons que cette aide!
OriginalL'auteur Keplerf1
Si votre application utilisée uniquement à des procédures stockées pour modifier les données, vous pouvez donner l'accès aux utilisateurs à exécuter la stockées procs, mais leur interdire l'accès pour modifier les tables.
OriginalL'auteur David
OriginalL'auteur Joel Coehoorn
Un Rôle D'Application vous permettra de sécuriser les objets de base de données pour votre application à la place de l'utilisateur connecté.
OriginalL'auteur Martin Brown
Vous pouvez refuser les "Utilisateurs" des droits d'accès à la ssms.exe fichier exécutable, alors que l'émission des utilisateurs/administrateurs des droits de l'.
OriginalL'auteur Tony
Je suis d'accord avec Jon Erickson en règle générale
OriginalL'auteur Jesse C. Slicer
De rendre l'utilisation des Rôles de Base de données, si les Utilisateurs ne devraient avoir SÉLECTIONNER (lire) l'accès de leur attribuer la db_datareader Rôle. Même si ils se connectent à l'aide de SSMS ils peuvent exécuter que des instructions SELECT.
OriginalL'auteur john84