none
Como faço para copiar dados que estão criptografados dentro de uma tabela para outra tabela? RRS feed

  • Pergunta

  • Estou tentando copiar os dados de uma tabela que contem 'usuário' e 'senha', porém o campo senha dessa tabela está criptografado. Quando tento copiar todos os registros que tenho nessa tabela de usuários para uma outra tabela, o Sql server não deixa. Como faço para conseguir 'enviar' esses dados para a nova tabela que criei?
    segunda-feira, 2 de dezembro de 2019 14:55

Respostas

  • Ana,

    Faça o seguinte, no seu comando Insert informe o nome das colunas que desejam ser utilizadas para receber os dados, tomando como base sua imagem, existe uma coluna que é utilizada na tabela TB_PWD_Padrao que possui a propriedade Identity, neste caso ela é gerada e numerada pelo próprio SQL Server, não informe ela.

    Veja um exemplo:

    Insert Into GrowMonitor_BP.dbo.TB_PWDPadrao(Coluna1, Coluna2, Coluna3......)
     Select Coluna1, Coluna2, Coluna3, ....... From Automate_11_scritp.dbo.TB_PWD_Padrao
    Go

    Ressalto para não usar no comando Insert a coluna que possui numeração automática, provavelmente deve ser a sua coluna chave primária, bem como, no Select não faça uso da coluna chave primária oriunda da tabela Automate_11_scritp.dbo.TB_PWD_Padrao.

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta Ana_Miguel segunda-feira, 2 de dezembro de 2019 18:48
    segunda-feira, 2 de dezembro de 2019 17:28

Todas as Respostas

  • Olá Ana

    Você poderia postar (uma images ou parte do codigo) como você esta tentando fazer esta cópia e poderia postar também a mensagem erro?

    Eu acredito que você esta usando Encrypted column, se for verdade o usario que esta tentando fazer a leitura deve ter a permissão correta, mas poste a mensagem de erro isto nos ajudará a entender melhor o problema.


    Att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS, MCITP, MCT e MVP.
    Se Útil, classifique!!!
    Me siga no twitter: @marcelodba

    • Sugerido como Resposta IgorFKModerator segunda-feira, 2 de dezembro de 2019 16:07
    segunda-feira, 2 de dezembro de 2019 15:14
  • Ana,

    Você se refere aos usuários e senhas criados no SQL Server ou de algum Sistema específico?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    segunda-feira, 2 de dezembro de 2019 16:52
  • Não, esses usuários e senhas são informações que são cadastradas no sistema e salvas no banco.

    Estou copiando os dados dessa tabela para outra tabela em uma nova base dados que criei. O erro que aparece é porque essa tabela tem um ID e como copiei a 

    tabela para a base nova, precisei excluir esse ID e adiciona-lo de novo, só que mesmo assim, o sql não copia os dados criptografados para a nova tabela.



    • Editado Ana_Miguel segunda-feira, 2 de dezembro de 2019 17:03
    segunda-feira, 2 de dezembro de 2019 17:02
  • Este erro aparece mesmo eu removendo o ID da tabela nova e adicionando novamente, o que não era para  acontecer, pois fiz o mesmo processo nas outras tabelas e nem uma apresentou mais esse erro.
    segunda-feira, 2 de dezembro de 2019 17:05
  • Olá Marcelo, acho que estou usando sim o encrypted column, porém continuo sem conseguir inserir os dados dessa tabela que está com criptografia na nova tabela que criei.

    O erro que aparece é porque essa tabela que está com criptografia no campo senha, tem um ID e como copiei a tabela para a base nova, precisei excluir esse ID e adiciona-lo de novo, só que mesmo assim, os dados não são copiados para a tabela nova. 

    segunda-feira, 2 de dezembro de 2019 17:19
  • Ana,

    Faça o seguinte, no seu comando Insert informe o nome das colunas que desejam ser utilizadas para receber os dados, tomando como base sua imagem, existe uma coluna que é utilizada na tabela TB_PWD_Padrao que possui a propriedade Identity, neste caso ela é gerada e numerada pelo próprio SQL Server, não informe ela.

    Veja um exemplo:

    Insert Into GrowMonitor_BP.dbo.TB_PWDPadrao(Coluna1, Coluna2, Coluna3......)
     Select Coluna1, Coluna2, Coluna3, ....... From Automate_11_scritp.dbo.TB_PWD_Padrao
    Go

    Ressalto para não usar no comando Insert a coluna que possui numeração automática, provavelmente deve ser a sua coluna chave primária, bem como, no Select não faça uso da coluna chave primária oriunda da tabela Automate_11_scritp.dbo.TB_PWD_Padrao.

    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta Ana_Miguel segunda-feira, 2 de dezembro de 2019 18:48
    segunda-feira, 2 de dezembro de 2019 17:28
  • Ana,

    Poderia nos mostrar a estrutura desta tabela?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    segunda-feira, 2 de dezembro de 2019 18:09