Eu queria criar um segundo arquivo de log, mas por engano criei um arquivo de dados.
Agora estou tentando removê-lo, mas recebo a mensagem de erro "o arquivo não pode ser removido porque não está vazio". A consulta a seguir lista muitas tabelas:
SELECT o.name AS TableOrIndex
FROM sysfiles f
JOIN dbo.sysfilegroups s
ON f.groupid = s.groupid
JOIN dbo.sysindexes i
ON i.groupid = s.groupid
JOIN dbo.sysobjects o
ON i.id = object_id(o.name)
AND i.indid in (0, 1)
WHERE f.name = 'DB_NDF_FILE'
UNION
SELECT i.name
FROM sysindexes i join sysfilegroups f ON i.groupid = f.groupid
JOIN sysfiles l ON f.groupid = l.groupid
WHERE l.name = 'DB_NDF_FILE'
Qual é o procedimento correto para mover esses dados para outros arquivos de dados para que eu possa excluir com segurança esse arquivo recém-criado?
Usar:
Não consegui remover o arquivo ndf. Mesmo a consulta que postei na pergunta estava vazia, o que significa que não havia dados de tabela no arquivo ndf, mas ainda assim o comando remove estava falhando.
Acabei de copiar o código de criação de tabela de todas as tabelas no banco de dados, removi o banco de dados e o recriei com arquivos limpos. Este é um banco de dados de estágio ETL, não há dados importantes nele, então eu poderia simplesmente "descartar" todas as tabelas e recriá-las.