Wszystkie klucze, indeksy i inne “constrainty” powinny mieć wprost zdefiniowaną nazwę. MS SQL dopuszcza pozostawienie nazwy pustej, wtedy sam ją wygeneruje. Rodzi to jednak problemy np. przy odtwarzaniu bazy danych z backupu. Może się zdarzyć tak, że odtworzona baza będzie miała nazwy elementów inne niż oryginalna. Utrudnia to tworzenie skryptów na jednej bazie i uruchamianie ich na innej.
PK_[NazwaTabeli] - klucz główny np. PK_UsersFK_[NazwaTabeli]_[NazwaTabeliPowiazanej] - klucz obcy np. FK_UserAdminPermissions_UsersDF_[NazwaTabeli]_[NazwaKolumny] - domyślna wartość np. DF_Users_IsAdminUQ_[NazwaTabeli]_[NazwyKolumn] - indeks unikalny np. UQ_AccountCredits_AccountId_TypeIX_[NazwaTabeli]_[NazwyKolumn] - indeks np. IX_AccountCreditLogs_AccountId_Type