none
ALTER SCHEMA RRS feed

  • Pergunta

  • Salve!

     

    Tenho algumas tabelas populadas, as quais preciso alterar o SCHEMA. Estou acessando um computador remoto pelo qual tenho acesso via SQL Express a DATABASE.

    No SSMS do Server consigo rodar o comando:

    ALTER SCHEMA NOMESCHEMA TRANSFER OUTROSCHEMA.OBJETO

    Via remoto, no SQL Express não consigo rodar este comando, indica um erro próximo a palavra chave SCHEMA. É alguma limitação, ou existe sintaxe diferente para rodar este comando no SQL Express.

    Desde já agradecido
    Atenciosamente
    Alexandre

     

     

     

    terça-feira, 20 de junho de 2006 13:28

Respostas

  • não existe nenhum erro de sintaxe não  verifique o nome do objeto se esta correto

    no exemplo abaixo ele irá transferir o objeto Address do schema Person para o schema HumanResources

     

    USE AdventureWorks;
    GO
    ALTER SCHEMA HumanResources TRANSFER Person.Address;
    GO

    terça-feira, 20 de junho de 2006 13:39
  • Alexandre,

    Cara so para complementar o que o Andre falou verifica a sua permissão(escopo) para esse comando, tem uma pagina do msdn que explica bem esse raio de visão abaixo link:

    Faz um teste usando :

    SELECT name, object_id
    FROM sys.tables
    WHERE name = 'tabela';
    GO

    http://msdn2.microsoft.com/en-us/library/ms187113.aspx

    terça-feira, 20 de junho de 2006 13:56

Todas as Respostas

  • não existe nenhum erro de sintaxe não  verifique o nome do objeto se esta correto

    no exemplo abaixo ele irá transferir o objeto Address do schema Person para o schema HumanResources

     

    USE AdventureWorks;
    GO
    ALTER SCHEMA HumanResources TRANSFER Person.Address;
    GO

    terça-feira, 20 de junho de 2006 13:39
  • Oi André!
    Obrigado pela atenção!
    Certamente não há erro de SCHEMA, eu consigo executar este comando a partir do MSSQL Server, mas  não consigo a partir do MSSQL Express, é alguma limitação? Como contornar?

    Desde já agradecido
    Atenciosamente
    Alexandre

    PS: Eu havia respondido anteriormente, mas, parece que o fórum "engoliu" a resposta..; //;C|
    terça-feira, 20 de junho de 2006 13:51
  • Alexandre,

    Cara so para complementar o que o Andre falou verifica a sua permissão(escopo) para esse comando, tem uma pagina do msdn que explica bem esse raio de visão abaixo link:

    Faz um teste usando :

    SELECT name, object_id
    FROM sys.tables
    WHERE name = 'tabela';
    GO

    http://msdn2.microsoft.com/en-us/library/ms187113.aspx

    terça-feira, 20 de junho de 2006 13:56
  • Não tem nenhuma limitação quanto ao uso dessa instrução.....  da uma olhada nas permissões que vc tem e qualificação do schema..

     

     

     

    terça-feira, 20 de junho de 2006 14:30
  • Salve!

    Não consigo por intermédio do SQL Express executar este comando do link, aliás obrigado, me retorna uma msg de erro informando que não consegue localizar esta tabela. Ao abrir o menu desdobrável de SYSTEM.TABLES verifico que por lá não aparece SYS.TABLES.

    Há alguma forma de contornar este problema, por exemplo: adicionando autoridade ao meu usuário que é owner da database, ou ainda modificando o SCHEMA?


    Desde já agradecido
    Atenciosamente
    Alexandre

    sexta-feira, 23 de junho de 2006 01:11
  • André,

    Eu tenho algumas dúvidas sobre schema, gostaria da sua colaboração para poder conhecer um pouco mais sobre este assunto:

    1 - Na verdade o que é schema?

    2 - Quando falamos de schema, o que exatamente podemos alterar?

    3 - Qual é a função do schema em relação aos objetos do banco de dados?

    sexta-feira, 23 de junho de 2006 12:38
  • Junior um schema é um conjunto de objetos e cada usuário no SQL Server 2005 é atribuido a um schema onde ele pode criar os objetos...

    é um local de armazenamento lógico para definição de permissões

    no SQL Server 2000 fica atrelado ao nome do usuário

    sexta-feira, 23 de junho de 2006 13:02
  • Valeu, André.

    Com certeza, agora eu consige entender.

    Muito obrigado, pela atenção.

    Só para você saber, eu estou fazendo Certificação para MCDBA, tenho um grande sonho em conseguir obter esta certificação.

    sexta-feira, 23 de junho de 2006 13:09
  • Salve!

    Consegui contornar este problema usando a procedure:

    sp_changeobjectcowner

    Não é o padrão, pois SCHEMA é outra coisa... Mas alguém pode atentar para o erro apontado no meu último POST.

    - Não consegui usar o comando para sys.tables;

     

    Outra pergunta, sendo OWNER da DATABASE o meu usuário não deveria ser irrestrito qto aos outros objetos e SCHEMAS?

    Atenciosamente
    Alexandre

    segunda-feira, 26 de junho de 2006 03:11