sql-server - una - ver estado de base de datos sql server
Recuperar la lista de archivos de una base de datos del servidor SQL que está fuera de línea (3)
Listar todos los archivos de base de datos de SQL Server disponibles, pero fuera de línea
La siguiente declaración mostrará una lista de todos los archivos asociados con las bases de datos del servidor SQL sin conexión
SELECT
m.physical_name + ''/' + m.name AS [file_path]
FROM
sys.databases AS d
INNER JOIN sys.master_files AS m ON d.database_id = m.database_id
WHERE
d.state_desc = ''OFFLINE''
--AND m.type_desc = ''ROWS''
GROUP BY
m.physical_name + ''/' + m.name
Nota: elimine el comentario de la línea AND m.type_desc = ''ROWS''
(elimine la -) para seguir filtrando la lista e incluir solo los archivos de la base de datos. De lo contrario, los archivos de registro también serán listados.
La cláusula GROUP BY
está ahí para evitar que las entradas aparezcan más de una vez.
Tengo algunas bases de datos fuera de línea en un servidor SQL. Me gustaría saber qué archivos del disco están relacionados con estas bases de datos. ¿Es posible recuperar la lista de archivos de las bases de datos fuera de línea sin tener que ponerlas en línea primero?
Esto le dará una lista de todas las rutas físicas de archivos relacionadas con las bases de datos fuera de línea , junto con el nombre de la base de datos y el tipo de archivo:
SELECT
''DB_NAME'' = db.name,
''FILE_NAME'' = mf.name,
''FILE_TYPE'' = mf.type_desc,
''FILE_PATH'' = mf.physical_name
FROM
sys.databases db
INNER JOIN sys.master_files mf
ON db.database_id = mf.database_id
WHERE
db.state = 6 -- OFFLINE
O simplemente
select * from sys.databases where state_desc=''OFFLINE''