W Visual Studio 2013 utworzyłem projekt bazy danych i zaimportowałem istniejącą bazę danych. Na początku wszystko było w porządku, a projekt zbudowany i wyprodukowany tworzył skrypty.Visual Studio uważa poprawną składnię SQL za niepoprawną
Jednak teraz Visual Studio wydaje się myśleć, że są błędy składni SQL, zwracając kilka błędów SQL46010: Incorrect syntax near:
. To wszystko z kodu wygenerowanego przez VS - nie napisałem nic z tego.
Przykład 1:
ALTER ROLE [db_owner] ADD MEMBER [SomeUser];
SQL46010: Incorrect syntax near ADD.
Przykład 2:
DECLARE @Foo NVARCHAR(7) = 'abcdefg';
SQL46010: Incorrect syntax near =.
Gdybym kopiuj/wklej kod do SSMS, wszystko działa bez zarzutu.
Niestety uniemożliwiają one budowę projektu, co oznacza, że nie mogę opublikować. Ponieważ są to błędy, a nie ostrzeżenia, nie mogę ustawić ich ignorowania w ustawieniach projektu.
Istnieje sposób obejścia problemu, w którym można ustawić działanie plików kompilacji na Brak, ale potrzebne są te pliki podczas publikowania.
Próbowałem:
- Usuwanie i ponowne dodanie tego samego kodu
- Kopiuj kod/wklejanie do nowego pliku SQL
- zamknięciu i ponownym otwarciu roztworowi
- zamknięciu i ponownym otwarciu wizualna Studio
- Aktualizacja narzędzi danych serwera Microsoft SQL Server (SSDT)
- Updatin g Visual Studio
Najbliżej problemu udało mi się znaleźć to this MSDN thread od 2012 roku, stwierdzając, że istnieje SQL parser bug SSDT (co skłoniło mnie do próby aktualizowania SSDT).