Cómo mejorar mis habilidades de resolución de problemas

De acuerdo, no es tan fácil encontrar y resolver un problema crítico en la caja de producción que requiere mucha planificación y evaluación de su entorno actual. Trabajé como DBA durante los últimos 2 años y lo que hice para clasificar un problema es así. Es mi preferencia personal y puede variar mucho.

Cuando ingresé al trabajo, ni siquiera sé qué hace un DBA, mi pensamiento era hacer copias de seguridad periódicas y restaurarlo cuando sea necesario. Pero las cosas son realmente diferentes cuando manejas servidores de producción que tienen diferentes prioridades, SLA, etc.

Espero que el OP tenga una buena experiencia y maneje un entorno muy exigente. Así que omitiendo toda la sección de novatos.

Así que primero verifique y estudie su entorno
1. Para qué sirve, cómo lo utilizan los diferentes usuarios, aplicaciones, aplicaciones de terceros, etc.
2. Documente sus servidores de alta prioridad. Una opción es usar la lista de verificación segura de brad mcgehee DBA aquí (lista de verificación de Brad DBA Sure)
2. Primero cree una línea base para sus servidores de alta prioridad.
El revestimiento base no es una tarea fácil. En mis primeros días de trabajo lo hice, ya que es un poco repetitivo o una tarea aburrida. Entonces, lo que debe contener depende de los datos que necesita analizar. Lo que coleccioné fue
1. Todas las tareas de mantenimiento, duración de la copia de seguridad y restauración, horarios, etc.
2. Uso de datos y archivos de registro semanalmente
3. Siempre sepa cuándo está ocurriendo una carga pesada en la caja de producción (por ejemplo, etl, purga, etc.)
4. Seguridad
5. Carga que puede ser manejada por el servidor, etc.

(La lista puede ser larga y alguien puede ayudar agregando más a esto).

Entonces, con todo esto en su mano, ¿cómo sabrá cuándo ocurre un problema en su servidor? ¿Cómo encontrará cuando los usuarios no pueden conectarse a la base de datos? Si el servidor de producción está inactivo?
Para todos estos una opción es la función de bandeja de entrada en SQL Server es el mecanismo de alerta. Configure alertas para todo tipo de problemas que enfrenta y otros. Obtendrá la mayoría de ellos en alertas que especifican eventos y sus umbrales, o dependerá de scripts personalizados que se implementarán en la caja u otros servidores de utilidad para verificar el estado de los servidores de la base de datos. Cuando se produce una alerta, puede verificar su buzón para encontrar que algo ha ocurrido antes de que un usuario no autorizado informe que no puede conectarse a la base de datos.

En este punto, descubrió que algo malo ha sucedido y la base de datos está inactiva o algo no está bien.
Ahora es el momento para que intervenga un DBA. Si puede encontrar información de la alerta sobre la gravedad y algún mensaje informativo dado por el servidor SQL, puede comenzar desde allí.
Siempre tenga algunos scripts listos en su cinturón de herramientas con usted para verificar el estado y el estado de la base de datos. No es el momento de buscar en Google y encontrar algún script y ejecutarlo en sus servidores de producción. (¡Yo lo hice!).
Con las secuencias de comandos en la mano, puede profundizar en las causas que activaron la alerta. Suponer


“el archivo de registro de la base de datos de ‘test’ está lleno, verifique la columna de espera log_reuse de la base de datos en sys.databases”.

Este es uno de los casos más tratados por un DBA. Entonces puede deducir que la base de datos ha cambiado a modo de solo lectura y necesita resolver esto.
1. Entonces, según lo indicado por Microsoft, consulte la vista de catálogo sys.databases
2. define qué está causando el crecimiento del registro o por qué el registro no se está reutilizando
3. Supongamos que es la copia de seguridad del registro. Compruebe que la copia de seguridad del registro se realiza regularmente o en un estado bloqueado.
4. Compruebe si un archivo de registro se ha disparado, puede verificarlo con la línea de base que tiene con usted
5. Realice los pasos correctivos según la situación.
6. Después de resolver, haga un RCA para encontrar el crecimiento del registro o por qué no se realizó la copia de seguridad del registro.

(Descargo de responsabilidad: los pasos mencionados anteriormente se utilizan para mostrar cómo resolver o cosas que primero deben venir a su mente. No se debe utilizar en una producción o resolver el mismo error).

Entonces, mi punto es estar alerta y tener un buen mecanismo de alerta y tener herramientas en su haber para solucionar la mayoría de la situación o clasificarla. Siempre actualícese y use diferentes DMV para verificar y estudiar cómo interpretarlo. Dado que algunos dmv solo darán valores y usted debería familiarizarse con ellos para usarlos correctamente o nos dirigirá a direcciones incorrectas. Desde mi punto de vista, nadie puede dar una lista directa o instrucciones paso a paso para resolver problemas críticos. No hay panacea para esto.

Espero que esto dé una idea de cómo verificar o responder cuando ocurre un problema crítico o comenzar desde cero. También doy la bienvenida a otros para que me corrijan si hay algún error con alguna de las opciones que enumeré, también enumere otras estrategias o MO en los comentarios o como respuestas.