que he ido encontrando esquemas de SQL Server a ser muy confuso. Quizás ustedes puedan ayudarme a aclarar algo de confusión. Estoy usando SQL Server 2008 Express y MS SQL Server 2008 Management Studio, pero creo que mis preguntas son relevantes para cualquier versión de MS SQL Server 2008. He estado experimentando con diferentes bases de datos y diferentes instancias de SQL Server en diferentes servidores. Por ejemplo, he estado trabajando en el servidor de nuestra empresa, pero también he estado trabajando bastante con algunas bases de datos en mi servidor de alojamiento web compartido. Esto podría ser parte de la razón por la que he entrado en algo de la confusión.tablas de SQL Server con nombre con esquema dbo
1) ¿De dónde vino este nombre de esquema viene? Pensé que cuando comencé a jugar con SQL Server hace varias semanas, no vi ningún nombre de esquema adjunto a los nombres de la tabla. Empecé a verlos cuando se importó una base de datos o cuando utilicé MS Access Migration Assistant. ¿Es posible no usar esquemas en absoluto? ¿No aparecen en algunas circunstancias?
2) Nombre de esquema no "dbo"? En un proyecto reciente, mis esquemas se han mostrado como MyLongUserName.tablename en lugar de dbo.tablename. Estoy confundido sobre por qué a veces una cuenta de usuario aparece de forma predeterminada en el esquema dbo y otras veces se asigna a un esquema con el mismo nombre que la cuenta de usuario. ¿Tiene esto algo que ver con el inicio de sesión utilizando autenticación NT versus autenticación de SQL Server?
3) del usuario llamado DBO? No recuerdo haber creado un usuario llamado dbo en la base de datos en la que estoy trabajando, pero lo veo en la lista de usuarios. ¿La cuenta de usuario "dbo" debe existir para que exista el esquema "dbo"? ¿Los nombres de usuario y los nombres de los esquemas siempre son paralelos?
4) Para utilizar esquemas o no - ¿Puede usted no usarlos? ¿Utiliza esquemas para proyectos pequeños como una base de datos de dos o tres tablas para un sitio web básico? ¿Puede evitar el uso de esquemas por completo o simplemente usar el esquema predeterminado "dbo"? ¿Crearía esquemas adicionales y le asignaría ciertos permisos y cuentas de usuario incluso en proyectos muy pequeños?
He estado usando el libro Murach's SQL Server 2008 para Desarrolladores y no he encontrado que sea demasiado útil para aclarar mi confusión. Estoy leyendo frases como: "Si no especifica un esquema cuando crea los objetos, se almacenan en el esquema predeterminado". Espera, ¿cómo sé lo que es "el esquema predeterminado"? ¿Estamos hablando del esquema predeterminado de la cuenta de usuario o hay un "esquema predeterminado" para cada base de datos? ¿Siempre es "dbo"? ¿Por qué cuando creo objetos los asigna al esquema MyLongUserName en lugar de "dbo"?