Dosya Durumları

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server bir veritabanı dosyasının durumu, veritabanının durumundan bağımsız olarak korunur. Bir dosya her zaman, örneğin ÇEVRİMİÇİ veya ÇEVRİMDIŞI gibi, tek bir belirli durumda bulunur. Dosyanın geçerli durumunu görüntülemek için sys.master_files veya sys.database_files katalog görünümünü kullanın. Veritabanı çevrimdışıysa, dosyaların durumu sys.master_files katalog görünümünden görüntülenebilir.

Dosya grubundaki dosyaların durumu, tüm dosya grubunun kullanılabilirliğini belirler. Bir dosya grubunun kullanılabilir olması için dosya grubundaki tüm dosyaların çevrimiçi olması gerekir. Bir dosya grubunun geçerli durumunu görüntülemek için sys.filegroups katalog görünümünü kullanın. Bir dosya grubu çevrimdışıysa ve dosya grubuna bir Transact-SQL deyimiyle erişmeye çalışırsanız, bir hatayla başarısız olur. Sorgu iyileştiricisi, SELECT deyimleri için sorgu planları oluşturduğunda, çevrimdışı dosya gruplarında bulunan kümelenmemiş dizinlerden ve dizinlenmiş görünümlerden kaçınarak bu deyimlerin başarıyla yürütülmesini sağlar. Ancak çevrimdışı dosya grubu hedef tablonun yığın veya kümelenmiş dizinini içeriyorsa SELECT deyimleri başarısız olur. Ayrıca, çevrimdışı dosya grubundaki herhangi bir indeksli tabloyu değiştiren herhangi INSERTbir , UPDATE, veya DELETE ifade başarısız olur.

Dosya Durumu Tanımları

Aşağıdaki tablo dosya durumlarını tanımlar.

Devlet Definition
ONLINE Dosya tüm işlemler için kullanılabilir. Veritabanının kendisi çevrimiçiyse birincil dosya grubundaki dosyalar her zaman çevrimiçi olur. Birincil dosya grubundaki bir dosya çevrimiçi değilse, veritabanı çevrimiçi değildir ve ikincil dosyaların durumları tanımlanmamıştır.
OFFLINE Dosya erişim için kullanılamıyor ve diskte mevcut olmayabilir. Dosyalar açık kullanıcı eylemiyle çevrimdışı duruma gelir ve ek kullanıcı eylemi gerçekleştirilene kadar çevrimdışı kalır.

**Dikkat** Dosya bozuk olduğunda dosya durumu çevrimdışı olarak ayarlanabilir, ancak geri yüklenebilir. Çevrimdışı olarak ayarlanmış bir dosya yalnızca yedekten geri yüklenerek çevrimiçi olarak ayarlanabilir. Tek bir dosyayı geri yükleme hakkında daha fazla bilgi için bkz RESTORE . (Transact-SQL).

Bir veritabanı dosyası, veritabanı tam veya toplu günlükleme kurtarma modelindeyken bir dosya silindiğinde de ÇEVRİMDIŞI olarak ayarlanır. sys.master_files kaydı, işlem günlüğü drop_lsn değerinin ötesine kadar kesilene kadar varlığını sürdürür. Daha fazla bilgi için bkz. İşlem Günlüğü Kesilmesi.
ONARIM Dosya geri yükleniyor. Dosyalar, yalnızca sayfa geri yüklemesini değil dosyanın tamamını etkileyen bir geri yükleme komutu nedeniyle geri yükleme durumuna girer ve geri yükleme tamamlanana ve dosya kurtarılana kadar bu durumda kalır.
GERİ YÜKLEME BEKLEMEDE Dosyanın kurtarılması ertelendi. Dosya, dosyanın geri yüklenip kurtarılmadığı parçalı geri yükleme işlemi nedeniyle otomatik olarak bu duruma geçer. Hatayı çözmek ve kurtarma işleminin tamamlanmasına izin vermek için kullanıcının ek eylemi gerekir. Daha fazla bilgi için bkz . Parçalı Geri Yüklemeler (SQL Server).
ŞÜPHELİ Çevrimiçi geri yükleme işlemi sırasında dosyanın kurtarılması başarısız oldu. Dosya birincil dosya grubundaysa, veritabanı da şüpheli olarak işaretlenir. Aksi takdirde, yalnızca dosya şüphelidir ve veritabanı hala çevrimiçidir.

Dosya, aşağıdaki yöntemlerden biri tarafından kullanılabilir duruma gelene kadar şüpheli durumunda kalır:

Geri yükleme ve kurtarma

REPAIR_ALLOW_DATA_LOSS ile DBCC CHECKDB
KULLANIM DIŞI Dosya çevrimiçi olmadığında bırakıldı. Çevrimdışı bir dosya grubu kaldırıldığında dosya grubundaki tüm dosyalar geçersiz hale gelir.

ALTER DATABASE (Transact-SQL)

Veritabanı Durumları

Yansıtma Durumları (SQL Server)

DBCC CHECKDB (Transact-SQL)

Veritabanı Dosyaları ve Dosya Grupları