Pular para o conteúdo principal

Postagens

Mostrando postagens de agosto, 2009

Descobrir se a tabela é replicada – SQL Server 2000

Utilizo este script quase que diariamente. Como o título informa, é útil para casos de dúvidas se uma tabela é replicada ou não e em que publicação ela se encontra. Ah, não sei quem é o autor do script. use distribution go select mst1.srvname as 'Publisher', msp.publication as 'Publication Name', msp.description as 'Description', -- msp.publication_type, case msp.publication_type when 0 then 'Transactional' when 1 then 'Snapshot' when 2 then 'Merge' end as 'Type', msa.article as 'Article', mst.srvname as 'Subscriber' from msarticles msa (nolock), mspublications msp (nolock), master..sysservers mst (nolock), master..sysservers mst1 (nolock), mssubscriptions msu (nolock) -- msmerge_subscriptions mmsu where msp.publication_id = msa.publication_id and msp.publication_id = msu.publication_id and msa.article_id = msu.article_id and mst.srvid = msu.subscriber_id and mst1.srvid =

Replicação coluna Text – SQL Server 2000

Hoje no trabalho, a pedido de um analista de sistemas, coloquei para replicar uma tabela. Eis que, depois de tudo pronto e configurado, no monitor de replicação do enterprise manager, tenho uma mensagem de erro na replicação, pois não é permitido update de coluna text junto com um index clustered. Agora mais essa, o SQL Server todo dia me prega uma peça. Bom, consultando meus caros colegas de trabalho pelo google, não encontrei nenhuma solução real para o problema, na replicação. Algumas soluções encontradas eram tirar o índice clustered e tentar update um por vez, dos campos. Bom resolvi usar minha própria solução: tirar a tabela da replicação, mudar a maldita coluna text para varchar e colocar para replicar novamente. Como a tabela já era populada e nunca havia tido a necessidade de replicá-la, tive que descobrir qual o tamanho máximo que algum registro da coluna text estava utilizando: select max(len(convert(varchar(8000),mensagem))) from base..tabela Varchar(8000) é por

Converter campo text para varchar – SQL Server 2000

Outro dia, conversando com um analista de sistemas no trabalho, este me perguntou, qual era melhor, usar o tipo text ou varchar no campo. Bom, baseado em minhas experiências, respondi que prefiro trabalhar com varchar. Mas antes, uma breve pesquisa no google nos mostrou que: text     Variable-length data with a maximum length of 2^31 - 1 characters varchar Variable-length data with a maximum of 8,000 characters fonte: Database Journal Depois de analisarmos o propósito a que o campo serviria, decidimos por um campo varchar(500). Se você, assim como eu, tentou utilizar uma alter table, alter column, deve ter visto um aviso do SQL Server de que isto não é possível de se fazer. Mas e agora? É isso mesmo que pensamos: temos que criar o novo campo e popular com o que havia no antigo campo. Exemplo: EXEC sp_rename 'tab_inf_nota.mensagem', 'mensagem_old', 'COLUMN'