¿Existe alguna manera de evitar que los usuarios entren en SQL Server Management Studio para que no puedan simplemente editar las filas de la tabla manualmente? Todavía necesitan acceder a las tablas ejecutando mi aplicación.Cómo deshabilitar SQL Server Management Studio para un usuario
Respuesta
Usted NO necesita preocuparse de ellos que tienen acceso a la herramienta. Simplemente asegúrese de que no conocen ninguno de los inicios de sesión de SQL para las bases de datos específicas que tienen permisos de lectura/escritura, si lo hacen, cambie la contraseña. Si tienen acceso a la base de datos a través de la autenticación de Windows, asegúrese de que estén en una función de lector de datos . Puede usar roles para administrar lo que los usuarios pueden hacer en SQL.
Necesito conectarme a bases de datos y hacer algunas cosas, pero solo con una aplicación interna. No con la administración. –
Le sugiero que bloquee la base de datos y otorgue derechos de lectura (u otros) apropiados al usuario. De esta forma, el usuario puede usar el estudio de gestión para ejecutar consultas selectas y demás.
Si no desea que el usuario tenga ningún derecho, puede hacerlo también.
Si su aplicación solo usó procedimientos almacenados para modificar los datos, podría dar acceso a los usuarios finales para ejecutar los procesos almacenados, pero les denegaría el acceso para modificar las tablas.
- No les hagas saber cuál es el inicio de sesión en la base de datos.
- Si no puede restringir el inicio de sesión, utilice los procedimientos almacenados exclusivamente para las actualizaciones y deshabilite los permisos CREAR, ELIMINAR, INSERTAR o ACTUALIZAR para ese usuario.
Un Application Role le permitirá proteger los objetos de la base de datos a su aplicación en lugar del usuario que ha iniciado sesión.
Estoy de acuerdo con Jon Erickson como regla general
- no permita que cualquier usuario acceder a las tablas, pero sólo permiten el acceso a través de procedimientos almacenados
- no permita usuario general representa el acceso a los procedimientos almacenados, pero solo la cuenta con la que se ejecuta su aplicación (ya sea un inicio de sesión integrado o SQL)
Haga un buen uso de las funciones de la base de datos, si los usuarios solo deben tener acceso SELECT (leer) asígneles la función db_datareader. Incluso si inician sesión usando SSMS, solo podrán ejecutar sentencias SELECT.
Usted puede utilizar el comando DENY VIEW ANY DATABASE para el usuario (s) en particular. Esta es una nueva característica disponible en SQL Server 2008.
Impide que el usuario vea el catálogo del sistema (sys.databases, sys.sysdatabases, etc.) y por lo tanto hace que el DB invisible para ellos en SQL Management Studio (SSMS)
Ejecutar este comando desde la base de datos principal:
DENY VIEW ANY DATABASE TO 'loginName'
El usuario todavía es capaz de acceder a la base de datos a través de su aplicación. Sin embargo, si inician sesión a través de SSMS, su base de datos no aparecerá en la lista de bases de datos y si abren una ventana de consulta, su base de datos no aparecerá en el menú desplegable.
Sin embargo, esto no es infalible. Si el usuario es lo suficientemente inteligente como para ejecutar el comando de consulta:
USE <YourDatabaseName>
entonces verán la base de datos en el Analizador de consultas.
Dado que esta solución te lleva al 90%, le daría a la base de datos un nombre poco conocido que no permitía a los usuarios conocer el nombre de la base de datos.
Si quiere DOWNVOTE, está bien, pero sea lo suficientemente maduro y cortés como para dejar un comentario sobre por qué cree que estoy equivocado. –
No dice que necesitan tener * acceso de solo lectura * a través de su aplicación, dice que no quiere que puedan editar manualmente las tablas a través de SSMS –
Si su aplicación se está ejecutando como una cuenta de servicio/usuario, solo esa cuenta requiere acceso a la base de datos. La cuenta de los usuarios individuales no requiere ningún acceso a la base de datos y, por lo tanto, ni siquiera tendrán acceso de lectura. Tu aplicación será la puerta de entrada a los datos.
Si los usuarios ejecutan la aplicación en sus cuentas de usuario, conceda permiso de solo lectura. Simplemente puede agregarlos al rol db_datareader.
Espero que esto ayude!
Puede denegar los derechos de acceso de los "Usuarios" al archivo ejecutable ssms.exe, otorgando al mismo tiempo los derechos de usuarios/administradores relevantes.
Puede utilizar un disparador.
CREATE TRIGGER [TR_LOGON_APP]
ON ALL SERVER
FOR LOGON
AS
BEGIN
DECLARE @program_name nvarchar(128)
DECLARE @host_name nvarchar(128)
SELECT @program_name = program_name,
@host_name = host_name
FROM sys.dm_exec_sessions AS c
WHERE c.session_id = @@spid
IF ORIGINAL_LOGIN() IN('YOUR_APP_LOGIN_NAME')
AND @program_name LIKE '%Management%Studio%'
BEGIN
RAISERROR('This login is for application use only.',16,1)
ROLLBACK;
END
END;
Esta parece ser la mejor respuesta aquí que aborda directamente la pregunta del OP. – Sturgus
- 1. SQL Server Management Studio
- 2. SQL Server Management Studio falta
- 3. Pruebas unitarias en SQL Server Management Studio
- 4. Drop table en Sql Server por Sql Server Management Studio
- 5. SQL Server Management Studio 2008 Intellisense
- 6. Macros en SQL Server Management Studio
- 7. SQL Server Management Studio Vista de esquema
- 8. Problema con SQL Server Management Studio IntelliSense
- 9. SQL Server Management Studio Express y MySQL?
- 10. SQL Server Management Studio: significado de icono
- 11. ¿Cómo uso BCP o Sql Server Management Studio para obtener datos BLOB de SQL Server?
- 12. ¿Cómo obtener "derechos de administrador" en SQL Server Management Studio?
- 13. Para encontrar el registro de SQL Server 2005 Management Studio
- 14. Código para el complemento de SQL Server Management Studio 2008
- 15. SQL Server Management Studio: ¿atajo para ingresar Fechas?
- 16. ¿Puedo usar SQL Server Management Studio 2005 para 2008 DB?
- 17. Cliente SVN para SQL Server Management Studio 2005
- 18. Intellisense para JOINs en SQL Server Management Studio
- 19. Complemento de SQL Server Management Studio para diagramas
- 20. Visual Studio vs. SQL Server Management Studio: su elección
- 21. Cómo ajustar la palabra en SQL Server Management Studio
- 22. instrucciones de formato SQL en SQL Server Management Studio 2008
- 23. Cómo instalar SQL Server Management Studio 2012 (SSMS) Express?
- 24. Base de datos SQL Azure usando SQL Server Management Studio
- 25. SQL Server 2008 Management Studio: cómo desactivar el indicador SAVE
- 26. ¿Cómo desbloquear la cuenta de usuario en SQL Server 2005 Management Studio?
- 27. ¿Es posible deshabilitar el acceso directo 'shift + space' en SQL Server Management Studio 2008?
- 28. Guardar resultados con encabezados en Sql Server Management Studio
- 29. Alfabeto cirílico con Microsoft SQL Server Management Studio
- 30. Detener que SQL Server Management Studio agregue ANSI_NULLS y QUOTED_IDENTIFIER
¿Es la BD en el mismo equipo? –