Lokasi file mdf dari database

19

Saya punya database Project. Masalah saya adalah di mana saya dapat menemukan .mdfdan _log.ldfdari basis data saya sehingga saya dapat mentransfer basis data saya ke pengguna lain. Saya menggunakan Microsoft SQL Server 2008 Management Studio

Properti f database

Saya Ssms.exedisimpan di jalur ini

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe

sumber

Jawaban:

22

Ada beberapa cara untuk menentukan lokasi file mdf SQL Server dan file log terkait.

  1. Buka Enterprise Manager, klik kanan pada basis data yang Anda minati dan pilih properti. Pilih bagian File dan gulir ke Pathdan FileNamekolom.

  2. Buka jendela kueri dan jalankan kueri yang relevan di bawah ini dan lihat Physical_Namekolom.

SQL 2005 atau lebih baru:

SELECT * FROM sys.database_files

SQL 2000:

SELECT * FROM dbo.sysfiles
  1. Buka jendela permintaan dan jalankan sp_helpfiledan lihat FileNamekolom.

Tentu saja, karena file-file ini digunakan oleh SQL Server Anda tidak boleh mencoba menyalin file ke lokasi yang berbeda.

Metode terbaik adalah melakukan backup dari dalam Enterprise Manager dengan mengklik kanan pada database yang Anda tertarik dan memilih Tugas -> Cadangan.

Atau Anda dapat melepaskan basis data Anda, menyalin file dan kemudian melampirkan.

Alternatif ketiga setelah Anda memiliki salinan database berjalan di tempat lain, adalah mengatur pengiriman atau replikasi log.

armitage
sumber
1
Ini tidak menghasilkan informasi tentang TempDB, model atau msdb.
Slogmeister Extraordinaire
14

SQL 2005 dan seterusnya: Permintaan berikut akan memberi Anda daftar semua database dan file terkait:

SELECT sd.NAME
,smf.NAME
,smf.type_desc
,(CAST(smf.size AS FLOAT) * 8096) AS SizeBytes
,(CAST(smf.size AS FLOAT) * 8096) / (1024) AS SizeKB
,(CAST(smf.size AS FLOAT) * 8096) / (1024 * 1024) AS SizeMB
,(CAST(smf.size AS FLOAT) * 8096) / (1024 * 1024 * 1024) AS SizeGB
,smf.physical_name
,sd.log_reuse_wait_desc
,sd.recovery_model_desc
,*
FROM sys.databases sd
INNER JOIN sys.master_files smf ON sd.database_id = smf.database_id
WHERE
smf.type_desc IN (
    'ROWS'
    ,'LOG'
    )
ORDER BY SizeGB DESC
masam
sumber
1
Saya akan menghapus klausa WHERE untuk memastikan Anda mendapatkan semua file yang terkait dengan database.
Slogmeister Extraordinaire
14

Anda berada di dialog yang benar, tetapi tab yang salah Buka tab File , path ditampilkan untuk semua file database masukkan deskripsi gambar di sini

Milena Petrovic
sumber
2

Cara terbaik dan mudah untuk menemukan (.mdf & .ldf)file, ukuran dan tingkat pertumbuhan, dll. Rincian dari database tertentu melalui di bawah ini menyebutkan Permintaan TSQL.

exec sp_helpdb @dbname='Databasename';
Go
Md Haidar Ali Khan
sumber
-2

Path untuk .mdf dan .ldf adalah

Drive root (tempat Os dipasang) ->

File program (untuk aplikasi 64bit) atau file program (x86) untuk 32 tetapi aplikasi->

Microsoft SQL Server->

MSSQL11.SQL2012->

MSSQL->

DATA


MSSQL11.SQL2012 Ini untuk pengguna yang menggunakan SQL 2012 ...

Jadi Anda dapat dengan mudah mengenali apa nama folder untuk Anda karena Anda menggunakan SQL 2008 di bawah folder "Microsoft SQL Serve" di jalur yang disebutkan

VSVAditya
sumber
2
Ini sepenuhnya benar - untuk instalasi kecil. Untuk setiap instalasi nyata seseorang akan merencanakan tata letak disk dan mungkin telah menentukan lokasi alternatif pada db create, atau bahkan sebagai default. Anda bahkan dapat mengubahnya selama pengaturan. Saya akan mengatakan dalam lingkungan non sepele orang TIDAK membuang data dan file log pada drive C (yang ada file program hidup).
TomTom