Veritabanının mdf dosyasının konumu


19

Bir veritabanım var Project. Benim sorunum nerede .mdfve _log.ldfbenim veritabanı başka bir kullanıcıya aktarabilirsiniz böylece veritabanımı bulabilirim . Microsoft SQL Server 2008 Management Studio kullanıyorum

Veritabanı f özellikleri

Benim Ssms.exebu yolda saklanıyor

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

Yanıtlar:


22

SQL Server mdf dosyalarının ve ilişkili günlük dosyalarının konumunu belirlemenin birkaç yolu vardır.

  1. Enterprise Manager'ı açın, ilgilendiğiniz veritabanına sağ tıklayın ve özellikleri seçin. Dosyalar bölümünü seçin ve Pathve FileNamesütunlarında gezinin .

  2. Bir sorgu penceresi açın ve aşağıda ilgili sorguyu çalıştırın ve Physical_Namesütunu görüntüleyin .

SQL 2005 veya üstü:

SELECT * FROM sys.database_files

SQL 2000:

SELECT * FROM dbo.sysfiles
  1. Bir sorgu penceresi açın sp_helpfileve FileNamesütunu çalıştırın ve görüntüleyin .

Tabii ki, bu dosyalar SQL Server tarafından kullanıldığından, dosyaları farklı bir konuma kopyalamaya çalışmamalısınız.

En iyi yöntem, ilgilendiğiniz veritabanına sağ tıklayıp Görevler -> Yedekleme'yi seçerek Enterprise Manager içinden bir yedekleme yapmaktır.

Alternatif olarak, veritabanınızı ayırabilir, dosyaları kopyalayabilir ve sonra ekleyebilirsiniz.

Başka bir yerde çalışan veritabanının bir kopyasına sahip olduğunuzda üçüncü bir alternatif, günlük gönderim veya çoğaltmayı ayarlamaktır.


1
Bu TempDB, model veya msdb hakkında bilgi üretmez.
Slogmeister Extraordinaire

14

SQL 2005 sonrası: Aşağıdaki sorgu size tüm veritabanlarının ve ilişkili dosyaların listesini verecektir:

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

1
Veritabanıyla ilişkili tüm dosyaları aldığınızdan emin olmak için WHERE deyimini kaldıracağım.
Slogmeister Extraordinaire

14

Doğru iletişim kutusundaydınız, ancak yanlış sekmesi Dosyalar sekmesini açın , yol tüm veritabanı dosyaları için gösterilir resim açıklamasını buraya girin


2

(.mdf & .ldf)TSQL Sorgu aşağıda belirtilen aracılığıyla belirli bir veritabanının dosya, boyut ve büyüme oranı, vb ayrıntılarını bulmak için en iyi ve kolay yolu .

exec sp_helpdb @dbname='Databasename';
Go

-2

.Mdf ve .ldf yolu

Kök sürücü (Os'un kurulu olduğu yer) ->

32 ancak uygulamalar için program dosyaları (64 bit uygulamalar için) veya program dosyaları (x86) ->

Microsoft SQL Server->

MSSQL11.SQL2012->

MSSQL->

VERİ


MSSQL11.SQL2012 Bu, SQL 2012 kullanan kullanıcılar içindir ...

Böylece, söz konusu yolda "Microsoft SQL Serve" klasörü altında SQL 2008 kullandığınızda sizin için klasör adının ne olduğunu kolayca tanıyabilirsiniz.


2
Bu tamamen doğru - küçük kurulumlar için. Herhangi bir gerçek kurulum için, birisi bir disk düzeni planlamış ve db oluşturmada alternatif konumlar tanımlamış olabilir, hatta varsayılan olarak olabilir. Bunu kurulum sırasında bile değiştirebilirsiniz. Önemsiz herhangi bir ortamda insanların veri ve günlük dosyaları (ki orada program dosyaları yaşıyor) C sürücüde damping DEĞİLDİR söyleyebilirim.
TomTom
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.