it-swarm-eu.dev

Tabelle wird nicht unter dem Dbo-Schema erstellt

Beim Erstellen von Tabellen in SSMS habe ich Folgendes festgestellt: Wenn Sie die folgende Anweisung ausführen:

CREATE TABLE [tableName];

die Tabelle wird unter Ihrem eigenen Schema (und nicht unter dbo) erstellt. Um es unter dem dbo-Schema zu erstellen, müssen Sie dies explizit wie folgt sagen:

CREATE TABLE [dbo].[tableName];

Kennt jemand einen Weg (z. B. eine serverweite Einstellung), damit beim Erstellen einer Tabelle der [dbo] -Teil nicht angegeben werden muss?

17
Chinesinho

Das Schema, das verwendet wird, wenn das Schema weggelassen wird, ist das Standardschema des Datenbankbenutzers. Damit das Schema dbo die erstellte Tabelle ohne Angabe hat, müssen Sie das Standardschema des Datenbankbenutzers auf dbo setzen.

Serverweite Einstellung? Das glaube ich nicht. Sie können jedoch eine Abfrage schreiben, um alle Datenbankbenutzer in einer bestimmten Datenbank in ihr Standardschema zu konvertieren, das in dbo geändert wurde, wenn Sie dies wünschen.

9
Thomas Stringer

Vielleicht kann das helfen

USE [YourDBName]
GO
ALTER USER [YourUserName] WITH DEFAULT_SCHEMA=[dbo]
GO
8
LazyProgrammer