Dlaczego nie mogę użyć NEWSEQUENTIALID () jako wartości domyślnej dla mojej kolumny?

18

Próbuję utworzyć tabelę w Management Studio i po przeczytaniu o nowej funkcji (od SQL 2005) NEWSEQUENTIALID()pomyślałem, że dam jej szansę.

Oto co robię:

wprowadź opis zdjęcia tutaj

Ale to nie pozwala mi. Otrzymuję komunikat o błędzie:

'FormTemplate (Forms)' table - Error validating the default for column 'FormTemplateId'.

Czy brakuje mi tutaj podstępu? Na pewno korzystam z SQL Server 2008 R2.

5arx
źródło

Odpowiedzi:

5

Możesz obejść ten błąd w SQL Server Management Studio, ignorując pierwsze i drugie ostrzeżenie. Zmiany zostaną zapisane.

splattne
źródło
18

Użyj CREATE TABLE, a nie GUI.

Jest to błąd w SSMS, który został już zgłoszony tutaj, a także tutaj na Connect.

gbn
źródło
5
@ 5arx: przeszukuj 5-letnie błędy krytyczne dla MySQL. Stwardnienie rozsiane jest dość ostre w porównaniu
gbn
1
@ 5arx Cóż, biorąc pod uwagę liczbę produktów obsługiwanych przez Microsoft i nowe funkcje dodawane przez nich w każdym wydaniu, myślę, że zrozumiałe jest, że łatwo usuwalny błąd w GUI powinien pozostać przez lata. Nadal wygląda nam źle jako klienci, ale jako programista rozumiem.
Nick Chammas
1
@ 5arx: jako programista używaj surowego języka SQL, jak większość ludzi. Dlatego nigdy nie widziałem tego błędu
gbn
2
Jestem programistą, który korzysta z baz danych, a nie programistą baz danych. Od końca lat 90. nie widziałem nikogo, kto używa surowego SQL do tworzenia tabel. Chodzi mi o to, że jeśli wypuszczasz GUI, upewnij się, że działa. To wszystko.
5arx
2
Interfejs użytkownika nie ma zbyt dużego priorytetu, jeśli chodzi o zabijanie błędów. Rdzeń silnika robi to, co powinien. Zespół interfejsu użytkownika nie ma zbyt wielu facetów, więc przechodzą do tego, co mogą, jak nakazuje to zarządzanie (jeśli nie jest to Azure w tej chwili, nie można tego naprawić). :(
mrdenny,