Dosyaları ve Filegroups mimarisi

SQL Serverbir veritabanı işletim sistemi dosyaları küme eşleştirir.Veri ve günlük bilgileri hiçbir zaman aynı dosyanın karma ve tek tek dosyaları yalnızca tek bir veritabanı tarafından kullanılır.5. Dosyaları Koleksiyonlar adlı ve veri yerleşimi ve yedek gibi yönetimsel görevleri ile ilgili Yardım ve geri yükleme işlemleri için kullanılır.

Veritabanı dosyaları

SQL Serververitabanları üç dosya türü vardır:

  • Birincil veri dosyaları

    Birincil veri veritabanının başlangıç noktası ve veritabanındaki diğer dosyalara noktaları dosyasıdır.Her veritabanı, birincil veri dosyası vardır.Birincil veri dosyaları için önerilen dosya adı uzantısı .mdf olur.

  • İkincil veri dosyaları

    Tüm veri dosyaları, birincil veri dosyası dışındaki ikincil veri dosyaları oluşturur.Diğerleri çeşitli ikincil veri dosyaları olmakla birlikte, bazı veritabanları ikincil veri dosyaları, olmayabilir.The recommended file name extension for secondary data files is .ndf.

  • Günlük dosyaları

    Günlük dosyaları veritabanını kurtarmak için kullanılan tüm günlük bilgileri içeren basılı tutun.Olabilir, ancak birden fazla her veritabanı için en az bir günlük dosyası olmalıdır..Ldf günlük dosyaları için önerilen dosya adı uzantısı olur.

SQL Server does not enforce the .mdf, .ndf, and .ldf file name extensions, but these extensions help you identify the different kinds of files and their use.

De SQL Server, bir veritabanındaki tüm dosyaları konumlarının birincil dosya veritabanı ve de kaydedilir asıl veritabanı.The SQL Server Veritabanı Altyapısı uses the file location information from the master database most of the time.Ancak, Veritabanı Altyapısı Dosya konumu girişleri başlatmak için birincil dosyadan dosya konum bilgilerini kullanır master veritabanı aşağıdaki durumlarda:

  • create database kullanarak bir veritabanını iliştirmek, deyim seçenekleriyle eklemek için veya for ATTACH_REBUILD_LOG.

  • Yükseltme sırasında SQL Server sürüm 2000 veya sürüm 7.0.

  • Geri yüklerken master veritabanı.

Mantıksal ve fiziksel dosya adları

SQL Serverdosyaları iki ad vardır:

logical_file_name

The logical_file_name is the name used to refer to the physical file in all Transact-SQL statements.Mantıksal dosya adı kurallarına uymak zorunda SQL Server tanımlayıcıları ve veritabanı mantıksal dosya adları arasında benzersiz olmalıdır

os_file_name

The os_file_name is the name of the physical file including the directory path.Bu işletim sistemi dosya adları için kuralları izlemeniz gerekir.

SQL Server veri ve günlük dosyaları, fat veya ntfs dosya sistemlerinde koyabilirsiniz.Çünkü ntfs dosya sistemi kullanılarak öneririz ntfs güvenlik özelliklerini.Okuma/yazma veri filegroups ve günlük dosyaları sıkıştırılmış ntfs dosya sistemine yerleştirilemez.Veritabanı salt okunur ve salt okunur ikincil filegroups sıkıştırılmış ntfs dosya sisteminde koyabilirsiniz.Daha fazla bilgi için bkz: Salt okunur Filegroups ve sıkıştırma.

Zaman birden çok örneğini SQL Server çalıştırılan tek bir bilgisayara her örneği örnek. oluşturulan veritabanları için dosyalar için farklı bir varsayılan dizin alırDaha fazla bilgi için bkz: Varsayılan ve sql Server adlandırılmış örnekleri için dosya konumları.

Veri dosyası sayfaları

Sayfa içinde bir SQL Server veri dosyası numaralı ardışık olarak sıfır (0) ile başlatmak için ilk sayfa dosyası.Bir veritabanında her dosyanın benzersiz dosya kimlik numarası vardır.Bir sayfayı bir veritabanındaki benzersiz olarak tanımlamak için hem dosya kimliği ve sayfa numarası gereklidir.Aşağıdaki örnek, 4 MB'lık birincil veri dosyası ve 1 mb ikincil bir veri dosyası olan bir veritabanında sayfa numaralarını gösterir.

İki veri dosyasındaki sıralı sayfa numaraları

İlk her dosyanın dosya öznitelikleri hakkında bilgi içeren bir dosya üstbilgisi sayfa sayfadır.Birkaç diğer sayfalar dosyanın başındaki ayırma eşlemeleri gibi sistem bilgilerini içerir.Birincil veri dosyası ve günlük dosyası ilk depolanan sistem sayfaları veritabanı öznitelikler hakkında bilgi içeren bir veritabanı önyükleme sayfa biridir.Sayfaları ve sayfa türleri hakkında daha fazla bilgi için bkz: Anlama sayfaları ve kapsam.

Dosya boyutu

SQL Serverdosyaları otomatik olarak kendi özgün olarak belirtilen boyuttan büyüyebilir.Dosyayı tanımladığınızda, belirli büyüme artışı belirtebilirsiniz.Her saat dosyası doldurulur, bu boyutuna göre büyüme artışı artırır.Bir dosya grubu içinde birden fazla dosya varsa, tüm dosyaları dolana kadar bunlar değil otomatik büyüme olur.Hepsini büyüme sonra oluşur.

Her dosya, belirtilen en büyük boyutu da sahip olabilirsiniz.En büyük boyutu belirtilmezse, dosya diskte kullanılabilir alan tüm kullandı kadar büyümeye devam edebilir.Bu özellik ne zaman özellikle yararlıdır SQL Server gömülü bir uygulamada nerede kullanıcı yok kolay erişim için veritabanı olarak kullanılırbir Sistem Yöneticisi. Kullanıcı veritabanındaki boş alan izleme ve el ile ek alanı ayrılıyor yönetim yükünü azaltmak için gerekli dosyaları otomatik büyüme sağlayabilirsiniz.

Veritabanı anlık görüntü dosyaları

Yazma Kopyası verilerini depolamak için kullanılan tarafından veritabanı anlık görüntü görüntüsü görüntüsü dosyası biçiminde olup olmadığını anlık görüntü görüntüsünü bir kullanıcı tarafından oluşturulan veya dahili olarak kullanılan üzerinde bağlıdır:

  • Bir kullanıcı tarafından oluşturulan bir veritabanı anlık görüntü görüntüsü görüntüsü verilerini bir veya daha çok seyrek dosyaları depolar.Seyrek dosya teknolojisi, ntfs dosya sisteminin bir özelliğidir.Öncelikle, seyrek bir dosya hiçbir kullanıcı verilerini içerir ve kullanıcı verileri için disk alanı için seyrek dosya tahsis edildi.Seyrek dosyalar veritabanı anlık görüntüler ve veritabanı anlık nasıl büyümesine kullanımı hakkında genel bilgi için bkz: Veritabanı anlık nasıl çalışır? ve Seyrek dosya boyutları veritabanı anlık içinde anlama.

  • Veritabanı anlık görüntüleri belirli dbcc komutlar tarafından dahili olarak kullanılır.Bu komutları dbcc checkdb, dbcc checktable dbcc CHECKALLOC'u ve dbcc CHECKFILEGROUP içerir.Bir iç veritabanı anlık görüntü görüntüsü seyrek alternatif veri akışları özgün veritabanı dosyalarını kullanır.Seyrek dosyalar gibi alternatif veri akışları ntfs dosya sisteminin bir özelliğidir.Dosya boyutu veya birim istatistiklerini etkilemeden tek bir dosya veya klasör ile ilişkilendirilmesi için çoklu veri ayırmaya seyrek alternatif veri akışları kullanımını sağlar.

Veritabanı Filegroups

Veritabanı nesnelerini ve dosyaları birlikte 5. ayırma ve yönetim amaçları için de gruplandırılabilir.5. İki tür vardır:

Birincil

Birincil dosya grubu, birincil veri dosyası ve başka bir dosya grubu için değil özel olarak atanmış olan tüm diğer dosyaları içerir.Tüm sayfaları sistem tabloları için birincil dosya grubu içinde ayrılır.

Kullanıcı tanımlı

Kullanıcı tanımlı filegroups FILEGROUP anahtar sözcüğü bir veritabanı oluşturmak veya alter database deyim kullanarak belirtilen filegroups olan.

Günlük dosyaları hiçbir zaman bir dosya grubu parçasıdır.Günlük alanı veri alanı ' ayrı olarak yönetilir.

Hiçbir dosya birden fazla dosya grubu üye olabilir.Tabloları, dizinleri ve büyük nesne verisi belirtilen bir dosya grubu ile ilişkili olabilir.Bu durum, bu dosya grubu tüm sayfaları tahsis edilecek veya tablolar ve dizinler bölümlenmiş.Bölümlenmiş tablolar ve dizinler veri birimlerinin her biri ayrı bir dosya grubu veritabanında yerleştirilebilir bölünmüştür.Bölümlenmiş tablolar ve dizinler hakkında daha fazla bilgi için bkz: Bölümlenmiş tablolar ve dizinler.

Her veritabanındaki bir dosya grubu varsayılan dosya grubu belirlenmiştir.Bir dosya grubu belirtmeksizin bir tablo ya da dizin oluşturulduğunda, varsayılan filegroup tüm sayfaları tahsis edilecek kabul edilir.Tek bir dosya grubu en bir saat varsayılan dosya grubu olabilir.Üyeleri db_owner sabit veritabanı rolü bir dosya grubu gelen varsayılan dosya grubu diğerine geçiş yapın.Hiçbir varsayılan filegroup belirtilmezse, varsayılan dosya grubu birincil filegroup olur.

Dosya ve dosya grubu örneği

Aşağıdaki örnek bir veritabanı üzerinde bir kopyasýný oluþturur SQL Server.Veritabanı, birincil veri dosyası, bir kullanıcı tanımlı dosya grubu ve günlük dosyası vardır.Birincil veri dosyası içinde birincil dosya grubu ve kullanıcı tanımlı dosya grubu iki ikincil veri dosyaları vardır.alter database deyim, kullanıcı tanımlı dosya grubu varsayılan yapar.Tablo kullanıcı tanımlı dosya grubu belirterek oluşturulur.

USE master;
GO
-- Create the database with the default data
-- filegroup and a log file. Specify the
-- growth increment and the max size for the
-- primary data file.
CREATE DATABASE MyDB
ON PRIMARY
  ( NAME='MyDB_Primary',
    FILENAME=
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB_Prm.mdf',
    SIZE=4MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB),
FILEGROUP MyDB_FG1
  ( NAME = 'MyDB_FG1_Dat1',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB_FG1_1.ndf',
    SIZE = 1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB),
  ( NAME = 'MyDB_FG1_Dat2',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB_FG1_2.ndf',
    SIZE = 1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB)
LOG ON
  ( NAME='MyDB_log',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB.ldf',
    SIZE=1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB);
GO
ALTER DATABASE MyDB 
  MODIFY FILEGROUP MyDB_FG1 DEFAULT;
GO

-- Create a table in the user-defined filegroup.
USE MyDB;
CREATE TABLE MyTable
  ( cola int PRIMARY KEY,
    colb char(8) )
ON MyDB_FG1;
GO

Aşağıdaki resimde özetler sonuçlar önceki örneğin.

Veritabanının mantıksal ve fiziksel dosya adları

Ayrıca bkz.

Kavramlar