Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leindo

Recriar indices

Recommended Posts

Boa tarde, alguém sabe alguma forma de resgatar a senteça SQL utilizada para criar um indice que está no banco?por exemplo no caso de uma tabela... recuperar o "create table bla bla bla" que gera a tabela com aquela estrutura, mas preciso disso para index.obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para sql server 2000:abra o query analyser, aperte F8, object browser, localize o banco de dados e a tabela que você quer fazer o esquema, clica na tabela com o direito do mouse e escolhe "Script Object to new Window As" e escolhe "create", será aberta uma nova tela no sql query analyser com o script da tabela juntamente com os indices.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente isso que eu quero !! Mas eu não me expressei muito bem, eu preciso via código, uma sentença, alguma idéia de como ter esse indice programavelmente. Você também sabe?Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

o SQL-DMO faz isso por T-SQL, veja:

declare @objDMO intdeclare @objDatabase intdeclare @resultCode intdeclare @dbname varchar(200)declare @tablename varchar(200)declare @cmd varchar(300)declare @temp varchar(8000)Set @dbname = 'PUBS'Set @tablename = 'Authors'EXEC @resultcode = sp_OACreate 'SQLDMO.SQLServer', @objDMO OUTif @resultcode = 0print 'Created Object'Exec @resultcode = sp_OASetProperty @objDMO, 'loginsecure', 'true'EXEC @resultcode = sp_OAMethod @objDMO, 'Connect', NULL, '(local)'if @resultcode = 0print 'connected'Set @cmd = 'databases("' + @dbname + '").tables("' + @tablename + '").script'Exec @resultcode = sp_OAMethod @objDMO, @cmd , @temp OUTPUT, 4print @tempEXEC @resultcode = sp_OADestroy @objDMOif @resultcode = 0Print 'destroyed object'
Autor: Damian Maclennen

URL: http://www.sqlteam.com/article/introduction-to-sql-dmo

 

mais sobre o SQL-DMO:

http://support.microsoft.com/kb/326613/pt-br

http://technet.microsoft.com/en-us/library/ms133560.aspx

 

curiosidade, pra que tu vai precisar disso?

 

 

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado ein !!então... estamos com problemas quando tentam alterar um collation no banco por causa do indice que está criado. Dai a solução seria pegar a sentença que cria o tal, dropar ele, alterar o que precisa e recriar.... !! se tiver uma solução melhor sou todo ouvidos !! mais uma vez obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.