sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo encontrar la ubicación de archivos de datos y archivos de registro en SQL Server

Si alguna vez necesita saber dónde se encuentran los archivos de su base de datos, ejecute el siguiente código T-SQL:

USE master;
SELECT 
  name 'Logical Name', 
  physical_name 'File Location'
FROM sys.master_files;

Esto devolverá una lista de todos los archivos de datos y archivos de registro para la instancia de SQL Server.

Esto es lo que parece cuando ejecuto ese código en SQL Operations Management Studio en una Mac:

Si usa Windows, su ruta se verá como una ruta de Windows. Algo como esto:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\Music.mdf

Aunque, si especificaste tu propia ubicación, podría verse así:

D:\data\Music.mdf

¿Qué son estos archivos?

Cuando crea una base de datos en SQL Server, los archivos de datos y los archivos de registro de transacciones se crean automáticamente.

  • Los archivos de datos contienen datos y objetos como tablas, índices, procedimientos almacenados y vistas.
  • Los archivos de registro de transacciones registran todas las transacciones y las modificaciones de la base de datos realizadas por cada transacción. Los archivos de registro de transacciones contienen la información necesaria para recuperar todas las transacciones en la base de datos.

Si no especifica explícitamente una ubicación y un nombre para estos archivos, SQL Server los colocará en la ubicación predeterminada (la ubicación predeterminada se especifica en el nivel del servidor). Aquí se explica cómo encontrar la ubicación predeterminada para archivos de datos y archivos de registro en SQL Server.

Buscar archivos para una base de datos específica

Si solo necesita encontrar la ubicación de los archivos para una base de datos en particular, puede consultar el sys.database_files vista de catálogo del sistema en su lugar. Simplemente cambie a la base de datos aplicable y ejecute la consulta.

He aquí un ejemplo:

USE Solutions;
SELECT
  name 'Logical Name', 
  physical_name 'File Location'
FROM sys.database_files;

Esto devolverá solo los datos y archivos de registro para las Solutions base de datos.