Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So finden Sie den Speicherort von Datendateien und Protokolldateien in SQL Server

Wenn Sie jemals wissen müssen, wo sich Ihre Datenbankdateien befinden, führen Sie den folgenden T-SQL-Code aus:

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

Dadurch wird eine Liste aller Datendateien und Protokolldateien für die SQL Server-Instanz zurückgegeben.

So sieht es aus, wenn ich diesen Code in SQL Operations Management Studio auf einem Mac ausführe:

Wenn Sie Windows verwenden, sieht Ihr Pfad wie ein Windows-Pfad aus. Etwa so:

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

Wenn Sie jedoch Ihren eigenen Standort angeben, könnte dieser genauso gut so aussehen:

D:\data\Music.mdf

Was sind diese Dateien?

Wenn Sie eine Datenbank in SQL Server erstellen, werden automatisch Datendateien und Transaktionsprotokolldateien erstellt.

  • Die Datendateien enthalten die Daten und Objekte wie Tabellen, Indizes, gespeicherte Prozeduren und Ansichten.
  • Die Transaktionsprotokolldateien zeichnen alle Transaktionen und die von jeder Transaktion vorgenommenen Datenbankänderungen auf. Transaktionsprotokolldateien enthalten die Informationen, die zum Wiederherstellen aller Transaktionen in der Datenbank erforderlich sind.

Wenn Sie nicht explizit einen Speicherort und Namen für diese Dateien angeben, legt SQL Server sie am Standardspeicherort ab (der Standardspeicherort wird auf Serverebene angegeben). So finden Sie den Standardspeicherort für Datendateien und Protokolldateien in SQL Server.

Dateien für eine bestimmte Datenbank suchen

Wenn Sie nur den Speicherort der Dateien für eine bestimmte Datenbank finden müssen, können Sie die sys.database_files abfragen Systemkatalogansicht stattdessen. Wechseln Sie einfach zur entsprechenden Datenbank und führen Sie die Abfrage aus.

Hier ist ein Beispiel:

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

Dadurch werden nur die Daten und Protokolldateien für die Solutions zurückgegeben Datenbank.