Estou tentando descobrir uma maneira de listar as unidades das quais uma instância específica do SQL Server está "consciente" e entender o processo.
Posso executar o EXEC master..xp_fixeddrives
que me fornece uma lista de unidades, mas quando olho na GUI (por exemplo, bancos de dados | Restaurar banco de dados | Do dispositivo | Adicionar), a lista de unidades disponíveis é muito menor.
Por qual processo o servidor SQL se torna "consciente" de uma unidade e existe alguma maneira de determinar de forma problemática as unidades das quais ele está ciente?
Desde já, obrigado!
Eu estou supondo que você está realmente executando em uma instância em cluster.
EXEC master..xp_fixeddrives está retornando todas as unidades que o sistema operacional subjacente conhece, portanto, muitas não estão disponíveis para sua instância de cluster
usar:
em vez disso, que listará apenas os disponíveis para sua instância
O SQL Server 2008 R2 SP1 e o SQL Server 2012 adicionam uma nova função, sys.dm_os_volume_stats , que - ao contrário de xp_fixeddrives - é documentada e suportada (e também inclui informações mais úteis). O problema é que ele retornará apenas informações para unidades que possuem pelo menos um arquivo de dados ou log neles, pois leva database_id e file_id como entrada:
Conjunto de resultados: