Desejo identificar os arquivos órfãos mdf e ldf no disco e removê-los. Depois de pesquisar na internet, encontrei o script abaixo no fórum do MSDN. Mas quando eu executo o script, ele retorna muitos arquivos db semelhantes ao sistema que não parecem órfãos ou pelo menos não são seguros para excluir!
Você conhece alguma maneira melhor de identificar os arquivos órfãos? Ou você pode explicar a que esses arquivos db se referem (é seguro excluí-los)?
Por exemplo os arquivos abaixo vieram no resultado desta consulta:
/*
exec sp_configure 'show advanced' ,1
reconfigure
exec sp_configure 'xp_cmdshell' ,1
reconfigure
*/
if object_id('tempdb.dbo.#os_files') is not null
drop table #os_files
create table #os_files([filename] varchar(2000))
--list all .mdf and .ldf files on the c drive
-- you will need to call this again to
-- populate the #os_files table, if you have
-- db files on other databases eg. d:, e:
insert into #os_files exec xp_cmdshell 'DIR C:\*.mdf /b /s'
insert into #os_files exec xp_cmdshell 'DIR C:\*.ldf /b /s'
delete from #os_files where filename is null
update #os_files set filename=rtrim(filename)
select
os.filename as orphaned_files
from
#os_files os
left outer join master.dbo.sysaltfiles db on rtrim(db.filename) = os.filename
where
db.dbid is null
order by 1
Obrigada.
Os arquivos em C:\Arquivos de Programas\Microsoft SQL Server\MSSQL10_50.MSSQL\MSSQL\Binn\Templates são cópias básicas dos bancos de dados do sistema necessários para reparar e reconstruir os bancos de dados do sistema em caso de problemas - http://msdn. microsoft.com/en-us/library/dd207003(v=sql.105).aspx
Embora você possa excluí-los, terá um período de recuperação mais longo se precisar reconstruir os bancos de dados do sistema, pois precisará encontrar os modelos em outro lugar.
Mas, além disso, esse script parece fazer o que proclama fazer. No entanto, deve ser atualizado para:
as
sysaltfiles
está obsoleto e será removido do SQL Server em uma versão futura.Arquivos órfãos são arquivos de banco de dados que foram desanexados e nunca reanexados. Eu não consideraria os arquivos de modelo órfãos. Eles fazem parte da instalação e devem ser deixados sozinhos.
Se você não precisar dos outros que encontrar em seu disco, poderá simplesmente removê-los / renomeá-los (com seu script ou adição de Stuart), porque os arquivos que estão em uso são simplesmente bloqueados pelo processo do SQL Server e você pode não faça nada para eles de qualquer maneira. Apenas certifique-se de que o serviço SQL Server foi iniciado.
Verifique se você tem mais de uma instância SQL instalada na máquina e, se sim, se há alguém offline.