Cliente MS SQL que proporciona el modo de solo lectura

Tengo una base de datos MS SQL con algunos datos muy, muy sensibles. Si algo se rompe, la mitad del planeta caerá en el caos. Casi :-).

Tengo un usuario de base de datos con algunos permisos restringidos, pero no lo suficientemente restringidos, podría causar algún daño si cometo un error. Básicamente, solo necesito hacer una SELECCIÓN de algunas tablas con una clasificación, filtrado, unión, etc., así que me gustaría usar algún software de cliente (estoy acostumbrado a HeidiSQL). Sin embargo, tengo mucho miedo de hacer un clic estúpido en un botón incorrecto y dañar los datos.

¿Hay alguna forma de restringir mis propios permisos para una sola sesión de base de datos? ¿O hay alguna herramienta segura que proporcione el modo de solo lectura? HeidiSQL no lo hace, desafortunadamente.

Respuestas (1)

Creo que la única forma segura de hacer esto es del lado de DBMS. Como dijiste, algún usuario podría hacer algo mal por accidente, o peor aún, podría hacer algo mal a propósito. En SQL Server, puede agregar el usuario al db_datareaderrol que solo le permite hacer lo siguiente SELECT:

Los miembros de la función de base de datos fija db_datareader pueden ejecutar una instrucción SELECT en cualquier tabla o vista de la base de datos.

Puede crear un nuevo usuario con ese rol ejecutando el siguiente comando en el servidor de la base de datos:

exec sp_addrolemember 'db_datareader',YourLogin

Ver:

Con este usuario restringido, puede permitir que otros usuarios exploren los datos con cualquier cliente, como HeidiSQL, sin que puedan cambiar nada en la base de datos.

¡Gracias por su respuesta! Sin embargo, esto no es lo que realmente estaba buscando... Gracias de todos modos.