SQL Server örneği kök dizininin ayrı bir sürücüde bulunması yararlı mıdır?


29

SQL Server'ı yüklerken varsayılan yolların çoğunun değiştirilebileceğini biliyorum ve genellikle bir yükleme yaptığımda, verileri ve günlük klasörlerini ayrı sürücülerde (tipik olarak D ve E) değiştireceğim, ancak son zamanlarda bir varsayılandan farklı bir örnek adı çalıştıran önceden yüklenmiş makine ve örnek kök dizinini mdf dosyalarıyla birlikte D sürücüsünde olacak şekilde yapılandırdılar. Bu, normalde sadece klasörlerde ve veritabanı dosyalarında göreceli olarak temiz bir sürücünün ne olacağı anlamına geliyor. Artık SQL Server ikili dosyalarının da tam bir kurulumuna sahip oldum.

yani şimdi aşağıdakilere sahibim:

C:\Program Files\Microsoft SQL Server\ --Base Install
D:\Microsoft SQL Server\MSSQL10_50.MyInstance --Instance Binaries
D:\Microsoft SQL Server\MSSQL10_50.MyInstance\MSSQL\DATA --Data Files
E:\Microsoft SQL Server\MSSQL10_50.MyInstance\MSSQL\LOGS --Log Files

Normalde nerede böyle bir şeyle koşardım:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\ --Base Install & Default Instance Binaries
D:\MSSQL\DATA --Data Files
E:\MSSQL\LOGS --Log Files

Ayrı bir örnek ikili klasöre sahip olmanın neden gerekli olduğunu anlayabiliyorum, ancak tüm bu ikili dosyaları ayrı bir sürücüye koymanın neden yararlı olacağını anlamıyorum.

Biri bana bunun neden makul bir şey olabileceğini söyleyebilir mi? Ya da belki de hiç farketmez mi? Bana göre sadece korkunç düzensiz görünüyor ...

Yanıtlar:


23

Örnek kökü bölmekle ilgili olarak bunu yapmak için birkaç argüman var.

  1. Bazı insanlar "C" disklerini yalnızca işletim sistemi ve işletim sistemi ikili dosyalarına adamaktan yanadır. Bu, C sürücüsünde bir çökme durumunda kurtarma için bazı farklı seçenekler sunabilir, işletim sisteminin alanla ilgili sorunların diğer uygulamalarla paylaşmasına neden olmasını veya almasını önlemeye yardımcı olabilir.
  2. SQL Server'ın ikili dosyalarını diğer programlardan ayırıyorsunuz ve hata günlüklerinin gittiği Logs klasörü gibi bazı kritik klasörlerin kullanılabilirliğini sağlıyorsunuz - bu klasörün SQL Sunucular için erişilebilir olması gerekiyor. Temel olarak kendini başkalarından koruyorsun.

SQL Server ikili dosyalarını / örnek dosyalarını, diğer program dosyalarınızı koymak için aynı yere koyabilirsiniz. Ancak bunu yaparsanız - en azından sistem veritabanı dosyalarınızı ve potansiyel olarak varsayılan yedekleme konumunuzu alıp başka bir yere taşıdığınızdan emin olun.

Oynamaya sınırsız sayıda sürücü harfi verildiğinde yapma eğilimindeyim (en azından .. Harfler burada önemli değil):

  • C - OS ve sistem seviyesi dosyaları. Bir tek
  • D - Tüm uygulamalar için program dosyaları (SQL Server dahil)
  • S - Örnek düzeyi dosyaları / SQL Server sistem veritabanları ve tipik olarak günlük dosyaları (TempDB hariç) (not .. Birden fazla örneğim varsa, bunlardan 4'ünü yapmayacağım. S çoğu durumda, ayrımı sağlayan klasörlerle)

( ED- Başka bir not - Genellikle bir "S" sürücüm yok. Günün sonunda, sisteminizdeki veritabanı dosyalarını, bazı kullanıcılarınızla aynı sürücüde yaşayan Master, Model, MSDB ve Resource db dosyalarına sahip ettirmek. veritabanı dosyaları, ancak mantıklı ayrılık için ayrı bir klasörde şeyler daha az kafa karıştırıcı tutmak için dünyanın sonu değil.)

  • F - Kullanıcı veritabanları için veri dosyaları
  • L - Kullanıcı veritabanları için günlük dosyası sürücüsü
  • T - TempDB
  • X - Yedekleme sürücüsü (çoğu durumda bir yedeklemeyi bir ağ sürücüsüne aktarmayı seçtim, yedeklemeden sonra bir kopya için ödeme yapmamayı tercih ediyorum ve hemen başka bir yere depolamaya gidiyorum.)

Sık sık daha fazla veriye ve günlük sürücüsüne ve bazen başka bir TempDB sürücüsüne sahip olacağım. Birden fazla örnek ekleyin ve sürücü harflerini hızlı bir şekilde bitebilirsiniz. Örnek seviye dosyalarınızı C: 'ye koymaktan kesinlikle kurtulabilirsiniz. Ve böyle ayarlanmış istemciler için birçok sağlık kontrolü yapıyorum - ve asla "oh vay .. bunu şimdi düzeltmeliyiz" demiyorum - Şimdi eğer TempDB dosyaları da varsa, ben genellikle Bunu değiştirmelerini sağla. Bazen ana ve MSDB veritabanlarını da taşıyın ..

Ama bu şeyleri bölemezseniz dünya bitmeyecek. Bence fayda gerçekten sadece dosyalarınızı ayrı tutmak. Bir DBA olarak, şirketinizdeki diğer roller, diğer uygulamalar, diğer kurulumlar vb. Etrafında sağlıklı bir paranoya olmalıdır ve kendinizi çatışmalar potansiyelinden ne kadar fazla tecrit ederseniz edin, o kadar iyi olursunuz. Ve size yeniden yükleme ve kurtarma için bazı seçenekler sunar. Yani evet, ikili dosyalarınızı C.'den ayırın. Fakat tavsiyem, her seferinde ayrı bir sürücüde çıldırmak olmaz ..


3

Eh, Windows'ta sadece 26 olası sürücü harf vardır. 1
Ancak montaj noktalarını kullanma olanağınız var. 2

Dolayısıyla, bir makineye 25 farklı (SQL, Web, ...) Sunucu yüklemeniz gerekirse, sunuculardan biri için bir sürücü harfinin olması mantıklı olabilir.
Ancak, yalnızca bir sunucunuz varsa, günlük dosyaları, veritabanı ve program dosyaları için farklı sürücü harflerinin olması daha mantıklı olacaktır.
Ayrıca log / database / program dosyalarını farklı klasörlerde ise bölebilirsiniz.

  1. SQL sunucuyu durdur
  2. bölüm ekle
  3. tüm veritabanı dosyalarını bölüme kopyala
  4. bağlama noktasını, veritabanı dosyalarının bulunduğu klasöre değiştirin (örneğin: d: \ database)
  5. bitmiş

Bu, soruya hiç cevap vermiyor. Sürücü harfleri veya bağlama noktaları hakkında soru sormuyordum, örnek kökünü ayrı bir sürücüye yerleştirmenin neden anlamlı olacağını soruyordum. Bunlar sistem dosyaları olduğu için, onları sistem sürücüsünde bırakmak mantıklı geliyor.
Adhocgeek

1
Üzgünüm sizi yanlış anladım. SQL'e ait her şeyi tek bir sürücüde bir araya getirmek için iyi bir nokta, yalnızca bu sürücüde çalıştırılması gereken bir yedekleme komut dosyasının basitliği olabilir. Ancak her şeyi yalnızca bir sürücüye yerleştirirseniz, veritabanı, ikili dosyalar ve günlükler ayrı klasörlerde olmalıdır. Ve tüm noktaları değiştirmeden farklı bölümlerdeki Verileri yeniden düzenleyebileceğiniz bağlama noktalarına geldim.

@gnomix Cevaplarınızı (ve sorularınızı) her zaman, altındaki 'düzenle' bağlantısını tıklayarak düzenleyebilirsiniz.
dezso

@gnomix Potansiyel yedekleme komut dosyalarının basitliği, Veri ve Günlükleri kendi sürücülerine koyma eğilimimin temel nedenlerinden biridir, ancak sistem dosyalarını yedekleme gereksinimim olmadı. Bunun ortak bir gereklilik olup olmadığını bilmek istiyorum. İçgüdülerim bana sistem dosyalarını sistem dışı bir sürücüye yerleştirmenin sorunlara yol açabileceğini söylüyor.
adhocgeek

1
Ayrıca, bir sürücüyü iki veya daha fazla bölüme ayırmak, disk G / Ç işlemlerinde gerçekten yardımcı olmaz. Ama evet, sana tamamen katılıyorum. Veritabanı dosyalarını sürücünün kök dizinine yerleştirmek işleri daha güzel görünmesini sağlar ve olayları tespit etmeyi kolaylaştırır. Genellikle her şeyi D: \ Data E: \ Logs F: \ Backup, ...
user1207758 15:12
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.