2009-06-30 21 views

Respuesta

171

dbo es el esquema predeterminado en SQL Server. Puede crear sus propios esquemas para permitirle administrar mejor su espacio de nombres de objeto.

+20

Como una buena práctica, siempre agrego el "dbo". prefijo aunque no es necesario. La mayor parte del tiempo en SQL es bueno ser explícito. – SurroundedByFish

+2

@SurroundedByFish: Probablemente no sea una buena práctica, pero podría estar equivocado ya que no soy un experto en SQL. http://stackoverflow.com/a/769639/602245 – Brett

+12

[Este artículo] (http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server) de una [respuesta diferente] (http://stackoverflow.com/a/10118197/39396) afirma que es, de hecho, una mejor práctica: "El código no tendría que usar el nombre completo, aunque hay un ligero la ganancia de rendimiento al hacerlo y se considera una mejor práctica. " –

69

Si está utilizando Sql Server Management Studio, puede crear su propio esquema navegando a Bases de datos - Su base de datos - Seguridad - Esquemas.

Para crear una con un guión es tan fácil como (por ejemplo):

CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo] 

Usted las puede utilizar para agrupar de forma lógica las tablas, por ejemplo mediante la creación de un Schama para obtener información "financiera" y otra para "Información personal. Las tablas a continuación, se mostrará como:

Financial.BankAccounts Financial.Transactions Personal.Address

En lugar de utilizar el esquema predeterminado de DBO.

+0

¿Sabes si eso causa algún problema cuando utilizamos Entity framework? – batmaci

+4

Puede usar esquemas con Entity Framework, incluso con código primero si lo desea: '[Tabla (" Cliente ", Esquema =" MySchema ")]' – Fenton

+0

¿La 'AUTORIZACIÓN [dbo]' otorga los mismos permisos que dbo en el esquema, o ¿todavía necesito otorgar permisos a los usuarios? –

Cuestiones relacionadas