Om du någonsin behöver veta var dina databasfiler finns, kör följande T-SQL-kod:
USE master; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.master_files;
Detta kommer att returnera en lista över alla datafiler och loggfiler för SQL Server-instansen.
Så här ser det ut när jag kör den koden i SQL Operations Management Studio på en Mac:
Om du använder Windows kommer din sökväg att se ut som en Windows-sökväg. Något så här:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\Music.mdf
Även om du angav din egen plats skulle den lika gärna kunna se ut så här:
D:\data\Music.mdf
Vad är dessa filer?
När du skapar en databas i SQL Server skapas datafiler och transaktionsloggfiler automatiskt.
- Datafilerna innehåller data och objekt som tabeller, index, lagrade procedurer och vyer.
- Transaktionsloggfilerna registrerar alla transaktioner och databasändringar som görs av varje transaktion. Transaktionsloggfiler innehåller den information som krävs för att återställa alla transaktioner i databasen.
Om du inte uttryckligen anger en plats och ett namn för dessa filer, kommer SQL Server att placera dem på standardplatsen (standardplatsen anges på servernivå). Så här hittar du standardplatsen för datafiler och loggfiler i SQL Server.
Hitta filer för en specifik databas
Om du bara behöver hitta platsen för filerna för en viss databas kan du fråga sys.database_files
systemkatalogvy istället. Byt helt enkelt till tillämplig databas och kör frågan.
Här är ett exempel:
USE Solutions; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.database_files;
Detta returnerar endast data och loggfiler för Solutions
databas.