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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top