¿Existe alguna herramienta que pueda analizar las bases de datos de SQL Server para detectar posibles problemas?FxCop para SQL Server - Herramienta para analizar las bases de datos de SQL Server en busca de posibles problemas
Por ejemplo:
- a foreign key column that is not indexed
- un índice en una columna
uniqueidentifier
que no tieneFILL FACTOR
- una columna
LastModifiedDate DATETIME
que no tieneUPDATE
gatillo para actualizar la fecha y hora - un índice grande con " alta "fragmentación
- índice no fragmentado que existe en múltiples extensiones
- un disparador que no contiene
SET NOCOUNT ON
(dejándola suspectible a "Un disparador devuelto un conjunto de resultados y/o corría con SET NOCOUNT OFF mientras que otro conjunto de resultados pendiente era activo.") - una base de datos, tabla, procedimiento almacenado, disparador, vista, creado con
SET ANSI_NULLS OFF
- un
- una base de datos o tabla database or table with
SET ANSI_PADDING OFF
creado conSET CONCAT_NULL_YIELDS_NULL OFF
- un índice muy fragmentado que podrían beneficiarse de un menor
FILLFACTOR
(es decir, más relleno) - una tabla con un índice muy amplia agrupado (por ejemplo uniqueidentifier + uniqueidentifier)
- una tabla con un índice agrupado no único
- uso de
text/ntext
en lugar devarchar(max)/nvarchar(max)
- uso de
varchar
en columnas que probablemente podría contener cadenas localizadas y debe sernvarchar
(por ejemplo, Nombre, Nombre, Apellido, BusinessName, del País, Ciudad) - uso de
*=
,=*
,*=*
en lugar deLEFT OUTER JOIN
,RIGHT OUTER JOIN
,FULL OUTER JOIN
- trigger that returns a results set
- cualquier columna declarada como
timestamp
en lugar derowversion
- una columna anulable
timestamp
- uso de
image
en lugar devarbinary(max)
- bases de datos no en el modo sencillo (o un archivo de registro más de 100 veces el tamaño del archivo de datos)
¿Existe un FxCop para SQL Server?
Nota: El Microsoft SQL Server 2008 R2 Best Practices Analyzer doesn't fit the bill.
Candidata para [dba.se]? – AakashM
ciertamente no quiero que los administradores de bases de datos modifiquen mis triggers, procedimientos almacenados, tipos de datos de columna, nullablity de columna. –
Quiero decir, * esta pregunta * es quizás un candidato para [Q & A para profesionales de bases de datos] (http://dba.stackexchange.com/) ... – AakashM