Aracılığıyla paylaş


SMB dosya paylaşımı depolaması ile SQL Server'ı yükleme

Şunlar için geçerlidir:Windows üzerinde SQL Server

SQL Server 2012 (11.x) ve sonraki sürümlerinde, sistem veritabanları (master, model, msdbve tempdb) ve Veritabanı Altyapısı kullanıcı veritabanları, depolama seçeneği olarak Sunucu İleti Bloğu (SMB) dosya sunucusu ile yüklenebilir. Bu hem SQL Server tek başına hem de SQL Server yük devretme kümesi yüklemeleri (FCI) için geçerlidir.

Not

FILESTREAM şu anda bir SMB dosya paylaşımında desteklenmiyor.

Yüklemeyle ilgili dikkat edilmesi gerekenler

SMB dosya paylaşımı biçimleri

SMB dosya paylaşımını belirttiğinizde, aşağıdaki değerler tek başına ve FCI veritabanları için evrensel adlandırma kuralı (UNC) yol biçimlerini destekler:

  • \\ServerName\ShareName\
  • \\ServerName\ShareName

Daha fazla bilgi için bkz. Evrensel Adlandırma Kuralı.

Geri döngü UNC yolu (sunucu adı localhost, 127.0.0.1veya yerel makine adı olan bir UNC yolu) desteklenmez. Özel bir durum olarak, SQL Server ile aynı düğümde barındırılan Dosya Sunucusu Kümesine sahip SQL Server da desteklenmez. Bu durumu önlemek için, ayrılmış Windows Kümelerinde SQL Server ve Dosya Sunucusu Kümesi oluşturmanız gerekir.

Aşağıdaki UNC yol biçimleri desteklenmez:

  • \\localhost\...\ veya \\127.0.0.1\...\ gibi geri döngü yolu
  • \\servername\x$ gibi yönetim paylaşımları
  • \\?\x:\ gibi diğer UNC yol biçimleri
  • Haritalanmış ağ sürücüleri

Desteklenen veri tanımı dili (DDL) deyimleri

Aşağıdaki Transact-SQL DDL deyimleri ve veritabanı motoru saklanan yordamlar, SMB dosya paylaşımlarını destekler:

  1. VERİTABANI OLUŞTUR
  2. VERİTABANINI DEĞİŞTİR
  3. RESTORE ifadeleri
  4. YEDEKLEME

Yükleme seçenekleri

  • Kurulum kullanıcı arabiriminde, Veritabanı Altyapısı Yapılandırması sayfasındaki Veri Dizinleri sekmesinde Veri kök dizini parametresini olarak ayarlayın. <FileServer> ve <Share1> ortamınızdaki değerlerle değiştirin.

  • Komut istemi yüklemesinde /INSTALLSQLDATADIR\\<FileServer>\<Share1>\olarak belirtin.

    SMB dosya paylaşımı seçeneğini kullanarak SQL Server'ı tek başına bir sunucuya yüklemek için örnek söz dizimi aşağıda verilmiştır:

    Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<password>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS
    

    SQL Server 2022 (16.x) ve sonraki sürümler için aka.ms/useterms'daki Microsoft SQL Server Yazılım Lisans Koşulları'nı okuyun.

    Veritabanı Altyapısı ve Analysis Services ile tek düğümlü bir SQL Server yük devretme kümesi örneği yüklemek için varsayılan örnek:

    setup.exe /q /ACTION=InstallFailoverCluster /InstanceName=MSSQLSERVER /INDICATEPROGRESS /ASSYSADMINACCOUNTS="<DomainName\UserName>" /ASDATADIR=<Drive>:\OLAP\Data /ASLOGDIR=<Drive>:\OLAP\Log /ASBACKUPDIR=<Drive>:\OLAP\Backup /ASCONFIGDIR=<Drive>:\OLAP\Config /ASTEMPDIR=<Drive>:\OLAP\Temp /FAILOVERCLUSTERDISKS="<Cluster Disk Resource Name - for example, 'Disk S:'" /FAILOVERCLUSTERNETWORKNAME="<Insert Network Name>" /FAILOVERCLUSTERIPADDRESSES="IPv4;xx.xxx.xx.xx;Cluster Network;xxx.xxx.xxx.x" /FAILOVERCLUSTERGROUP="MSSQLSERVER" /Features=AS,SQL /ASSVCACCOUNT="<DomainName\UserName>" /ASSVCPASSWORD="<password>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<password>" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS
    

    SQL Server'da çeşitli komut satırı parametre seçeneklerinin kullanımı hakkında daha fazla bilgi için komut isteminden Windows'ta SQL Server'ı yükleme ve yapılandırma bölümüne bakın.

Not

Parolalarınız,SQL Server varsayılan parola ilkesine uygun olmalıdır. Varsayılan olarak, parola en az sekiz karakter uzunluğunda olmalı ve şu dört kümeden üçünün karakterlerini içermelidir: büyük harfler, küçük harfler, 10 tabanındaki basamaklar ve simgeler. Parolalar en çok 128 karakter uzunluğunda olabilir. Mümkün olduğunca uzun ve karmaşık parolalar kullanın.

İşletim sistemiyle ilgili dikkat edilmesi gerekenler (SMB protokolü vs. SQL Sunucu)

Farklı Windows işletim sistemlerinin farklı SMB protokolü sürümleri vardır ve SMB protokolü sürümü SQL Server için saydamdır. SQL Server ile ilgili olarak farklı SMB protokolü sürümlerinin avantajlarını bulabilirsiniz.

İşletim Sistemi SMB2 protokol sürümü SQL Server'ın avantajları
Server Core dahil olmak üzere Windows Server 2012 ve sonraki sürümleri 3.0 Dosya sunucusu kümesi yapılandırmalarında, veritabanı yöneticisi veya dosya sunucusu yöneticisinin müdahalesine gerek kalmadan, sıfır kapalı kalma süresi sağlayarak dosya paylaşımlarında saydam yük devretme desteği.

Aynı anda birden çok ağ arabirimi kullanan I/O desteği ve ağ arabirimi hatalarına karşı dayanıklılık.

RDMA özelliklerine sahip ağ arabirimleri için destek.

Bu özellikler ve Sunucu İleti Bloğu hakkında daha fazla bilgi için bkz.Sunucu İleti Bloğuna genel bakış.

Scale Out Dosya Sunucusu (SoFS) ile sürekli erişilebilirlik desteği.
Sunucu Çekirdeği dahil olmak üzere Windows Server 2012 R2 ve sonraki sürümleri 3.2 Dosya sunucusu kümesi yapılandırmalarında, veritabanı yöneticisi veya dosya sunucusu yöneticisinin müdahalesine gerek kalmadan, sıfır kapalı kalma süresi sağlayarak dosya paylaşımlarında saydam yük devretme desteği.

Aynı anda birden çok ağ arabirimi kullanarak Girdi/Çıktı (I/O) desteği ve SMB Çok Kanallı kullanarak ağ arabirimi hatasına tolerans gösterme.

Doğrudan SMB kullanan RDMA özelliklerine sahip ağ arabirimleri için destek.

Bu özellikler ve Sunucu İleti Bloğu hakkında daha fazla bilgi için bkz.Sunucu İleti Bloğuna genel bakış.

Scale Out Dosya Sunucusu (SoFS) ile sürekli erişilebilirlik desteği.

SQL Server işlem stili iş yüklerinde yaygın olarak kullanılan küçük rastgele okuma/yazma G/Ç'leri için iyileştirilmiştir.

Maksimum İletim Birimi (MTU) varsayılan olarak açıktır ve bu da SQL Server veri ambarı ve veritabanı yedekleme veya geri yükleme gibi büyük sıralı aktarımlarda performansı önemli ölçüde artırır.

Güvenlikle ilgili dikkat edilmesi gerekenler

  • SQL Server hizmet hesabı ve SQL Server aracısı hizmet hesabı, SMB paylaşım klasörleri üzerinde FULL CONTROL paylaşım izinlerine ve NTFS izinlerine sahip olmalıdır. SMB dosya sunucusu kullanılıyorsa SQL Server hizmet hesabı bir etki alanı hesabı veya sistem hesabı olabilir. Paylaşım ve NTFS izinleri hakkında daha fazla bilgi için bkz. Dosya SunucusuPaylaşım ve NTFS İzinleri.

    Not

    SMB paylaşım klasörlerindeki FULL CONTROL paylaşım izinleri ve NTFS izinleri SQL Server hizmet hesabı, SQL Server Aracısı hizmet hesabı ve yönetici sunucu rollerine sahip Windows kullanıcıları ile kısıtlanmalıdır.

    Etki alanı hesabını SQL Server hizmet hesabı olarak kullanın. Sistem hesabı bir hizmet hesabı olarak kullanılıyorsa, makine hesabı için <domain-name>\<computer-name>*$*biçiminde izinler verin.

    Not

    SQL Server kurulumu sırasında, SMB dosya paylaşımı bir depolama seçeneği olarak belirtilmişse, etki alanı hesabını bir hizmet hesabı olarak belirtmeniz gerekir. SMB dosya paylaşımıyla, System hesabı yalnızca SQL Server yüklendikten sonra hizmet hesabı olarak belirtilebilir.

    Sanal hesapların kimliği uzak bir konumda doğrulanamaz. Tüm sanal hesaplar makine hesabının iznini kullanır. Makine hesabını <domain-name>\<computer-name>*$*biçiminde ayarlayın.

  • SQL Server'ı yüklemek için kullanılan hesabın veri dizini olarak kullanılan SMB dosya paylaşımı klasöründe veya Küme Kurulumu sırasında diğer veri klasörlerinde (Kullanıcı veritabanı dizini, kullanıcı veritabanı günlük dizini, tempdb dizini, tempdb günlük dizini, yedekleme dizini) TAM DENETIM izinleri olmalıdır.

  • SQL Server'ı yüklemek için kullanılan hesaba SMB dosya sunucusunda SeSecurityPrivilege ayrıcalıkları verilmelidir. Bu ayrıcalığı vermek için dosya sunucusundaki Yerel Güvenlik İlkesi konsolunu kullanarak SQL Server kurulum hesabını Denetim ve güvenlik günlüğünü yönet ilkesine ekleyin. Bu ayar, Yerel İlkeleraltındaki Kullanıcı Hakları Atamaları bölümünde bulunur.

Bilinen sorunlar ve sınırlamalar

Ağa bağlı depolamada bulunan bir SQL Server veritabanını ayırdıktan sonra, SQL Server veritabanını tekrar bağlamaya çalışırken veritabanı izin sorunlarıyla karşılaşabilirsiniz. Daha fazla bilgi için bkz. hata 5120.

SQL Server'ın kümelenmiş örneği için depolama seçeneği olarak SMB dosya paylaşımı kullanılıyorsa, SQL Server Kaynak DLL'sinde dosya paylaşımında okuma/yazma izni olmadığından varsayılan olarak SQL Server Yük Devretme Kümesi Tanılama Günlüğü dosya paylaşımına yazılamaz. Bu sorunu çözmek için aşağıdaki yöntemlerden birini deneyin:

  1. Kümedeki tüm bilgisayar nesnelerine dosya paylaşımında okuma/yazma izinleri verin.

  2. Tanılama günlüklerinin konumunu yerel bir dosya yolu olarak ayarlayın. Aşağıdaki örne bakın:

    ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG PATH = 'C:\logs';
    

SQL Server veri dosyalarını SMB dosya paylaşımlarında barındırdığınızda, dosyalara karşı tüm G/Ç sunucudaki veya sanal makinedeki ağ arabiriminden geçer. İş yükünün gerektirdiği G/Ç'yi desteklemek için yeterli ağ bant genişliği olduğundan emin olun.

Ağ bağlantısı sorunları veya başka bir hata nedeniyle SQL Server veri dosyalarını barındıran dosya paylaşımının kullanılamaması SQL Server'da G/Ç gecikmelerine veya hatalarına neden olabilir. Görev açısından kritik iş yükleri için, ağ ve dosya paylaşımında yerleşik yedeklilik olduğundan ve dosya paylaşımının SMB 3.0 saydam yük devretmeyi desteklediğinden emin olun( sürekli kullanılabilirlikolarak da bilinir).