Neden bir veritabanı oluşturmak için master kullanılır?


12

Kısa bir sorum var, neden use master;bir veritabanı oluşturmak için kullanıyorum ? İşte Microsoft belgelerindeki örnek

USE master ;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
    FILENAME = 'C:\Program Files\...\saledat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,  
    FILENAME = 'C:\Program Files\...\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;

Yanıtlar:


22

Bu çok özel durumda kesinlikle bir zorunluluk değildir, ancak diğer birçok senaryoda bir zorunluluktur. Adlı bir veritabanı oluşturuyorsanız Salesve bir veritabanı çağrıda arelady Sales, sizden önce veritabanı içeriği değiştirmek gerekir:

  • Değiştirme ile geri yükleme; veya,
  • Geçerli veritabanını bırakın ve sonra:
    • Sıfırdan oluşturun; veya,
    • Eklemek için oluşturun.

Veritabanı oluşturma dışında (a) geçerli veritabanı bağlamında olmamak veya (b) masterözel (veya en azından belirli bir veritabanı bağlamında) olmamak ve veritabanları oluşturma sırasında veya bu sırada yapabileceğiniz şeyler:

  • Veritabanını farklı bir duruma ayarlamak, örneğin single_user
  • Bir komut dosyasının bir USEkomutu olduğunda ancak bu kullanıcı veritabanı çevrimdışı veya başka bir şekilde erişilemediğinde hataları önleme
  • Gibi sunucu düzeyinde izinler verme CREATE DATABASE
  • Sunucu düzeyinde rol üyeliği verme
  • Bir modülü sistem nesnesi ( sp_MS_marksystemobject) veya başlatma prosedürü olarak işaretleme
  • Belirli sertifika türleri, sunucu denetimi ve Kullanılabilirlik Grubu işlemleri

Muhtemelen bir sürü başka şey. USE master;her zaman gerekli değildir, ancak bazen bu veritabanından sunucu düzeyinde komutlar çalıştırmak her zaman zarar vermez .


17

masterBir veritabanı oluşturmak için veritabanını kullanmanız gerektiğine inanıyorum . Veritabanı oluştur komutunun veritabanı bağlamında çalıştırılması gerektiğinden, belgeler her zaman varsayılan bir veritabanı kullanır masterve komut dosyası ne olursa olsun her zaman orada olacak bir sistem veritabanıdır!


4

Bence, çok çok uzun zaman önce, inanıyoruz vardı DATABASE komutu CREATE yürütürken usta olmak. Doğrulamak için 20 yıllık bir sürümü başlatmak için çok tembelim. Yani muhtemelen bunun bir kombinasyonu ve ustalaşmak "doğal hissettiriyor". Bir klasör oluşturacaksanız (sadece tek bir klasör düzeyi olduğunu hayal edin), muhtemelen CD \ 'yi söylemek için "daha iyi" hissedersiniz (kökü burada ana veritabanıyla karşılaştırırsınız).

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.