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?
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.
Vielleicht kann das helfen
USE [YourDBName]
GO
ALTER USER [YourUserName] WITH DEFAULT_SCHEMA=[dbo]
GO