Como crio uma tabela SQL com um esquema diferente?

137

Isto é do SQL Server 2008, ssms

Quando eu crio uma tabela, ela é criada no dbo.

Gostaria de criá-lo sob um esquema diferente, mas quando uso a caixa de diálogo 'Nova tabela', nunca consigo encontrar o campo onde especificar isso.

Matt
fonte

Respostas:

242
  1. Clique com o botão direito do mouse no nó das tabelas e escolha New Table...
  2. Com o designer da tabela aberto, abra a janela de propriedades (veja -> Janela Propriedades).
  3. Você pode alterar o esquema no qual a tabela será criada escolhendo um esquema na janela de propriedades.
adrianbanks
fonte
Como você faria isso programaticamente. ou seja, crie a tabela SUSER_SNAME (). [MyTableName], mas isso realmente funciona. Além disso, essa é uma maneira justa de armazenar variáveis ​​globais temporárias para permitir que diferentes aplicativos conversem entre si?
Adamantish
Ok obrigado, mas eu quis dizer ter o nome do esquema como uma variável de acordo com o usuário que está executando. Fiz isso com um pouco de SQL dinâmico, mas depois encontrei uma maneira melhor de colocar esses vars em uma tabela na máquina do usuário.
Adamantish
1
@adrianbanks muito gentil de sua parte apontá-los na direção certa, senhor!
Shaun F
Obrigado @adrianbanks. Não fazia isso há um tempo e estava prestes a escrever um script de criação!
Karl Gjertsen 22/09
50

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

Isso pressupõe que o nome do esquema exista no seu banco de dados. Por favor, use CREATE SCHEMA [schemaname]se você precisar criar um esquema também.

EDIT: atualizado para observar o SQL Server 11.03 exigindo que esta seja a única instrução no lote.

Shaun F
fonte
1
Sim, eu sei que eu poderia fazer isso, eu só estava me perguntando se a versão do diálogo tinha uma opção em algum lugar para fazer isso.
Matt
Eu tentei o mesmo, não está funcionando, estou fazendo algo errado? Ou apenas funciona no MSSQL 2012?
Pankaj Parkar
7
@PankajParkar: Isso não funcionará se o esquema não existir. Crie o esquema primeiro usando create schema [schema_Name]seguido pela consulta acima.
Sangram Nandkhile
14

                           criar um esquema de banco de dados no SQL Server 2008
1. Navegue para Segurança> Esquemas
2. Clique com o botão direito do mouse em Esquemas e selecione Novo esquema
3. Conclua os detalhes na guia Geral do novo esquema. Assim, o nome do esquema é "MySchema" e o proprietário do esquema é "Admin".
4. Adicione usuários ao esquema conforme necessário e defina suas permissões:
5. Adicione propriedades estendidas (através da guia Propriedades Estendidas)
6. Clique em OK.
                          Adicionar uma tabela ao novo esquema "MySchema"
1. No Pesquisador de objetos, clique com o botão direito do mouse no nome da tabela e selecione "Design":
2. Alterando o esquema do banco de dados para uma tabela no SQL Server Management Studio
3. Na exibição Design, pressione F4 para exibir a janela Propriedades.
4. Na janela Propriedades, altere o esquema para o esquema desejado:
5. Feche o Design View clicando com o botão direito do mouse na guia e selecionando "Close":
6. Fechando o Design View
7. Clique em "OK" quando solicitado a salvar
8. Sua tabela agora foi transferida para o esquema "MySchema".

Atualizar a exibição do Navegador de objetos Para confirmar as alterações
Concluídas

Aftab Uddin
fonte
Muito útil o processo de criação do esquema de banco de dados anterior. Obrigado.
precisa saber é o seguinte
12

Pressione F4 e você obterá o que está procurando.

mapa
fonte
5

A resposta de Shaun F não funcionará se o Esquema não existir no banco de dados. Se alguém estiver procurando uma maneira de criar esquema, basta executar o script a seguir para criar o esquema.

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

Ao adicionar uma nova tabela, vá para o modo de design da tabela e pressione F4para abrir a propriedade Window e selecione o esquema no menu suspenso. O padrão é dbo.

Você também pode alterar o esquema da tabela atual usando a janela Propriedade.

Referir:

insira a descrição da imagem aqui

Sangram Nandkhile
fonte
No SQL Server 11.0.3+, isso gerará um erro, CREATE SCHEMA deve ser a única operação no lote. CREATE SCHEMA setup; GO
hajikelist
3

Quando crio uma tabela usando o SSMS 2008, vejo três painéis:

  • O designer da coluna
  • Propriedades da coluna
  • As propriedades da tabela

No painel de propriedades da tabela, há um campo: Schemaque permite selecionar o esquema.

Brannon
fonte