none
É possível apenas um campo da tabela estar corrompido ? RRS feed

  • Pergunta

  • Ex:  Tabela Produtos com 50 campos, dentre eles o campo 'NCM'.  Na tabela há 20.000 registros.  

    É possível apenas esse campo 'NCM', dentre os 50 existentes, estar corrompido, e em todos os 20.000 registros ?

    Minha dúvida surgiu da seguinte situação: Há 3 dias postei uma dúvida aqui sobre um erro que começou num cliente. O erro era 'Provedor de Memória Compartilhada....Não há processo no outro extremo do pipe.'  Depois de muita pesquisa achei a solução (e coloquei lá no post a resposta).   Resumindo: A base de dados estava corrompida, mas alguns 'DBCCs' resolveram, e tudo voltou ao normal.

    Porém o cliente notou que somente no cadastro de produtos, somente quando este campo NCM é alterado o SQL2008Express retorna o erro 'Falha de vínculo de comunicação'.  Para qualquer outro campo que seja alterado neste cadastro ou em todo o resto do sistema o processamento é feito de forma perfeita, sem erro algum.

    Como explicar isso ?  

    Muito obrigado pela atenção dispensada.



    quinta-feira, 29 de novembro de 2012 16:03

Respostas

  • Dival,

    Para aparecer a criação de índices junto do script do CREATE TO , você precisa habilitar a opção de índices no script, segue procedimento abaixo.

    1º Ferramentas / Opções.

    2º Pesquisidor de Objetos do SQL Server / Script, após clicar em Script , na parte a direita você procurar a opção 'índices no Script' e sete essa opção como TRUE.




    Após fazer isso, você faz o procedimento de CREATE TO novamente, que a criação dos índices dessa tabela estarão no mesmo script.


    []'s

    sexta-feira, 21 de dezembro de 2012 17:22
  • Dival,

    Faça um teste:

    1 - Crie uma nova tabela com a mesma estrutura da atual;

    2 - Copie os dados para esta nova tabela;

    3 - Renomeie a tabela atual para outro nome;

    4 - Através da sua aplicação execute as mesmas operações.

    Veja se o problema persiste.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    segunda-feira, 10 de dezembro de 2012 16:31
    Moderador
  • Junior,

    Sim, a alternativa é essa mesma, mas não sei se estou errando num ponto ou o SQLServer não faz/possui essa opção:

    Fiz tudo certo, mas notei que o script gerado no Studio com 'Create to' não inclui os relacionamentos da tabela.  Marcando a opção indicada pelo Fernando os índices foram criados no script, mas as dependências não (lembre-se: há 20 tabelas relacionadas com Produtos !)

    Dentro da tela de Ferramentas > Opções (cf printscreen acima) há na 1a.opção 'Gerar Script para Objetos Dependentes'.  Setei como 'True' (padrão é False) mas mesmo assim os relacionamentos da tabela Produtos não foram gerados no script.

    Há como fazer isso pelo Studio ou a única forma é montar os relacionamentos 'na unha' ?

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Seguindo sua sugestão,  o que farei:

    -Exportar dados da tabela Produtos para um arquivo texto (produtos.txt).     Gerar script (create to) de Produtos.      Renomear Produtos para Produtos2.      Excluir 'PK_Produtos' da renomeada Produtos2 (se não fizer isso dá erro ao executar o script com 'create to' para nova tabela Produtos).     Importar dados do arquivos produtos.txt para a nova tabela Produtos.

    Está certo ?

    Novamente muito obrigado pela ajuda dispensada até o momento.


    • Marcado como Resposta Dival quarta-feira, 26 de dezembro de 2012 17:37
    quarta-feira, 26 de dezembro de 2012 15:40

Todas as Respostas

  • Dival, muito estranho isto, nunca vi somente 1 campo estar corrompido, ja que teoricamente um registro deste campo ficaria na mesma paginação dos outros.

    O que eu tentaria fazer seria criar uma outra tabela, exportaria todos os dados desta tabela para esta outra, apagaria a original e renomearia esta nova tabela com o mesmo nome da anterior criando tambem as referencias, acredito que deva funcionar.


    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    sexta-feira, 30 de novembro de 2012 11:13
  • Dival,

    O que pode ter acontecido é a existência de um índice vinculado a esta coluna e o índice estar corrompido, mas o campo propriamente eu nunca presenciei.

    Você pode estar tendo um problema na página de dados que se encontra os dados deste campo armazenado, mas se a página esta danificado provavelmente o problema iria afetar outras áreas da tabela e não somente este campo.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 30 de novembro de 2012 15:57
    Moderador
  • Primeiramente muito obrigado pelo retorno.

    Há algum 'DBCC...' que corrija um índice vinculado a uma coluna, que por ventura possa estar (ele, índice) corrompido ?

    Em suma:  Entendi onde possa estar o problema, só não tenho a mínima noção por onde começar a resolução dele.

    Muito obrigado pela atenção dispensada.

    segunda-feira, 3 de dezembro de 2012 18:55
  • Olá Dival, qual a versão do SQL Server você utiliza? Já tentou usar o comando REBUILD ou DBCC DBREINDEX. Verifica também o estado desta tabela usando as DMVs se caso use versão superior a SQL Server 2000.  Qualquer coisa posta o resultados para tentarmos ajudar mais.

    **Ajude a melhorar o sistema de busca do fórum.Marque a(s) resposta(s) que foram úteis**
    **Se esta resposta solucionou a questão, então, por favor, marque-a como resposta.** 


    segunda-feira, 3 de dezembro de 2012 21:32
  • Agora complicou de vez...

    Apliquei o REBUILD da seguinte forma:  (Utilizando SQL2008R2Express 32bits)

    ALTER DATABASE <NOME-BANCO> SET SINGLE_USER WITH ROLLBACK IMMEDIATE    -- Altera o banco para modo único 
    DBCC CHECKDB('NOME-BANCO',REPAIR_REBUILD)      -- Reindexa Banco – Dependendo do tamanho do DB demora uns Minutos. 
    ALTER DATABASE <NOME-BANCO> SET MULTI_USER WITH ROLLBACK IMMEDIATE    -- Volta o Banco a modo Multi usuário 

    Nas tabelas de sistema não foram apresentados erros (postei lá no final), mas em várias tabelas foram exibidas mensagens de erro como a que destaquei abaixo. O estranho é que na tabela PRODUTOS, fonte originária deste post, não foi apresentado erro nenhum.

    Peço gentilmente que, dentro do possível, me ajudem a 'decifrar' o que está sendo exibido como erro, e o que pode ser feito para tentar corrigir essa situação.

    ::: Mensagem de erro apresentado em diversas tabelas ('Itens_nf_compra', 'Itens_nf_venda', 'Itens_orcamento', 'Pedidos', dentre outras)

    Resultados do DBCC para 'ITENS_NF_COMPRA'. Mensagem 8978, Nível 16, Estado 1, Linha 1Erro de tabela: ID de objeto 592721164, ID de índice 1, ID de partição 320319550914560, ID de unidade de alocação 38844574203904 (tipo In-row data). Na página (1:4117) falta uma referência da página anterior (1:4119). Possível problema de vínculo de cadeia. A correção deste erro requer a correção prévia de outros erros.

    ::: Resumo do DBCC e das tabelas do Sistema :::

    Resultados do DBCC para 'NOME-BANCO'.

    Mensagem do Service Broker 9675, Estado 1: Tipos de Mensagem analisados: 14.

    Mensagem do Service Broker 9676, Estado 1: Contratos de Serviço analisados: 6.
    Mensagem do Service Broker 9667, Estado 1: Serviços analisados: 3.
    Mensagem do Service Broker 9668, Estado 1: Filas de Serviço analisadas: 3.
    Mensagem do Service Broker 9669, Estado 1: Pontos de Extremidade de Conversa analisados: 0.
    Mensagem do Service Broker 9674, Estado 1: Grupos de Conversa analisados: 0.
    Mensagem do Service Broker 9670, Estado 1: Associações de Serviço Remoto analisadas: 0.
    Mensagem do Service Broker 9605, Estado 1: Prioridades de Conversa analisadas: 0.
    Resultados do DBCC para 'sys.sysrscols'.
    Existem 2068 linhas em 24 páginas para o objeto "sys.sysrscols".
    Resultados do DBCC para 'sys.sysrowsets'.
    Existem 239 linhas em 3 páginas para o objeto "sys.sysrowsets".
    Resultados do DBCC para 'sys.sysallocunits'.
    Existem 252 linhas em 4 páginas para o objeto "sys.sysallocunits".
    Resultados do DBCC para 'sys.sysfiles1'.
    Existem 2 linhas em 1 páginas para o objeto "sys.sysfiles1".
    Resultados do DBCC para 'sys.syspriorities'.
    Existem 0 linhas em 0 páginas para o objeto "sys.syspriorities".
    Resultados do DBCC para 'sys.sysfgfrag'.
    Existem 2 linhas em 1 páginas para o objeto "sys.sysfgfrag".
    Resultados do DBCC para 'sys.sysphfg'.
    Existem 1 linhas em 1 páginas para o objeto "sys.sysphfg".
    Resultados do DBCC para 'sys.sysprufiles'.
    Existem 2 linhas em 1 páginas para o objeto "sys.sysprufiles".
    Resultados do DBCC para 'sys.sysftinds'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysftinds".
    Resultados do DBCC para 'sys.sysowners'.
    Existem 14 linhas em 1 páginas para o objeto "sys.sysowners".
    Resultados do DBCC para 'sys.sysprivs'.
    Existem 166 linhas em 1 páginas para o objeto "sys.sysprivs".
    Resultados do DBCC para 'sys.sysschobjs'.
    Existem 374 linhas em 5 páginas para o objeto "sys.sysschobjs".
    Resultados do DBCC para 'sys.syscolpars'.
    Existem 2241 linhas em 30 páginas para o objeto "sys.syscolpars".
    Resultados do DBCC para 'sys.sysnsobjs'.
    Existem 1 linhas em 1 páginas para o objeto "sys.sysnsobjs".
    Resultados do DBCC para 'sys.syscerts'.
    Existem 0 linhas em 0 páginas para o objeto "sys.syscerts".
    Resultados do DBCC para 'sys.sysxprops'.
    Existem 40 linhas em 1 páginas para o objeto "sys.sysxprops".
    Resultados do DBCC para 'sys.sysscalartypes'.
    Existem 34 linhas em 1 páginas para o objeto "sys.sysscalartypes".
    Resultados do DBCC para 'sys.systypedsubobjs'.
    Existem 0 linhas em 0 páginas para o objeto "sys.systypedsubobjs".
    Resultados do DBCC para 'sys.sysidxstats'.
    Existem 1294 linhas em 22 páginas para o objeto "sys.sysidxstats".
    Resultados do DBCC para 'sys.sysiscols'.
    Existem 2534 linhas em 15 páginas para o objeto "sys.sysiscols".
    Resultados do DBCC para 'sys.sysbinobjs'.
    Existem 23 linhas em 1 páginas para o objeto "sys.sysbinobjs".
    Resultados do DBCC para 'sys.sysaudacts'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysaudacts".
    Resultados do DBCC para 'sys.sysobjvalues'.
    Existem 1289 linhas em 415 páginas para o objeto "sys.sysobjvalues".
    Resultados do DBCC para 'sys.sysclsobjs'.
    Existem 16 linhas em 1 páginas para o objeto "sys.sysclsobjs".
    Resultados do DBCC para 'sys.sysrowsetrefs'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysrowsetrefs".
    Resultados do DBCC para 'sys.sysremsvcbinds'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysremsvcbinds".
    Resultados do DBCC para 'sys.sysxmitqueue'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysxmitqueue".
    Resultados do DBCC para 'sys.sysrts'.
    Existem 1 linhas em 1 páginas para o objeto "sys.sysrts".
    Resultados do DBCC para 'sys.sysconvgroup'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysconvgroup".
    Resultados do DBCC para 'sys.sysdesend'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysdesend".
    Resultados do DBCC para 'sys.sysdercv'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysdercv".
    Resultados do DBCC para 'sys.syssingleobjrefs'.
    Existem 301 linhas em 2 páginas para o objeto "sys.syssingleobjrefs".
    Resultados do DBCC para 'sys.sysmultiobjrefs'.
    Existem 308 linhas em 2 páginas para o objeto "sys.sysmultiobjrefs".
    Resultados do DBCC para 'sys.sysguidrefs'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysguidrefs".
    Resultados do DBCC para 'sys.syscompfragments'.
    Existem 0 linhas em 0 páginas para o objeto "sys.syscompfragments".
    Resultados do DBCC para 'sys.sysftstops'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysftstops".
    Resultados do DBCC para 'sys.sysqnames'.
    Existem 97 linhas em 1 páginas para o objeto "sys.sysqnames".
    Resultados do DBCC para 'sys.sysxmlcomponent'.
    Existem 99 linhas em 1 páginas para o objeto "sys.sysxmlcomponent".
    Resultados do DBCC para 'sys.sysxmlfacet'.
    Existem 112 linhas em 1 páginas para o objeto "sys.sysxmlfacet".
    Resultados do DBCC para 'sys.sysxmlplacement'.
    Existem 18 linhas em 1 páginas para o objeto "sys.sysxmlplacement".
    Resultados do DBCC para 'sys.sysobjkeycrypts'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysobjkeycrypts".
    Resultados do DBCC para 'sys.sysasymkeys'.
    Existem 0 linhas em 0 páginas para o objeto "sys.sysasymkeys".
    Resultados do DBCC para 'sys.syssqlguides'.
    Existem 0 linhas em 0 páginas para o objeto "sys.syssqlguides".
    Resultados do DBCC para 'sys.sysbinsubobjs'.
    Existem 3 linhas em 1 páginas para o objeto "sys.sysbinsubobjs".
    Resultados do DBCC para 'sys.syssoftobjrefs'.
    Existem 52 linhas em 1 páginas para o objeto "sys.syssoftobjrefs".

    A execução do DBCC foi concluída. Se o DBCC imprimiu mensagens de erro, entre em contato com o administrador do sistema.

    quarta-feira, 5 de dezembro de 2012 02:04
  • Dival,

    Foi como eu imaginei, você esta com um problema de alocação de dados em seu banco, sendo que, algumas partições, ou seja, as áreas relacionadas as páginas de dados que fazem a alocação dos dados fisicamente em disco.

    Minha sugestão seria utilizar o comando DBCC CheckDB('SeuBanco', REPAIR_ALLOW_DATA_LOSS), para forçar a recuperação dos dados e também suas áreas de alocação.

    Outra possíbilidade muito grande é a existência de índices corrompidos, o que você poderia fazer é identificar as partições com problemas e os índices que estão relacionados com estas áreas, fazer o processo de recriação dos índices.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 5 de dezembro de 2012 17:23
    Moderador
  • Executei a instrução sugerida pelo Junior (DBCC CheckDB('SeuBanco', REPAIR_ALLOW_DATA_LOSS)).

    Nas tabelas onde foram exibidos os erros já relatados no post anterior foram exibidos também, para cada erro, a mensagem 'O ERRO FOI CORRIGIDO', porém não resolveu nada.  O problema original deste tópico (erro ao alterar um campo no cadastro de produtos) permanece.

    E novamente: Na tabela de Produtos não foi relatado nenhum erro, mas somente em algumas outras tabelas relacionadas com Produtos.  E assim sendo, por que o sql server apresenta erro na alteração somente de um campo do Produto ???

    Como faço para executar a 2a. dica sugerida pelo Junior ? ("...o que você poderia fazer é identificar as partições com problemas e os índices que estão relacionados com estas áreas, fazer o processo de recriação dos índices")

    Novamente muito obrigado pela atenção dispensada.

    Segue mensagem de erro: (exibida em mais 16 tabelas da base)

    Resultados do DBCC para 'ITENS_NF_COMPRA'.

    Correção: o índice Clustered foi recriado com êxito para o objeto "dbo.ITENS_NF_COMPRA" no banco de dados "TESTE".

    Correção: a página (1:4119) foi desalocada da ID de objeto 592721164, ID de índice 1, ID de partição 320319550914560, ID de unidade de aloc. 38844574203904 (tipo In-row data).

    Mensagem 8945, Nível 16, Estado 1, Linha 1

    Erro de tabela: ID de objeto 592721164, ID de índice 1 serão recriados.

            O erro foi corrigido.

    sexta-feira, 7 de dezembro de 2012 14:07
  • Dival,

    Quando você fala de alteração esta se referindo a estrutura do campo ou alteração de dados.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 7 de dezembro de 2012 17:17
    Moderador
  • Desculpe-me não explicar direito:

    Alteração de dados, não da estrutura do campo.

    Tanto pelo meu aplicativo, como pelo Management Studio, ao tentar alterar a informação contida num campo da tabela de produtos é retornado o erro citado lá no 1o. post.  (se o campo está preenchido com '12345' e tenta-se alterá-lo para qualquer outro conteúdo, ou deixá-lo em branco, é retornado o erro.  Porém, para inclusão de um novo registro na tabela, independente de se preenchido esse campo ou não, a inclusão funciona perfeitamente. Detalhe: Esse campo não é campo-chave, nem está relacionado com nenhuma outra tabela. É um simples campo tipo varchar(20) )

    Muito obrigado pela atenção dispensada.

    sexta-feira, 7 de dezembro de 2012 19:03
  • Dival,

    Faça um teste:

    1 - Crie uma nova tabela com a mesma estrutura da atual;

    2 - Copie os dados para esta nova tabela;

    3 - Renomeie a tabela atual para outro nome;

    4 - Através da sua aplicação execute as mesmas operações.

    Veja se o problema persiste.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    segunda-feira, 10 de dezembro de 2012 16:31
    Moderador
  • Olá Dival,


    Index de ID 1 é indice cluster, ou seja, é corrompimento de dados no nivel folha do indice queé onde está situado o dado. REPAIR_ALLOW_DATA_LOSS não vai resolver o problema. O que eu indico é realizar um restore apenas da pagina de dados 4119.

    Se a resposta foi util, classifique-a


    Att, Marcos Freccia [MCTS|MCITP|MCT SQL Server 2008]

    quinta-feira, 20 de dezembro de 2012 00:27
  • Freccia,

    Cara mas como ele vai restaurar somente esta página de dados? O que eu entendi é que a partição que esta alocando esta página esta apresentando falha.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 20 de dezembro de 2012 17:19
    Moderador
  • Por acaso há alguma forma de reparar apenas a partição que está alocando esta página que apresenta o erro ?

    Já tentei por tudo que é 'DBCC' correspondente a manutenção de tabelas e índice e não resolveu (DBRINDEX, INDEXFRAG, CHECKTABLE, etc., todos com 'n' parâmetros diferentes), e não há como excluir a tabela de Produtos e gerar outra pq essa tabela relaciona-se com mais 20 tabelas do sistema, portanto o próprio SQLServer impede tal procedimento.

    Nota curiosa:

    Qualquer instrução Select ou Update na tabela com erro (Produtos) que envolva o campo com erro (NCM) é retornado o erro "oi detectada uma inconsistência durante uma operação interna. Contate o suporte técnico". Se o Select ou Update não envolverem o campo NCM então o processamento é executado com sucesso.  Já o Insert funciona de qualquer jeito, tendo ou não o campo NCM envolvido na instrução.

    --------

    Surgiu-me uma ultima idéia aqui, mas para isso eu precisaria de uma pequena ajuda:

    Ao utilizar no Studio a opção da tabela 'Create to' notei que a criação dos índices da tabela a ser criada não é gerada no script.   Há alguma forma no Studio de se gerar um 'Create table' (neste caso: Produtos) onde o script possua tudo, desde a criação de campos até os relacionamentos ?

    Muito obrigado a todos por toda ajuda dispensada até o momento.

    sexta-feira, 21 de dezembro de 2012 12:12
  • Dival,

    Para aparecer a criação de índices junto do script do CREATE TO , você precisa habilitar a opção de índices no script, segue procedimento abaixo.

    1º Ferramentas / Opções.

    2º Pesquisidor de Objetos do SQL Server / Script, após clicar em Script , na parte a direita você procurar a opção 'índices no Script' e sete essa opção como TRUE.




    Após fazer isso, você faz o procedimento de CREATE TO novamente, que a criação dos índices dessa tabela estarão no mesmo script.


    []'s

    sexta-feira, 21 de dezembro de 2012 17:22
  • Fernando,

    Muito obrigado pela orientação.

    sábado, 22 de dezembro de 2012 15:17
  • Dival,

    Esta alternativa que você pensou em utilizar para gerar a sua table esta alinhanada com uma orientação que eu te passei anteriormente, criando uma nova table com a mesma estrutura, copiando os dados para esta nova table e depois testando.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 26 de dezembro de 2012 13:32
    Moderador
  • Junior,

    Sim, a alternativa é essa mesma, mas não sei se estou errando num ponto ou o SQLServer não faz/possui essa opção:

    Fiz tudo certo, mas notei que o script gerado no Studio com 'Create to' não inclui os relacionamentos da tabela.  Marcando a opção indicada pelo Fernando os índices foram criados no script, mas as dependências não (lembre-se: há 20 tabelas relacionadas com Produtos !)

    Dentro da tela de Ferramentas > Opções (cf printscreen acima) há na 1a.opção 'Gerar Script para Objetos Dependentes'.  Setei como 'True' (padrão é False) mas mesmo assim os relacionamentos da tabela Produtos não foram gerados no script.

    Há como fazer isso pelo Studio ou a única forma é montar os relacionamentos 'na unha' ?

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Seguindo sua sugestão,  o que farei:

    -Exportar dados da tabela Produtos para um arquivo texto (produtos.txt).     Gerar script (create to) de Produtos.      Renomear Produtos para Produtos2.      Excluir 'PK_Produtos' da renomeada Produtos2 (se não fizer isso dá erro ao executar o script com 'create to' para nova tabela Produtos).     Importar dados do arquivos produtos.txt para a nova tabela Produtos.

    Está certo ?

    Novamente muito obrigado pela ajuda dispensada até o momento.


    • Marcado como Resposta Dival quarta-feira, 26 de dezembro de 2012 17:37
    quarta-feira, 26 de dezembro de 2012 15:40
  • Dival,

    Estranho os relacionamentos devem ser criados no Script sim, isso é algo bastante comum de ser feito.

    Em relação a minha orientação é isso você que você destacou.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 26 de dezembro de 2012 16:10
    Moderador