Why do table names in SQL Server start with "dbo"?
At least on my local instance, when I create tables, they are all prefixed with "dbo.". Why is that?
Solution 1:
dbo is the default schema in SQL Server. You can create your own schemas to allow you to better manage your object namespace.
Solution 2:
If you are using Sql Server Management Studio, you can create your own schema by browsing to Databases - Your Database - Security - Schemas.
To create one using a script is as easy as (for example):
CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]
You can use them to logically group your tables, for example by creating a schema for "Financial" information and another for "Personal" data. Your tables would then display as:
Financial.BankAccounts Financial.Transactions Personal.Address
Rather than using the default schema of dbo.