Domanda
Sto convertendo il database da Teradata in SQLServer. Ho notato che tutte le tabelle e le procedure sono denominate dal prefisso "DBO". (ad esempio "dbo.table1").
Vorrei sapere se e come posso sbarazzarmi di "DBO" perché renderebbe l'attività di conversione molto più semplice.
Soluzione
dbo
è non parte del nome della tabella. È il nome dello schema a cui sono allegate le tabelle e le procedure memorizzate. dbo
è lo schema predefinito in SQL Server, anche se puoi aggiungerne altri se necessario.
Vedere questo Articolo MSDN su di loro.
Altri suggerimenti
DBO è lo schema, puoi specificare un nuovo schema se lo desideri. DBO è predefinito è SQL Server.
Tutti i tavoli devono entrare in uno schema. Come dice Durilai, DBO è lo schema "predefinito" per SQL Server (esiste sempre). Tuttavia, si noti che diversi utenti possono avere diversi schemi predefiniti (se esiste più di uno).
Se fai riferimento a una tabella senza specificare lo schema, SQL Server cercherà nello schema predefinito per esso (e lo stesso vale per qualsiasi altro oggetto).
Così, Se Lo schema predefinito è DBO, le seguenti due dichiarazioni sono equivalenti:
select * from Table1
select * from dbo.Table1
DBO è lo schema predefinito in SQL Server Se non è stato impostato uno schema dall'utente, se lo si desidera, è possibile creare un nuovo schema e creare tabelle.
Gli schemi sono utili. Ad esempio, ho usato per concedere un'app Access Esegui l'autorizzazione a ogni procedura memorizzata separatamente. Ora concedo l'accesso all'app Eseguo l'autorizzazione allo schema che contiene tutte le procedure memorizzate. Questo è molto più facile.