niedziela, 12 lutego 2012

MS SQL mssql saving changes is not permitted...

Bardzo często korzystając z graficznego designera baz danych Management Studio, dostajemy błąd o podanej niżej treści:


Co jest przyczyną pojawienia się tego błędu i czy jest to dla nas ważne?
W przypadku tworzenia aplikacji przez programistę jest to raczej mało przydatny komunikat, jednak kiedy chodzi o produkcyjną wersję bazy - ma to ogromne znaczenie. Co dzieje się w przypadku kiedy tabela musi zostać od nowa założona? Szereg czynności które obniżają wydajność całej architektury:
  • stworzenie kopi tabeli która jest usuwana
  • zapamiętanie danych w kasowanej tabeli
  • stworzenie nowej tabeli
  • przeniesienie danych do nowej tabeli
  • skasowanie starej tabeli
W przypadku programisty komunikat można łatwo wyłączyć:


Należy w opcjach MS odznaczyć wskazaną pozycję.
Teraz podczas zapisu dostaniemy tylko komunikat z pytaniem czy na pewno chcemy stworzyć tabelę od nowa. Po wybraniu "Yes" tabela zostanie stworzona od nowa i zmiany zapisane.