none
Alter schema de muitas tabelas no SQL Server 2005 RRS feed

Respostas

  • Boa Tarde,

     

    Para fazer isso basta usar o comando ALTER SCHEMA. Fiz um pequeno script que deve resolver o seu problema:

     

    Code Block

    DECLARE @novoSchema VARCHAR(100), @antigoSchema VARCHAR(100)

    SET @novoSchema = 'Person'

    SET @antigoSchema = 'BD'

    SELECT 'ALTER SCHEMA ' + @novoSchema + ' TRANSFER ' + @antigoSchema + '.' + NAME

    FROM SYS.OBJECTS WHERE TYPE = 'U' AND Schema_ID =

    (SELECT schema_id FROM sys.schemas WHERE name = @antigoSchema)

     

     

     

    Só é preciso lembrar que alterar um objeto de Schema faz com que ele perca as permissões. A menos que você tenha permissões mais genéricas (db_owner), será preciso gerar as permissões antes da alteração para aplicá-las posteriormente.

     

    Lembre-se de que isso pode provocar problemas com o código de sua aplicação e de suas SPs. Se a necessidade é puramente porque os objetos não estão qualificados, poderia ser mais fácil alterar o Default esquema do usuário de aplicação.

     

    [ ]s,

     

    Gustavo

    • Marcado como Resposta Richard Juhasz terça-feira, 7 de agosto de 2012 23:34
    domingo, 6 de janeiro de 2008 16:56