¿Cómo creo una tabla SQL bajo un esquema diferente?

137

Esto es de SQL Server 2008, ssms

Cuando creo una tabla, se crea bajo dbo.

Me gustaría crearlo bajo un esquema diferente, pero cuando uso el cuadro de diálogo 'Nueva tabla', nunca puedo encontrar el campo donde especificar esto.

Mate
fuente

Respuestas:

242
  1. Haga clic derecho en el nodo de tablas y elija New Table...
  2. Con el diseñador de tablas abierto, abra la ventana de propiedades (ver -> Ventana de propiedades).
  3. Puede cambiar el esquema en el que se creará la tabla eligiendo un esquema en la ventana de propiedades.
adrianbanks
fuente
¿Cómo harías eso programáticamente? es decir, Crear tabla SUSER_SNAME (). [MyTableName] pero eso realmente funciona. Además, ¿es esa una forma justa de almacenar variables globales temporales para permitir que diferentes aplicaciones se comuniquen entre sí?
Adamantish
Ok, gracias, pero me refería a tener el nombre del esquema como una variable según el usuario que lo ejecuta. Lo hice con un poco de SQL dinámico, pero de todos modos encontré una mejor manera de poner estos vars en una tabla en la máquina del usuario.
Adamantish
1
@adrianbanks muy amable de su parte para señalarlos en la dirección correcta señor!
Shaun F
Gracias @adrianbanks. ¡No había hecho esto por un tiempo y estaba a punto de escribir un script de creación!
Karl Gjertsen
50

Intenta correr CREATE TABLE [schemaname].[tableName]; GO;

Esto supone que el esquema existe en su base de datos. Úselo CREATE SCHEMA [schemaname]si necesita crear un esquema también.

EDITAR: actualizado para tener en cuenta que SQL Server 11.03 requiere que esta sea la única instrucción en el lote.

Shaun F
fuente
1
Sí, me doy cuenta de que podría hacer eso, me preguntaba si la versión de diálogo tenía una opción en algún lugar para hacer esto.
Matt, el
Intenté lo mismo, no funciona. ¿Estoy haciendo algo mal? ¿O simplemente funciona en MSSQL 2012?
Pankaj Parkar
77
@PankajParkar: Esto no funcionará si el esquema no existe. Cree el esquema primero usando create schema [schema_Name]seguido por la consulta anterior.
Sangram Nandkhile
14

                           crear un esquema de base de datos en SQL Server 2008
1. Navegue a Seguridad> Esquemas
2. Haga clic derecho en Esquemas y seleccione Nuevo esquema
3. Complete los detalles en la pestaña General para el nuevo esquema. Al igual, el nombre del esquema es "MySchema" y el propietario del esquema es "Admin".
4. Agregue usuarios al esquema según sea necesario y establezca sus permisos:
5. Agregue las propiedades extendidas (a través de la pestaña Propiedades extendidas)
6. Haga clic en Aceptar.
                          Agregar una tabla al nuevo esquema "MySchema"
1. En el Explorador de objetos, haga clic con el botón derecho en el nombre de la tabla y seleccione "Diseño":
2. Cambiar el esquema de la base de datos para una tabla en SQL Server Management Studio
3. Desde la vista Diseño, presione F4 para Muestra la ventana Propiedades.
4. Desde la ventana Propiedades, cambie el esquema al esquema deseado:
5. Cierre la Vista de diseño haciendo clic derecho en la pestaña y seleccionando "Cerrar":
6. Cierre la Vista de diseño
7. Haga clic en "Aceptar" cuando se le solicite guardar
8. Su tabla ahora se ha transferido al esquema "MySchema".

Actualizar la vista del buscador de objetos Para confirmar los cambios
Listo

Aftab Uddin
fuente
Muy útil el proceso de creación del esquema de base de datos anterior. Gracias.
mggSoft
12

Presiona F4 y obtendrás lo que estás buscando.

mapa
fuente
5

La respuesta de Shaun F no funcionará si Schema no existe en el DB. Si alguien está buscando la manera de crear un esquema, simplemente ejecute el siguiente script para crear el esquema.

create schema [schema_name]
CREATE TABLE [schema_name].[table_name](
 ...
) ON [PRIMARY]

Mientras agrega una nueva tabla, vaya al modo de diseño de tabla y presione F4para abrir la ventana de propiedades y seleccione el esquema del menú desplegable. Por defecto es dbo.

También puede cambiar el esquema de la tabla actual utilizando la ventana de propiedades.

Referir:

ingrese la descripción de la imagen aquí

Sangram Nandkhile
fuente
En SQL Server 11.0.3+ esto arrojará un error, CREATE SCHEMA debe ser la única operación en el lote. CREATE SCHEMA setup; GO
Hajikelist
3

Cuando creo una tabla con SSMS 2008, veo 3 paneles:

  • El diseñador de la columna
  • Propiedades de la columna
  • Las propiedades de la tabla

En el panel de propiedades de la tabla, hay un campo: Schemaque le permite seleccionar el esquema.

Brannon
fuente