Hvis du nogensinde har brug for at vide, hvor dine databasefiler er placeret, skal du køre følgende T-SQL-kode:
USE master; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.master_files;
Dette vil returnere en liste over alle datafiler og logfiler for SQL Server-forekomsten.
Sådan ser det ud, når jeg kører den kode i SQL Operations Management Studio på en Mac:
Hvis du bruger Windows, vil din sti ligne en Windows-sti. Noget som dette:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\Music.mdf
Selvom du angiver din egen placering, kunne den lige så nemt se sådan ud:
D:\data\Music.mdf
Hvad er disse filer?
Når du opretter en database i SQL Server, oprettes datafiler og transaktionslogfiler automatisk.
- Datafilerne indeholder data og objekter såsom tabeller, indekser, lagrede procedurer og visninger.
- Transaktionslogfilerne registrerer alle transaktioner og databaseændringer foretaget af hver transaktion. Transaktionslogfiler indeholder de oplysninger, der kræves for at gendanne alle transaktioner i databasen.
Hvis du ikke udtrykkeligt angiver en placering og et navn for disse filer, vil SQL Server placere dem på standardplaceringen (standardplaceringen er angivet på serverniveau). Sådan finder du standardplaceringen for datafiler og logfiler i SQL Server.
Find filer til en specifik database
Hvis du kun skal finde placeringen af filerne for en bestemt database, kan du forespørge sys.database_files
systemkatalogvisning i stedet. Skift blot til den relevante database og kør forespørgslen.
Her er et eksempel:
USE Solutions; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.database_files;
Dette returnerer kun data og logfiler for Solutions
database.