Wie erstelle ich eine SQL-Tabelle unter einem anderen Schema?

137

Dies ist von SQL Server 2008, ssms

Wenn ich eine Tabelle erstelle, wird sie unter dbo erstellt.

Ich möchte es unter einem anderen Schema erstellen, aber wenn ich das Dialogfeld "Neue Tabelle" verwende, kann ich das Feld, in dem dies angegeben werden soll, nie finden.

Matt
quelle

Antworten:

242
  1. Klicken Sie mit der rechten Maustaste auf den Tabellenknoten und wählen Sie New Table...
  2. Öffnen Sie bei geöffnetem Tabellen-Designer das Eigenschaftenfenster (Ansicht -> Eigenschaftenfenster).
  3. Sie können das Schema ändern, in dem die Tabelle erstellt wird, indem Sie im Eigenschaftenfenster ein Schema auswählen.
adrianbanks
quelle
Wie würden Sie das programmgesteuert tun? dh Tabelle SUSER_SNAME () erstellen. [MyTableName], aber das funktioniert tatsächlich. Ist dies auch eine faire Methode zum Speichern temporärer globaler Variablen, damit verschiedene Anwendungen miteinander kommunizieren können?
Adamantish
Ok, danke, aber ich wollte den Schemanamen als Variable haben, je nachdem, welcher Benutzer ihn ausführt. Habe es mit ein wenig dynamischem SQL gemacht, aber dann einen besseren Weg gefunden, diese Variablen trotzdem in eine Tabelle auf dem Computer des Benutzers zu schreiben.
Adamantish
1
@adrianbanks sehr nett von Ihnen, sie in die richtige Richtung zu weisen, Sir!
Shaun F
Danke @adrianbanks. Hatte dies eine Weile nicht getan und war kurz davor, ein Erstellungsskript zu schreiben!
Karl Gjertsen
50

Versuche zu rennen CREATE TABLE [schemaname].[tableName]; GO;

Dies setzt voraus, dass der Schemaname in Ihrer Datenbank vorhanden ist. Bitte verwenden Sie, CREATE SCHEMA [schemaname]wenn Sie auch ein Schema erstellen müssen.

BEARBEITEN: aktualisiert, um zu beachten, dass SQL Server 11.03 die einzige Anweisung im Stapel sein muss.

Shaun F.
quelle
1
Ja, mir ist klar, dass ich das schaffen könnte. Ich habe mich nur gefragt, ob die Dialogversion irgendwo eine Option dazu hat.
Matt
Ich habe das gleiche versucht, es funktioniert nicht. Mache ich etwas falsch? ODER funktioniert es nur in MSSQL 2012?
Pankaj Parkar
7
@PankajParkar: Dies funktioniert nicht, wenn kein Schema vorhanden ist. Erstellen Sie das Schema zuerst mit der create schema [schema_Name]folgenden Abfrage.
Sangram Nandkhile
14

                           Erstellen eines Datenbankschemas in SQL Server 2008
1. Navigieren Sie zu Sicherheit> Schemas.
2. Klicken Sie mit der rechten Maustaste auf Schemas und wählen Sie Neues Schema.
3. Vervollständigen Sie die Details auf der Registerkarte Allgemein für das neue Schema. Der Schemaname lautet "MySchema" und der Schemabesitzer "Admin".
4. Fügen Sie dem Schema nach Bedarf Benutzer hinzu und legen Sie ihre Berechtigungen fest:
5. Fügen Sie erweiterte Eigenschaften hinzu (über die Registerkarte Erweiterte Eigenschaften).
6. Klicken Sie auf OK.
                          Hinzufügen einer Tabelle zum neuen Schema "MySchema"
1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Tabellennamen und wählen Sie "Design":
2. Ändern des Datenbankschemas für eine Tabelle in SQL Server Management Studio
3. Drücken Sie in der Designansicht F4 bis Zeigen Sie das Eigenschaftenfenster an.
4. Ändern Sie im Eigenschaftenfenster das Schema in das gewünschte Schema:
5. Schließen Sie die Entwurfsansicht, indem Sie mit der rechten Maustaste auf die Registerkarte klicken und "Schließen" auswählen:
6. Schließen Sie die Entwurfsansicht.
7. Klicken Sie auf "OK", wenn Sie zum Speichern aufgefordert werden.
8. Ihre Tabelle wurde nun in das Schema "MySchema" übertragen.

Aktualisieren Sie die Object Browser - Ansicht , um die Änderungen zu bestätigen
Fertig

Aftab Uddin
quelle
Sehr nützlich beim vorherigen Erstellungsprozess des DB-Schemas. Vielen Dank.
mggSoft
12

Drücken Sie F4 und Sie erhalten, wonach Sie suchen.

Karte
quelle
5

Die Antwort von Shaun F funktioniert nicht, wenn das Schema in der Datenbank nicht vorhanden ist. Wenn jemand nach einer Möglichkeit sucht, ein Schema zu erstellen, führen Sie einfach das folgende Skript aus, um ein Schema zu erstellen.

create schema [schema_name]
CREATE TABLE [schema_name].[table_name](
 ...
) ON [PRIMARY]

F4Wechseln Sie beim Hinzufügen einer neuen Tabelle in den Tabellenentwurfsmodus und drücken Sie , um das Eigenschaftenfenster zu öffnen und das Schema aus der Dropdown-Liste auszuwählen. Standard ist dbo.

Sie können das Schema der aktuellen Tabelle auch über das Eigenschaftenfenster ändern.

Verweisen:

Geben Sie hier die Bildbeschreibung ein

Sangram Nandkhile
quelle
In SQL Server 11.0.3+ wird dies einen Fehler auslösen. CREATE SCHEMA muss die einzige Operation im Stapel sein. CREATE SCHEMA setup; GO
Hajikelist
3

Wenn ich mit SSMS 2008 eine Tabelle erstelle, werden drei Bereiche angezeigt:

  • Der Säulendesigner
  • Spalteneigenschaften
  • Die Tabelleneigenschaften

Im Bereich mit den Tabelleneigenschaften befindet sich ein Feld, in Schemadem Sie das Schema auswählen können.

Brannon
quelle