É possível criar uma nova coluna com um valor padrão como uma operação somente de metadados (não uma operação de tamanho de dados):
ALTER TABLE dbo.MyReallyBigTable
ADD MyThingId INT NOT NULL
DEFAULT 0;
Mas é possível também criar uma coluna que faça referência a outra tabela como uma operação somente de metadados?
ALTER TABLE dbo.MyReallyBigTable
ADD MyThingId INT NOT NULL
DEFAULT 0
REFERENCES dbo.MyThing(MyThingId);
Em teoria é possível porque deve haver apenas um valor para verificar na tabela referenciada. No entanto, no meu exemplo, a criação da chave estrangeira parece ser uma operação de tamanho de dados.
Você pode fazer isso, mas somente se não verificar o FK na criação. A Chave Estrangeira será aplicada para INSERT e UPDATEs subsequentes, mas não será confiável para o Otimizador de Consulta. POR EXEMPLO:
Você pode voltar mais tarde quando tiver tempo para uma verificação de tabela e verificar todas as linhas para tornar o FK confiável: