Objekte anlegen und ändern

Vorlagen für neue Objekte

Das + an einer Gruppe im Explorer oder der Rechtsklick auf eine Datenbank öffnet eine kommentierte Vorlage in einem neuen Tab: für Views, Prozeduren, Table-valued und Scalar-valued Functions, Aggregate Functions (CLR) sowie alle Service-Broker-Objekte.

Die Vorlage enthält Platzhalter wie NeueProzedur und das gerade gewählte Schema. Namen und Inhalt anpassen, dann mit F5 ausführen. Danach im Explorer Aktualisieren wählen, damit das neue Objekt erscheint.

Der Tabellen-Designer

Für Tabellen gibt es statt einer Vorlage einen Designer: Neue Tabelle im Datenbank-Menü oder Tabelle bearbeiten im Kontextmenü einer Tabelle.

  • Oben Schema und Tabellenname.
  • Pro Spalte: Name, Datentyp (z. B. nvarchar(50)), ob NULL erlaubt ist, ein Default-Wert (z. B. 0 oder N''), Primärschlüssel und Identity.
  • Spalte hinzufügen hängt eine Zeile an. Beim Bearbeiten werden zu löschende Spalten unter Wird gelöscht aufgelistet.
  • SQL Vorschau zeigt das Skript, das NovaSql ausführen wird: CREATE TABLE für eine neue Tabelle, ALTER TABLE mit einzelnen Schritten für Änderungen.

Erstellen bzw. Übernehmen führt das Skript aus. Die Vorschau vorher zu lesen lohnt sich, gerade bei Änderungen an Tabellen mit Daten.

Views, Prozeduren und Funktionen ändern

Im Kontextmenü öffnet Bearbeiten die Definition als änderbares Skript in einem neuen Tab. Anpassen und mit F5 ausführen. Anzeigen öffnet dieselbe Definition schreibgeschützt.

Umbenennen

Umbenennen im Kontextmenü einer Tabelle vergibt einen neuen Namen. Views, Prozeduren und Funktionen, die die Tabelle verwenden, werden dabei nicht angepasst. Dafür gibt es im Editor Rename / Refactor (Shift+F2): es findet alle Definitionen, die den alten Namen enthalten, und ersetzt ihn dort, siehe Der Query-Editor.

In ein anderes Schema verschieben

In Schema verschieben (Tabellen, Views, Prozeduren, Funktionen) fragt nach dem Ziel-Schema und verschiebt das Objekt mit ALTER SCHEMA … TRANSFER. Berechtigungen, die direkt auf dem Objekt lagen, gehen dabei verloren; das ist Verhalten von SQL Server.

Löschen

Tabelle löschen fragt nach einer Bestätigung und löscht die Tabelle samt Daten. Das lässt sich nicht rückgängig machen. Service-Broker-Objekte lassen sich ebenso löschen.

Tipp: Vor Änderungen an einer gemeinsam genutzten Datenbank einen Snapshot anlegen. Dann lässt sich später nachvollziehen, was sich geändert hat.