Usuário com melhor resposta
clonar tabela e todos os seus atributos (triggers, keys, constraints, indexes, statistics)

Pergunta
-
Senhores, alguém saber como clonar uma tabela com além dos registros todos os seus atributos como triggers, Keys, constraints, indexes, statistics. Preciso fazer uma copia exata desta tabela na base com outro nome para manter um backup. Percebi que mesmo fazendo um import/export estas informações não são gravadas na tabela.
Rodrigo
Respostas
-
Alexandre, .. obrigado pela dica .. consegui gerando o script selecionando apenas a tabela, deixando o schema only e mudando o index para true, depois editei o script e adicionei o select distinct para fazer a copia da tabela em primeiro e abaixo o restante para criar os indexes e constaints - a tabela ficou igual a copiada!
USE [DB_XXXX_TST]
GO
/****** Object: Table [dbo].[XX003_PASSO1] Script Date: 06/05/2013 11:43:51 ******/
SELECT DISTINCT *
INTO [dbo].[XX003_PASSO1]
FROM [dbo].[XX003]
GO
SET ANSI_PADDING OFF
GO
CREATE UNIQUE NONCLUSTERED INDEX [XX003000] ON [dbo].[XX003_PASSO1]
(
[RECNUM] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
.
.
.continua .../****** Object: Default [DF__XX003__CD_ITEM__3E6C16AE] Script Date: 06/05/2013 11:43:51 ******/
ALTER TABLE [dbo].[XX003_PASSO1] ADD DEFAULT ('') FOR [CD_ITEM]
GO
/****** Object: Default [DF__XX003__DN_ITEM_I__3F603AE7] Script Date: 06/05/2013 11:43:51 ******/
ALTER TABLE [dbo].[XX003_PASSO1] ADD DEFAULT ('') FOR [DN_ITEM_IND]
GO
.
.
.continua ...Rodrigo
- Marcado como Resposta Rodrigo R Santos quarta-feira, 5 de junho de 2013 15:07
Todas as Respostas
-
Rodrigo, voce pode gerar o script de criação da sua tabela e aplicar na sua outra base, a partir dai só importar os registros da origem para esta base, porem se ela referenciar outras tabelas tendo dependencias as mesmas tem que existir com os dados no seu banco de copia.
Alexandre Matayosi Conde Mauricio.
-
Boa tarde Rodrigo, Alexandre uma dúvida ele não teria que fazer o backup individual dos outros objetos Trigger etc?
Abração
Wellinghton Pimentel 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.
- Editado Wellinghton Ferreira Pimentel quarta-feira, 5 de junho de 2013 14:27
-
Alexandre, .. obrigado pela dica .. consegui gerando o script selecionando apenas a tabela, deixando o schema only e mudando o index para true, depois editei o script e adicionei o select distinct para fazer a copia da tabela em primeiro e abaixo o restante para criar os indexes e constaints - a tabela ficou igual a copiada!
USE [DB_XXXX_TST]
GO
/****** Object: Table [dbo].[XX003_PASSO1] Script Date: 06/05/2013 11:43:51 ******/
SELECT DISTINCT *
INTO [dbo].[XX003_PASSO1]
FROM [dbo].[XX003]
GO
SET ANSI_PADDING OFF
GO
CREATE UNIQUE NONCLUSTERED INDEX [XX003000] ON [dbo].[XX003_PASSO1]
(
[RECNUM] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
.
.
.continua .../****** Object: Default [DF__XX003__CD_ITEM__3E6C16AE] Script Date: 06/05/2013 11:43:51 ******/
ALTER TABLE [dbo].[XX003_PASSO1] ADD DEFAULT ('') FOR [CD_ITEM]
GO
/****** Object: Default [DF__XX003__DN_ITEM_I__3F603AE7] Script Date: 06/05/2013 11:43:51 ******/
ALTER TABLE [dbo].[XX003_PASSO1] ADD DEFAULT ('') FOR [DN_ITEM_IND]
GO
.
.
.continua ...Rodrigo
- Marcado como Resposta Rodrigo R Santos quarta-feira, 5 de junho de 2013 15:07