Desabilitar o Identity de uma tabela para fazer Insert
Existem algumas situações que você quer migrar os dados de uma tabela, porém deseja manter o ID original dos registros. Se o campo da nova tabela for IDENTITY você só vai conseguir isto se desabilitar o mesmo. Você deve desabilitar, fazer o Insert e habilitar novamente.
1 2 3 4 5 6 7 |
-- Desabilitando o identity SET IDENTITY_INSERT ON GO -- Habilita do identity SET IDENTITY_INSERT OFF GO |
Exemplo prático disso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/* FAZ A MIGRAÇÃO DOS AUTORES */ -- Desabilitando o identity SET IDENTITY_INSERT dbo.tb_autor ON GO INSERT INTO [dbo].[TB_AUTOR] ([cd_autor], [tx_nome] ,[tx_foto] ,[tx_sobre] ,[tx_url_site]) SELECT codigo_autor,UPPER(nome_autor), Imagem_autor,sobre_autor,link_pagina FROM dbo.autores GO -- Habilita do identity SET IDENTITY_INSERT dbo.tb_autor OFF GO |
Desabilitando relacionamento entre tabelas para fazer insert
As vezes em migração de dados queremos fazer INSERT em tabelas que estão com relacionamentos com outras tabelas e no momento do INSERT ainda não temos todas as tabelas preenchidas. Um comando que ajuda bastante é o que está abaixo. Ele desabilita os relacionamentos e você consegui fazer o INSERT sem problemas. Mas depois lembre-se […]
Como fazer um UPDATE com um Select
Pessoal, Para fazer um UPDATE com um SELECT é mais simples que pensamos. Abaixo coloco um exemplo teórico.
1 2 3 4 5 6 7 8 9 10 11 |
UPDATE Table SET Table.col1 = other_table.col1, Table.col2 = other_table.col2 FROM Table INNER JOIN other_table ON Table.id = other_table.id |
Agora um exmplo prático … Queria fazer um update na tabela de tb_livros com o código do formato correlacionado a tabela tb_formato a partir de um campo temporário contendo o formato.
1 2 3 4 5 6 7 8 9 |
UPDATE TB_LIVRO SET TB_LIVRO.cd_formato = TB_FORMATO.cd_formato FROM TB_LIVRO INNER JOIN TB_FORMATO ON TB_FORMATO.tx_formato = TB_LIVRO.tx_formato_temp |
[…]
Limpar Log de Banco no SQL Server (Arquivo .LDF)
Pessoal, Muitas vezes o disco do servidor do banco de dados acaba o espaço porque não é feita uma manutenção nos arquivos de log dos bancos SQL. Com o comando abaixo conseguimos limpar os logs (arquivos .ldf). Mas cuidado! Isto APAGA todo o log. Se você precisa do log por algum motivo faça um BKP […]
ASP 0104 : 80004005 Operation not Allowed
Pessoal, No meu caso estou usando o ASPSmartUpload, mas pode acontecer o mesmo erro com outros componentes. O ambiente foi o Windows Server 2003 com IIS 6. Isto ocorre porque por default existe uma limitação do tamanho do arquivo no IIS 6. Para resolver: Para resolver esse problema, modifique o valor na propriedade AspMaxRequestEntityAllowed para definir […]
Matar Conexões de uma Base SQL Server
Pessoal, Quem nunca teve o terrível desprazer de fazer um restore em uma base SQL Server e receber o erro que não foi possível fazer porque o banco de dados estava em uso. Ai você pede para todo mundo fechar as conexões e recebe o mesmo erro. Bom, pesquisei na Internet e achei este script […]