Segue um procedimento simples, facil e comentado para remocao de resgistros duplicados de uma tabela.Basta voce adapta-lo ao seu caso, escolhendo qual o criterio de duplicacao. No exemplo estamos usando os campos ID, NOME E SALARIO. Script para criacao de uma tabela ficticia, para entao podermos realizar nossos testes:CREATE TABLE [dbo].[Funcionarios] ([id] [int] NULL ,[nome] [Varchar] (50) NULL,[salario] [Numeric](18, 2) NULL) ON [PRIMARY]GO-- populando a tabela com registros duplicadosInsert into Funcionarios values (1,'Rambo', 1000.00)Insert into Funcionarios values (1,'Rambo', 1000.00)Insert into Funcionarios values (2,'Joelson', 1000.00)Insert into Funcionarios values (2,'Joelson', 1000.00)Insert into Funcionarios values (3,'Blue Mary', 1000.00)Insert into Funcionarios values (4,'Mary Julie', 5000.00)Insert into Funcionarios values (2,'Joelson', 1000.00)Insert into Funcionarios values (1,'Rambo', 1000.00)-- Verificando os registros duplicadosSELECT * FROM [dbo].[Funcionarios] ORDER BY nomeAgora basta executar o procedimento de exclusao de registros duplicados. DECLARE @DupCount INTSET @DupCount = 0-- Conta os itens duplicadosSELECT@DupCount = COUNT(*)FROMFuncionariosGROUP BY id, nome, salarioHAVING COUNT(*) > 1-- Executa um WHILE onde iremos excluir cada um dos registros duplicadosWHILE @DupCount > 0BEGINSET ROWCOUNT 1-- Exclui as duplicacoes de acordo com os criterios do filtro (ID, nome e salario)DELETE FuncionariosFROM FuncionariosJOIN (SELECT id, nome, salarioFROM FuncionariosGROUP BY id, nome, salarioHAVING COUNT(*) > 1) Funcionarios_ALIASON Funcionarios.id = Funcionarios_ALIAS.idAND Funcionarios.nome = Funcionarios_ALIAS.nomeAND Funcionarios.salario = Funcionarios_ALIAS.salarioSET ROWCOUNT 0-- Conto quantos registros duplicados ainda existem e atribuo o resultado ao contadorSELECT@DupCount = COUNT(*)FROM (SELECT *FROM FuncionariosGROUP BY id, nome, salarioHAVING COUNT(*) > 1) TABENDExecutamos um select para verificar o resultado da exclusaoSELECT * FROM [dbo].[Funcionarios] ORDER BY nomeE isso ai. Ate a proxima. As vezes nos deparamos com situacoes onde precisamos listar em nossa aplicacao os objetos criados no SQL server e que estao sendo usados na aplicacao.A tabela sysobjects do SQL Server armazena um registro para cada objeto criado no banco.Em outras palavras, ele possui um registro para cada constraint, functions, stored procedures, e etc, existente no banco.Com isso, a tabela sysobject pode ser usada para se coletar informacoes a respeito do banco.Ela possui um campo chamado xtype, como filtro para os tipos de objetos queremos trazer informacoes. Podemos por exemplo listar todas as tabelas do banco (user tables) com a seguinte query:select * from sysobjects where xtype='U'Da mesma forma, podemos listar todas as procedures apenas alterando o filtro: select * from sysobjects where xtype='P'Abaixo segue a lista de valores possiveis para o xtype:C = CHECK constraintD = Default ou DEFAULT constraintF = FOREIGN KEY constraintL = LogP = Stored procedurePK = PRIMARY KEY constraintRF = Replication filter stored procedureS = System tableTR = TriggerU = User tableUQ = UNIQUE constraintV = ViewX = Extended stored procedure Ate a proxima O SQL Embedded edition no expe uma maneira simples de se desinstalar sua instncia. Recentemente tive que fazer isso quando fui configurar o WSS em uma m?quina que ja tinha uma instncia do SQL Embedded e esta instncia estava com problemas. Ou seja, eu precisava desinstalar a instncia problemtica antes de proceder com a instalao do WSS. Aqui vai o caminho das pedras para se desinstalar o SQL Embedded: Abra o editor de registro do Windows (v ao Iniciar > Executar e digite regedit) e