Alterar coluna da chave primária no SQL Server

ATUALIZA

Aqui estão as restrições como resultado da consulta

SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 'history'

CONSTRAINT_NAME   COLUMN_NAME  ORDINAL_POSITION
PK_history        userKey       1
PK_history        name          2

Aqui está o resultado da consulta

SELECT * 
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
WHERE TABLE_NAME = 'history'

CONSTRAINT_NAME   CONSTRAINT_TYPE  IS_DEFERRABLE  INITIALLY_DEFERRED
PK_history        PRIMARY KEY      NO             NO

END UPDATE

Meu host fornece uma interface para o meu banco de dados do SQL Server via ASP.NET Enterprise Manage

Tenho 3 colunas no meuhistory mesa

userId (chave, int, NULL não permitido)name (chave, string, NULL não permitido)id (não chave, int, NULL permitido)

Eu quero tornar a coluna id a única chav

Para fazer isso, acredito que preciso:

Verifique se não há NULLs nessa coluna para nenhuma linha Defina a coluna para não permitir NULLs Adicione a coluna como chave primáriaRemova as outras 2 colunas como chaves

No entanto, quando eu uso a interface do usuário fornecida, ela nunca funciona. Às vezes, parece que ele tenta fazer algo, mas nunca muda quando eu atualizo a exibição das colunas. Ocasionalmente, cria uma tabela temporária que parece ter tentado executar algumas das operações, mas que nunca é copiada / substitui a tabela original que estou tentando altera

Quando tento usar uma consulta, as alterações também não aparecem. Aqui estão as consultas que eu acho que preciso:

    SELECT * from history WHERE id is NULL     <---- This shows 0 results

    ALTER TABLE history
    ALTER COLUMN id int NOT NULL

    ALTER TABLE history ADD PRIMARY KEY (id)

    ALTER TABLE history
    DROP CONSTRAINT userId
    DROP CONSTRAINT name
    GO

Eu apenas tentei proibir NULLs e adicionar a chave primária para a coluna id. Não parece funcionar. Alguém pode me apontar na direção certa? Obrigado

questionAnswers(2)

yourAnswerToTheQuestion