Czy istnieje narzędzie, które może analizować bazy danych SQL Server pod kątem potencjalnych problemów?FxCop for SQL Server - narzędzie do analizy baz danych SQL Server pod kątem potencjalnych problemów
Na przykład:
- a foreign key column that is not indexed
- indeks na kolumnie
uniqueidentifier
że nie maFILL FACTOR
- kolumna
LastModifiedDate DATETIME
że maUPDATE
spust aby zaktualizować DateTime - duży indeks z " wysoki "fragmentation
- indeks niepodzielony na fragmenty, który istnieje w wielu zakresach
- wyzwalacz, który nie zawiera
SET NOCOUNT ON
(pozostawiając podatnych, aby „Wyzwalacz zwrócony resultset i/lub został uruchomiony z SET NOCOUNT OFF podczas gdy inny wybitny zestaw wynik był aktywny.”) - bazy danych, tabeli, procedura przechowywana, wyzwalacza, widok, stworzony z
SET ANSI_NULLS OFF
- database or table with
SET ANSI_PADDING OFF
- bazy danych lub tabeli utworzonej z
SET CONCAT_NULL_YIELDS_NULL OFF
- indeksu bardzo rozdrobnionym, które mogą skorzystać z niższego
FILLFACTOR
(tj bardziej wyściółka) - stół o bardzo szerokim skupione indeksie (np uniqueidentifier + uniqueidentifier)
- stół z nieunikalny klastra wskaźnika
- wykorzystania innych
text/ntext
zamiastvarchar(max)/nvarchar(max)
- stosowania
varchar
w kolumnach prawdopodobnie może zawierać zlokalizowane ciągi i powinny byćnvarchar
(np Nazwisko, imię, nazwisko, BUSINESSNAME, COUNTRYNAME, miasto) - wykorzystanie
*=
,=*
,*=*
zamiastLEFT OUTER JOIN
,RIGHT OUTER JOIN
,FULL OUTER JOIN
- trigger that returns a results set
- dowolnej kolumny zadeklarowane jako
timestamp
zamiastrowversion
- pustych
timestamp
kolumna - wykorzystanie
image
zamiastvarbinary(max)
- baz danych nie w trybie prostym (lub pliku dziennika więcej niż 100x rozmiar pliku danych)
Czy istnieje FxCop dla serwera SQL?
Uwaga: Microsoft SQL Server 2008 R2 Best Practices Analyzer doesn't fit the bill.
Kandydat na [dba.se]? – AakashM
Z pewnością nie chcę, aby administratorzy bazy danych modyfikowali moje wyzwalacze, procedury składowane, typy danych kolumn, nullablity kolumn. –
Miałem na myśli, * to pytanie * jest być może kandydatem na [Q & A dla profesjonalistów baz danych] (http://dba.stackexchange.com/) ... – AakashM