Vous êtes sur la page 1sur 5

MEJORES PRCTICAS PARA SER UN DBA

DA A DA

Compruebe los registros de eventos del S.O. y los registros de SQL Server para
detectar eventos inusuales.
1.

Verifique que
correctamente.

2.

Confirme que las copias de seguridad se han hecho y guardado con xito a
un lugar seguro.

3.

Monitoree el espacio en disco para asegurarse de que sus servidores de


SQL no se quedarn sin espacio en disco. Para un mejor rendimiento, todos
los discos deben tener 15% o ms de espacio libre.

4.

A lo largo del da, haga un seguimiento peridico de rendimiento utilizando


Monitor de sistema y de perfiles / Traza de SQL.

5.

todos

los

trabajos

programados

se

han

ejecutado

Monitorear regularmente e identificar problemas de bloqueo.

6.

Mantenga un registro de los cambios que realice a los servidores,


incluyendo la documentacin de los problemas de rendimiento a identificar y
corregir.

7.

Crear alertas de SQL Server para que le avise de posibles problemas, y las
enve por mail. Tomar las medidas necesarias.

8.

Regularmente restaure copias de seguridad en un servidor de prueba para


verificar que realmente los puede restaurar. No es necesario para restaurar
todas las copias de seguridad todos los das, pero debiera hacerlo a menudo
para asegurarse de que usted tiene buenas copias de seguridad.

9.

Tmese su tiempo para aprender algo nuevo como un DBA para promover
su desarrollo profesional.

INSTALACIN

1.

Siempre documente las instalaciones de modo completo, aun cuando


parezca redundante, esto har que las instancias de SQL Server se pueden
reproducir fcilmente en caso de emergencia.

2.

Si es posible, instalar y configurar todas las instancias de SQL Server de


una manera consistente, de la misma forma , basndose en las normas preacordadas de su organizacin.

3.

No instale los servicios de SQL Server que no se utilizan, como Microsoft


indexacin de texto completo, Reporting Services o Analysis Services.

4.

Para obtener el mejor rendimiento de SQL Server, detenga todos los


servicios del sistema operativo que no son necesarios.

5.

Para un ptimo rendimiento de SQL Server, no ejecutar al SQL Server junto


con ninguna otra aplicacin.

6.

Para obtener el mejor rendimiento I / O, busque los archivos de base de


datos (.mdf) y archivos de registro (.ldf) en discos separados para aislar a los
patrones de acceso a disco.

7.

Si tempdb se utiliza en gran medida, pngalo en un disco aparte.

8.

No instale SQL Server en un controlador de dominio.

9.

Asegrese de que SQL Server se instala en una particin NTFS.

10.

No utilice NTFS con cifrado de archivos de datos (EFS) y ni compresin de


datos sobre el disco de la base de datos de SQL Server y los archivos de
registro.

ACTUALIZAR

1.

Ejecute el Upgrade Advisor de SQL Server antes de actualizar. Haga los


cambios necesarios antes de realizar la actualizacin.

2.

Realizar una actualizacin de prueba antes de actualizar los servidores de


produccin. Y no se olvide de probar las aplicaciones con la nueva versin
tambin.

3.

Antes de actualizar, asegrese de tener un plan para revertir los cambios en


caso que la actualizacin sea problemtica.

4.

No actualizar clsteres de SQL Server en su lugar. En cambio, a


reconstruirlos en un nuevo hardware.

5.

Si actualiza desde una versin anterior de SQL Server, debe actualizar


todas las estadsticas en todas las bases de datos. Esto se debe a que las
estadsticas no se actualizan automticamente durante el proceso de
actualizacin.

SEGURIDAD
1.

Asegure la seguridad fsica de cada Servidor SQL , previniendo que


cualquier usuario no autorizado pueda acceder fsicamente a sus servidores.

2.

Instalar solamente las mnimas y necesarias nettwork libraries y network


protocols en sus instancias SQL

3.

Minimice el nmero de usuarios sysadmins con acceso a SQL Server.

4.

Como DBA, loguees como sysadmin solo cuando realmente lo necesite.


Cree cuentas especficas para DBAs para que puedan acceder a SQL Server
cuando no necesiten privilegios sysadmin.

5.

Asigne a la cuenta sa una password realmente compleja y no la use nunca


para loguearse a SQL Server. En vez de eso use una cuenta Windows
Authentication para acceder SQL Server como sysadmin.

6.

Dele a los usuarios los mnimos permisos necesarios que le permitan a


ellos realizar su trabajo.

7.

De ser posible, use stored procedures o views para el acceso a los datos en
vez de dejarlos acceder directamente a las tablas.

8.

De ser posible, use Windows Authentication logins en vez de SQL Server


logins.

9.

Use strong passwords (combinacin de maysculas, minsculas, numeros y


caracteres especiales) para todos los SQL Server login.

10.

No le asigne permisos al rol de base de datos public.

11.

Remueve Logins IDs que ya no necesitan acceder a SQL Server apenas los
detecte.

12.

Deshabilite el usuario guest en cada base de datos usando REVOKE


CONNECT FROM GUEST.

13.

No use cross database ownership chaining si no es realmente necesario.

14.

Nunca habilite permisos a xp_cmdshell a los usuarios que no son sysadmin.

15.

Eliminar las bases de ejemplo (adventureworks, pubs, northwind) de todas


las instancias de produccin.

16.

Usar Windows Global Groups, o SQL Server Roles para manejar grupos de
usuarios con similares permisos.

17.

No debera crear ni permitir crear network shares en servidores SQL Server.

18.

Configurar login auditing , de esta manera se puede ver quienes intentaron


loguearse y los intentos fallidos de login.

19.

No use jams la cuenta sa ni login ids que sean sysadmin como cuentas de
acceso desde aplicaciones.

20.

Asegrese que sus servidores estn detrs de un firewall y no estn


expuestos directamente a internet.

21.

En SQL Server 2005 y previos, remover el grupo de BUILTIN/Administrators


para evitar que los administradores locales del servidor puedan acceder a SQL
Server. En SQL Server 2008, el grupo BUILTIN/Administrators group no existe
en forma predeterminada.

22.

Ejecute cada servicio SQL Server bajo una cuenta de dominio diferente.

23.

Dele a las cuentas asignadas a los servicios SQL Server los minimos
permisos que le permitan al mismo ejecutarse de la manera correcta. En la
mayora de los casos los permisos de un administrador local no son
necesarios y menos an los permisos de un administrador de dominio.

24.

Cuando use queries distribuidas use linked servers en vez de remote


servers. Remote servers estn solo por backward compatibility.

25.
26.

No navegue internet desde una instancia de produccin de SQL Server.


En vez de instalar antivirus/antispyware en un SQL Server, realice scaneos
desde un servidor remoto y solo cuando la actividad del servidor SQL no sea
tan alta.

27.

Agregue los service packs, tanto de SQL Server com de sistema operativo
apens estn disponibles.

28.

Considere la posibilidad de encriptar los backups con herramientas como


Red Gate SQL Backup Pro u otras.

29.

Solo habilite las trazas de C2 auditing o Common Criteria compliance


cuando sea realmente necesario, porque sobrecargan el servidor si estn
habilitadas.

30.

Considere seriamente ejecutar un SQL Server security scanner para


detectar si hay huecos de seguridad en sus servidores, tanto a nivel sistema
operativo
como
servidor
de
base
de
datos.http://searchsqlserver.techtarget.com/feature/SQL-Server-security-testchecklist

31.

Considere habilitar SSL or IPSEC para las conexiones entre sql server y los
clientes.

32.

Si est utilizando SQL Server 2005/2008, habilite password policy checking.

33.

Si est usando SQL Server 2008 en un entorno de alta seguridad,


considere implementar TDE, Transparent Data Encryption para proteger los
datos de su servidor.

34.

Si utiliza SQL Server 2005, no use SQL Server Surface rea Configuration
para desbloquear caractersticas que nunca se utilizan y que pueden traer
solamente problemas de seguridad.

35.

Si est usando SQL Server 2005/2008 y crea endpoints, solo habilite


permisos grant CONNECT a los logins que realmente necesitan acceder esos
endpoints. Explicitamente deniegue (deny) CONNECT permissions a los
endpoints que no son necesarios para los usuarios.

MANTENIMIENTO DE JOBS

1.

Evite ejecutar jobs en el mismo horario. Preferentemente cada job debe


ejecutarse en su propio horario.

2.

Cuando cree jobs asegrese de incluir intercepcin de errores, de loguear


la actividad del job y de establecer alertas (mails por ejemplo) para asegurarse
de saber al momento de cualquier fallo que pudiera ocurrir.

3.

Cree un login especfico con el solo propsito de ejecutar jobs y asgnele a


dicho login todos los jobs.

4.

Si su job incluye cdigo Transact-SQL, asegrese que est optimizado para


que se ejecute correctamente.

5.

Peridicamente (diario, semanal, mensual) reconstruya o reorganice los


ndices de sus bases de datos para remover la fragmentacin lgica y
aprovechar mejor el espacio en disco.

6.

Peridicamente y como parte de sus tareas de mantenimiento, ejecute


DBCC CHECKDB en todas sus bases de datos para comprobar su integridad y
detectar eventuales problemas.

7.

Evite ejecutar comandos DBCC en los horarios donde se da la mayor carga


de trabajo en sus servidores. Estos comandos son altamente requirentes en
trminos de recursos y afectan la performance.

8.

Si usted reinicia muy raramente el servicio SQL Server service, se va a


encontrar con que el log de SQL Server se pone muy grande y toma mucho
tiempo para cargar y ser mostrado. Usted puede cerrar el log error actual y
crear uno nuevo ejecutando sp_cycle_errorlog o DBCC ERRORLOG.
Establezca esto como un job semanal.

9.

Haga un script de todos los jobs y guarde esos scripts en un lugar seguro
por si necesita en algn momento reconstruir los servers.

Vous aimerez peut-être aussi