Als u ooit wilt weten waar uw databasebestanden zich bevinden, voert u de volgende T-SQL-code uit:
USE master; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.master_files;
Dit retourneert een lijst met alle gegevensbestanden en logbestanden voor de SQL Server-instantie.
Zo ziet het eruit als ik die code in SQL Operations Management Studio op een Mac uitvoer:
Als u Windows gebruikt, ziet uw pad eruit als een Windows-pad. Zoiets als dit:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\Music.mdf
Hoewel, als u uw eigen locatie opgeeft, deze er net zo goed als volgt uit kan zien:
D:\data\Music.mdf
Wat zijn deze bestanden?
Wanneer u een database aanmaakt in SQL Server, worden automatisch gegevensbestanden en transactielogbestanden aangemaakt.
- De gegevensbestanden bevatten de gegevens en objecten zoals tabellen, indexen, opgeslagen procedures en weergaven.
- De transactielogbestanden registreren alle transacties en de databasewijzigingen die door elke transactie zijn aangebracht. Transactielogbestanden bevatten de informatie die nodig is om alle transacties in de database te herstellen.
Als u niet expliciet een locatie en naam voor deze bestanden opgeeft, plaatst SQL Server ze op de standaardlocatie (de standaardlocatie wordt opgegeven op serverniveau). Hier leest u hoe u de standaardlocatie voor gegevensbestanden en logbestanden in SQL Server kunt vinden.
Bestanden zoeken voor een specifieke database
Als u alleen de locatie van de bestanden voor een bepaalde database hoeft te vinden, kunt u de sys.database_files
opvragen systeemcatalogusweergave in plaats daarvan. Schakel eenvoudig over naar de toepasselijke database en voer de query uit.
Hier is een voorbeeld:
USE Solutions; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.database_files;
Hiermee worden alleen de gegevens en logbestanden geretourneerd voor de Solutions
database.