sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man hittar standardfilplatsen för datafiler och loggfiler i SQL Server

Varje gång du skapar en databas i SQL Server skapas två filer. Den ena är datafilen och den andra är transaktionsloggfilen.

Placeringen av dessa filer beror på om du uttryckligen anger en plats för dessa filer när du skapar databasen. Om inte kommer de att skapas på standardplatsen.

Du kan hitta standardplatsen med följande kod:

SELECT
  SERVERPROPERTY('InstanceDefaultDataPath') AS 'Data Files',
  SERVERPROPERTY('InstanceDefaultLogPath') AS 'Log Files'


Att köra detta med SQL Operations Studio på min Mac resulterar i detta:

Men bara för att vi nu vet vilka standardplatserna är, betyder det inte att vi säkert vet var all data och loggfiler finns för alla databaser på den SQL Server-instansen. Det är möjligt att olika databaser på servern använder olika platser för sina filer.

Standardplatsen används bara om du inte anger en plats för filerna när du skapar databasen. Till exempel, om du skapar en databas på enklast möjliga sätt (t.ex. CREATE DATABASE my_database ) dess datafil och loggfil kommer att skapas på standardplatsen.

Men om du uttryckligen anger en annan plats för dessa filer, kommer de att finnas på den andra platsen. Därför är det möjligt att inte alla databasfiler finns på standardplatsen.

Så här hittar du platsen för alla datafiler och loggfiler i SQL Server. Det visar en lista över alla datafiler och loggfiler tillsammans med deras fullständiga sökvägar.


  1. PostgreSQL, dra och byt

  2. Använda guiden Offline Reorg

  3. Få den distinkta summan av en sammanfogad tabellkolumn

  4. En känslolös logisk titt på SQL Servers namnkonventioner