Aracılığıyla paylaş


Veritabanı ayırma ve ekleme (SQL Server)

Şunlar için geçerlidir: SQL Server

Bir veritabanının veri ve işlem günlüğü dosyaları ayrılabilir ve ardından sql Server'ın aynı veya başka bir örneğine yeniden eklenebilir. Veritabanını aynı bilgisayarda farklı bir SQL Server örneğiyle değiştirmek veya veritabanını taşımak istiyorsanız, veritabanını ayırmak ve eklemek yararlı olur.

Permissions

Dosya erişim izinleri, veritabanı ayırma veya ekleme dahil olmak üzere çeşitli veritabanı işlemleri sırasında ayarlanır.

Önemli

Bilinmeyen veya güvenilmeyen kaynaklardan veritabanları eklememenizi veya geri yüklememenizi öneririz. Bu tür veritabanları, istenmeyen Transact-SQL kodu yürütebilecek veya şemayı veya fiziksel veritabanı yapısını değiştirerek hatalara neden olabilecek kötü amaçlı kod içerebilir. Bilinmeyen veya güvenilmeyen bir kaynaktan veritabanı kullanmadan önce, veritabanında bir üretim dışı sunucuda DBCC CHECKDB (Transact-SQL) çalıştırın ve ayrıca veritabanında saklı yordamlar veya diğer kullanıcı tanımlı kodlar gibi kodu inceleyin.

Veritabanını ayır

Bir veritabanını ayırmak, onu SQL Server örneğinden kaldırır, ancak veritabanını veri dosyalarında ve işlem kayıt dosyalarında değişiklik yapmadan bırakır. Bu dosyalar daha sonra veritabanının ayrıldığı sunucu da dahil olmak üzere herhangi bir SQL Server örneğine eklemek için kullanılabilir.

Aşağıdakilerden biri doğruysa veritabanını ayıramazsınız:

  • Veritabanı çoğaltılır ve yayımlanır. Veritabanı çoğaltılacaksa, yayımdan kaldırılmalıdır. Öncelikle sp_replicationdboption çalıştırarak yayınlamayı devre dışı bırakmanız gerekir, ardından ayırabilirsiniz.

    Uyarı

    Eğer kullanamıyorsan sp_replicationdboption, sp_removedbreplication çalıştırarak replikasyonu kaldırabilirsin.

  • Veritabanında bir veri tabanı anlık görüntüsü vardır.

    Veritabanını ayırmadan önce tüm anlık görüntüleri bırakmanız gerekir. Daha fazla bilgi için bkz. Veritabanı Anlık Görüntüsü Bırakma (Transact-SQL).

    Uyarı

    Bir veritabanı anlık görüntüsü ayrılamaz veya eklenebilir.

  • Veritabanı, Always On kullanılabilirlik grubunun bir parçasıdır.

    Veritabanı kullanılabilirlik grubundan kaldırılana kadar ayrılamaz. Daha fazla bilgi için bkz. AlwaysOn kullanılabilirlik grubundan birincil veritabanını kaldırma.

  • Veritabanı bir veritabanı yansıtma oturumunda yansıtılıyor.

    Oturum sonlandırılmadığı sürece veritabanı ayrılamaz. Daha fazla bilgi için Veritabanı Aynalamasının Kaldırılması (SQL Server) bölümüne bakınız.

  • Veritabanı şüpheli. Şüpheli veritabanı ayrılamaz; ayırmadan önce acil durum moduna geçirmeniz gerekir. Veritabanını acil durum moduna alma hakkında daha fazla bilgi için bkz. ALTER DATABASE (Transact-SQL).

  • Veritabanı bir sistem veritabanıdır.

Yedekleme, geri yükleme ve ayırma

Salt okunur bir veritabanını ayırmak, farklılaşan yedeklerin fark temelleri hakkındaki bilgilerin kaybına neden olur. Daha fazla bilgi için bkz . Değişiklik yedeklemeleri (SQL Server).

Ayırma hatalarına yanıt verme

Veritabanı ayrılırken oluşan hatalar, veritabanının temiz bir şekilde kapanmasını ve işlem günlüğünün yeniden oluşturulmasını engelleyebilir. Hata iletisi alırsanız aşağıdaki düzeltme eylemlerini gerçekleştirin:

  1. Yalnızca birincil dosyayla değil veritabanıyla ilişkili tüm dosyaları yeniden ekleyin.

  2. Hata iletisine neden olan sorunu çözün.

  3. Veritabanını yeniden ayır.

Veritabanı ekleme

Kopyalanmış veya ayrılmış bir SQL Server veritabanı ekleyebilirsiniz. Bir SQL Server sunucu örneğine tam metin katalog dosyaları içeren bir SQL Server 2005 (9.x) veritabanı eklediğinizde, katalog dosyaları sql Server 2005 (9.x) ile aynı şekilde önceki konumlarından ve diğer veritabanı dosyalarıyla birlikte eklenir. Daha fazla bilgi için bkz. Yükseltme Full-Text Arama.

Bir veritabanı eklediğinizde, tüm veri dosyaları (.mdf ve .ndf dosyaları) kullanılabilir olmalıdır. Herhangi bir veri dosyasının, veritabanının ilk oluşturulduğu veya son eklendiği durumdan farklı bir yolu varsa, dosyanın geçerli yolunu belirtmeniz gerekir.

Uyarı

Eklenen birincil veri dosyası salt okunursa, Veritabanı Altyapısı veritabanının salt okunur olduğunu varsayar.

Şifrelenmiş bir veritabanı SQL Server örneğine ilk kez eklendiğinde, veritabanı sahibinin aşağıdaki deyimi yürüterek veritabanı ana anahtarını (DMK) açması gerekir: OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'. Aşağıdaki deyimi yürüterek DMK'nin otomatik şifresini çözmeyi etkinleştirmenizi öneririz: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Daha fazla bilgi için bkz . CREATE MASTER KEY (Transact-SQL) ve ALTER MASTER KEY (Transact-SQL).

Günlük dosyalarını ekleme gereksinimi, kısmen veritabanının okunur-yazılır mı yoksa salt okunur mu olduğuna bağlıdır:

  • Okuma-yazma veritabanı için genellikle yeni bir konuma günlük dosyası ekleyebilirsiniz. Ancak bazı durumlarda veritabanının tekrar bağlanması için mevcut günlük dosyaları gerekir. Bu nedenle, veritabanı bunlar olmadan başarıyla eklenene kadar tüm ayrılmış günlük dosyalarının her zaman tutulması önemlidir.

    Okuma-yazma veritabanında tek bir günlük dosyası varsa ve günlük dosyası için yeni bir konum belirtmezseniz, ekleme işlemi dosyanın eski konumuna bakar. Eski günlük dosyası bulunursa, veritabanının temiz bir şekilde kapatılıp kapatılmadığına bakılmaksızın kullanılır. Ancak, eski günlük dosyası bulunamazsa ve veritabanı temiz bir şekilde kapatılmışsa ve etkin günlük zinciri yoksa, ekleme işlemi veritabanı için yeni bir günlük dosyası oluşturmaya çalışır.

  • Eklenen birincil veri dosyası salt okunursa, Veritabanı Altyapısı veritabanının salt okunur olduğunu varsayar. Salt okunur bir veritabanı için, günlük dosyası veya dosyaları veritabanının birincil dosyasında belirtilen konumda kullanılabilir olmalıdır. SQL Server birincil dosyada depolanan günlük konumunu güncelleştiremediğinden yeni bir günlük dosyası oluşturulamıyor.

Veritabanı eklemeyle ilgili meta veri değişiklikleri

Salt okunur bir veritabanı ayrılıp yeniden eklendiğinde, geçerli fark tabanıyla ilgili yedekleme bilgileri kaybolur. Değişiklik tabanı, veritabanındaki veya veritabanının dosya veya dosya gruplarının bir alt kümesindeki tüm verilerin en son tam yedeklemesidir. Temel yedekleme bilgileri olmadan veritabanı master salt okunur veritabanıyla eşitlenmemiş hale gelir, bu nedenle bundan sonra alınan değişiklik yedeklemeleri beklenmeyen sonuçlar verebilir. Bu nedenle, salt okunur bir veritabanıyla değişiklik yedekleri kullanıyorsanız, veritabanını yeniden ekledikten sonra tam yedekleme alarak yeni bir değişiklik tabanı oluşturmanız gerekir. Değişiklik yedeklemeleri hakkında bilgi için bkz . Değişiklik yedekleri (SQL Server).

Ekleme sırasında veritabanı başlatma gerçekleşir. Genel olarak, bir veritabanı eklendiğinde, ayrılmış veya kopyalanmış olduğu zamanki durumuna geri döner. Ancak, ekleme ve çıkarma işlemleri, veritabanı için veritabanları arası sahiplik zincirini devre dışı bırakır. Zincirlemeyi etkinleştirme hakkında bilgi için bkz. çapraz veritabanı sahipliği zincirleme Sunucusu Yapılandırma Seçeneği.

Önemli

Varsayılan olarak ve güvenlik için veritabanı her eklendiğinde is_broker_enabled, is_honor_broker_priority_on ve is_trustworthy_on seçenekleri KAPALI olarak ayarlanır. Bu seçeneklerin nasıl ayarlanacağı hakkında bilgi için bkz. ALTER DATABASE (Transact-SQL). Meta veriler hakkında daha fazla bilgi için bkz. Veritabanını Başka Bir Sunucuda Kullanılabilir Hale Getirirken Meta Verileri Yönetme.

Yedekleme, geri yükleme ve ekleme

Tamamen veya kısmen çevrimdışı olan tüm veritabanları gibi, dosyaları geri yükleyen bir veritabanı eklenemez. Geri yükleme sırasını durdurursanız veritabanını ekleyebilirsiniz. Ardından geri yükleme sırasını yeniden başlatabilirsiniz.

Başka bir sunucu örneğine veritabanı ekleme

Önemli

SQL Server'ın daha yeni bir sürümü tarafından oluşturulan bir veritabanı önceki sürümlere eklenemez. Bu, veritabanının Veritabanı Altyapısı'nın eski bir sürümüyle fiziksel olarak kullanılmasını engeller. Ancak bu, meta veri durumuyla ilgilidir ve veritabanı uyumluluk düzeyini etkilemez. Daha fazla bilgi için bkz. ALTER DATABASE (Transact-SQL) uyumluluk düzeyi.

Kullanıcılara ve uygulamalara tutarlı bir deneyim sağlamak için, veritabanını başka bir sunucu örneğine eklediğinizde, diğer sunucu örneğinde veritabanının meta verilerinin bir bölümünü veya tümünü yeniden oluşturmanız gerekebilir. Bu meta veriler oturum açma bilgileri ve işler gibi bilgileri içerir. Daha fazla bilgi için bkz. Veritabanını Başka Bir Sunucuda Kullanılabilir Hale Getirirken Meta Verileri Yönetme.

Görev Article
Veritabanını ayır - sp_detach_db (Transact-SQL)
- Veritabanını ayırma
Veritabanı ekleme - VERITABANı OLUŞTURMA
- Veritabanı Ekleme
- sp_attach_db (Transact-SQL)
- sp_attach_single_file_db (Transact-SQL)
Ayırma ve ekleme işlemlerini kullanarak veritabanını yükseltme - Ayırma ve ekleme kullanarak veritabanını yükseltme (Transact-SQL)
Ayırma ve ekleme işlemlerini kullanarak veritabanını taşıma - Ayırma ve ekleme kullanarak veritabanını taşıma (Transact-SQL)
Veritabanı anlık görüntüsünü silme - Veritabanı Anlık Görüntüsünü Bırakma (Transact-SQL)