Almeno sulla mia istanza locale, quando creo le tabelle, sono tutte precedute da "dbo". Perché?Perché i nomi delle tabelle in SQL Server iniziano con "dbo"?
risposta
dbo è lo schema predefinito in SQL Server. Puoi creare i tuoi schemi per permetterti di gestire meglio lo spazio dei nomi degli oggetti.
Come best practice, aggiungo sempre il "dbo". prefisso anche se non è necessario. Il più delle volte in SQL è bello essere espliciti. – SurroundedByFish
@SurroundedByFish: Probabilmente non è una buona pratica, ma potrei sbagliarmi perché non sono un esperto SQL. http://stackoverflow.com/a/769639/602245 – Brett
[questo articolo] (http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server) da una [risposta diversa] (http://stackoverflow.com/a/10118197/39396) afferma che è in effetti una best practice: "Il codice non dovrebbe usare il nome completo, anche se c'è un leggero guadagno di prestazioni in tal modo ed è considerato una best practice. " –
Se si utilizza Sql Server Management Studio, è possibile creare il proprio schema sfogliando Database - Database - Sicurezza - Schemi.
Per creare uno utilizzando uno script è facile come (per esempio):
CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]
Si possono utilizzare per raggruppare logicamente le tabelle, ad esempio attraverso la creazione di uno Schama di informazioni "finanziario" e un altro per "Dati personali. Le tabelle sarebbero quindi visualizzare come:
Financial.BankAccounts Financial.Transactions Personal.Address
Invece di utilizzare lo schema predefinito di dbo.
Sai se questo causa problemi quando utilizziamo Entity framework? – batmaci
È possibile utilizzare gli schemi con Entity Framework, anche con il codice, se lo si desidera: '[Tabella (" Cliente ", Schema =" MySchema ")]' – Fenton
Il 'AUTORIZZAZIONE [dbo]' concede le stesse autorizzazioni di dbo sul schema, o devo ancora concedere autorizzazioni agli utenti? –
È nuovo di SQL 2005 e offre un modo semplificato per raggruppare oggetti, in particolare allo scopo di proteggere gli oggetti in quel "gruppo".
Il seguente link offre una più approfondita spiegazione per quello che è, perché dovremmo usarlo:
Understanding the Difference between Owners and Schemas in SQL Server
- 1. Tabelle di SQL Server denominate con schema dbo
- 2. Come posso rimuovere il prefisso dbo dai nomi delle tabelle quando scrivo le istruzioni SQL in SQL Server?
- 3. Perché prefisso i nomi delle funzioni sql?
- 4. SQL Server crea nomi di tabelle errati, perché?
- 5. SQL principale Server "dbo" non esiste,
- 6. Looping attraverso i nomi delle colonne con SQL dinamico
- 7. I valori delle colonne Identity server SQL iniziano da 0 invece di 1
- 8. Perché i nomi delle variabili iniziano spesso con la lettera "m"?
- 9. Tabelle temporanee in SQL Server?
- 10. Utilizzo dei nomi di schema con SQL Server e ServiceStack.OrmLite
- 11. Tabelle temporanee in sql server
- 12. ricerca dei nomi delle tabelle
- 13. Come modificare i nomi delle colonne di SQL Server in T-SQL?
- 14. SQL Server Enterprise Manager - Eliminazione di massa delle tabelle e modifica proprietà delle tabelle
- 15. Script che fornisce i conteggi delle righe e i nomi delle tabelle
- 16. Trova tutti i nomi delle tabelle con il nome della colonna?
- 17. In lettere minuscole tutti i nomi delle tabelle in un database?
- 18. Impossibile trovare il server 'dbo' in sys.servers
- 19. Perché i namespace XML di solito iniziano con http: // ...?
- 20. PHP e SQL Server - i nomi dei campi troncati
- 21. Unisci due tabelle in SQL Server 2008
- 22. Buona o cattiva idea includere i numeri nei nomi delle tabelle SQL?
- 23. Ottieni i nomi delle tabelle da un database
- 24. Record mancanti nelle tabelle del server SQL
- 25. NHibernate - Forza in uscita sui nomi delle tabelle
- 26. Inserimento SQL in tabelle correlate
- 27. pivot tabelle in SQL Server con spazi nel cellulare
- 28. Cambiare i nomi delle colonne delle tabelle in maiuscolo in postgres
- 29. Il comando H2 "runscript" trasforma tutti i nomi delle tabelle in maiuscolo
- 30. Come posso INSERIRE i dati in due tabelle contemporaneamente in SQL Server?
è [Database Owner] (http: // MSDN. microsoft.com/en-us/library/aa905208%28v=sql.80%29.aspx) – AminM