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.