2012-03-26 13 views
37

stworzyłem tabelę tbl_Candidate ... ale zapomniałem ustawić klucz podstawowy tabeli i zapisaniu go bez klucza podstawowego ...nie można zmienić projekt tabeli w SQL Server 2008

Następnym razem ja” Mam zamiar ustawić klucz podstawowy w SQL Server 2008 Express, otrzymuję komunikat, że muszę upuścić tabelę i odtworzyć, kiedy mam zamiar zapisać tabelę z kluczowymi zmianami ...

To jest wiadomość, która pojawia się, gdy próbuję zapisać zmiany w tabeli ... !!

Zapisywanie zmian jest niedozwolone. Wprowadzone zmiany wymagają, aby następujące tabele zostały upuszczone i odtworzone. Masz albo wykonane zmian w tabeli, które nie mogą być odtwarzają lub włączyć opcję zapobiegają zapisaniem zmian, które wymagają tabel być odtworzenie

jestem zalogowany do SQL Server z uwierzytelnianiem Windows Server jako typ silnik bazy danych i nazwa serwera jako .\SQLExpress.

Proszę dać mi sposób, aby rozwiązać ten problem lub sposób zmienić ustawienia serwera SQL ... proszę mi dać wskazówki .. dziękuję ..

Odpowiedz

78

Odpowiedź jest na MSDN site:

Okno dialogowe Zapisz (niedozwolone) ostrzega, że ​​zapisywanie zmian nie jest dozwolone, ponieważ wprowadzono zmiany, dlatego wymienione tabele należy usunąć i ponownie utworzyć.

Następujące działania mogą wymagać tabelę być ponownie utworzony:

  • Dodanie nowej kolumny na środku stołu
  • Usunięcie kolumny
  • Zmiana kolumnie wartości null
  • Zmiana kolejność kolumn
  • Zmiana typu danych kolumny

EDIT 1:

Dodatkowe użyteczne informacje z here:

aby zmienić zapisywania zmian zapobiec wymagają opcję ponownego tworzenia tabeli, wykonaj następujące kroki:

  1. Otwórz program SQL Server Management Studio (SSMS).
  2. W menu Narzędzia kliknij polecenie Opcje.
  3. W okienku nawigacji okna Opcje kliknij Projektanci.
  4. Zaznacz lub wyczyść pole wyboru Zapobiegaj zapisywaniu zmian, które wymagają ponownego utworzenia tabeli, a następnie kliknij przycisk OK.

Uwaga Jeśli wyłączysz tę opcję, nie są ostrzegani, kiedy zapisać tabelę, że zmiany wprowadzone zmieniły strukturę tabeli metadanych . W takim przypadku utrata danych może nastąpić po zapisaniu tabeli w postaci .

Ryzyko wyłączenie opcji „Zapobiegaj zapisywania zmian, które wymagają tabeli odtworzenie”

Chociaż wyłączenie tej opcji może pomóc uniknąć ponownego tworzenia się stół, może to również prowadzić do zmian jest Stracony. Załóżmy na przykład, że funkcja zmiany śledzenia w SQL Server 2008 na umożliwia śledzenie zmian w tabeli. Podczas wykonywania operacji powodującej ponowne utworzenie tabeli, pojawia się komunikat o błędzie o numerze wymieniony w sekcji "Symptomy". Jeśli jednak wyłączysz tę opcję , istniejące informacje śledzenia zmian zostaną usunięte po ponownym utworzeniu tabeli . W związku z tym zalecamy, aby nie wyłączać pracy z tym problemem przez wyłączenie tej opcji.

Settings, screen shot

+1

dziękuję .. proszę pana ... – tharindlaksh

+0

Dziękuję za odpowiedź! –

+0

Dziękuję Mister @pylover –

6

można bezpośrednio dodawać ograniczenia do tabeli

ALTER TABLE TableName 
ADD CONSTRAINT ConstraintName PRIMARY KEY(ColumnName) 
GO 

Upewnij się, że kolumna klucz podstawowy nie powinien mieć wartości null.

Opcja 2:

można zmienić SQL Management Options Studio podoba

Aby zmienić tę opcję, w menu Narzędzia kliknij polecenie Opcje, rozwiń projektantów, a następnie kliknij Stół i projektantów baz danych . Wybierz lub usuń zaznaczenie pola wyboru Zapobiegaj zapisywaniu zmian, które wymagają ponownego utworzenia tabeli, aby została ponownie utworzona tabela .

+0

dziękuję .. proszę pana ... – tharindlaksh

1

Prevent zapisywania zmian, które wymagają tabeli odtworzenie

Pięć Swift kliknięć

Prevent saving changes that require table re-creation in five clicks

  1. Narzędzia
  2. Opcje
  3. Projektanci
  4. Zapobieganie zapisywanie zmian, które wymagają tabeli odtworzenie
  5. OK.

Po zapisaniu, powtórz procedurę, aby ponownie zaznaczyć pole.Chroni to przed przypadkową utratą danych.

Dalsze wyjaśnienia

  • Domyślnie SQL Server Management Studio uniemożliwia opadanie stołach, bo gdy stół jest odrzucany swoje dane treści są tracone. *

  • Podczas zmieniania typ danych kolumny w tabeli Widok projektu, podczas zapisywania zmian baza danych wewnętrznie upuszcza tabelę, a następnie ponownie tworzy nową.

* Twoje szczególne okoliczności nie będą miały znaczenia, ponieważ stolik jest pusty. Przekazuję to wyjaśnienie wyłącznie w celu lepszego zrozumienia procedury.

Powiązane problemy