SQL Server & Azure SQL yönetilen örnek arasındaki T-SQL farklılıkları

Uygulama hedefi: Azure SQL yönetilen örneği

bu makalede, Azure SQL yönetilen örneği ve SQL Server arasındaki söz dizimi ve davranış farklılıkları özetlenmektedir ve açıklanmaktadır.

SQL yönetilen örnek, SQL Server veritabanı altyapısı ile yüksek uyumluluk sağlar ve birçok özellik SQL yönetilen bir örnekte desteklenir.

SQL Server 'den kolay geçiş

SQL yönetilen örnekte tanıtılan bazı paas sınırlamaları vardır ve bazı davranış değişiklikleri SQL Server ile karşılaştırılır. Farklar aşağıdaki kategorilere ayrılmıştır:

Bu özelliklerin çoğu mimari kısıtlamalardır ve hizmet özelliklerini temsil eder.

SQL yönetilen örnekte bulunan ve gelecekte çözümlenecek olan geçici bilinen sorunlar , yenilikler bölümünde açıklanmıştır.

Kullanılabilirlik

Always on kullanılabilirlik grupları

yüksek kullanılabilirlik SQL yönetilen örnekte yerleşiktir ve kullanıcılar tarafından denetlenemez. Aşağıdaki deyimler desteklenmez:

Backup

SQL yönetilen örnek otomatik yedeklemelere sahiptir, bu nedenle kullanıcılar tam veritabanı COPY_ONLY yedeklemeleri oluşturabilir. Fark, günlük ve dosya anlık görüntüsü yedeklemeleri desteklenmez.

  • SQL yönetilen bir örnekle, bir örnek veritabanını yalnızca bir Azure Blob depolama hesabına yedekleyebilirsiniz:
    • Yalnızca BACKUP TO URL desteklenir.
    • FILE, TAPE , ve yedekleme cihazları desteklenmez.
  • Genel WITH seçeneklerin çoğu desteklenir.
    • COPY_ONLY zorunludur.
    • FILE_SNAPSHOT desteklenmez.
    • Bant seçenekleri: REWIND , NOREWIND , UNLOAD , ve NOUNLOAD desteklenmez.
    • Günlüğe özel seçenekler: NORECOVERY , STANDBY ve NO_TRUNCATE desteklenmez.

Sınırlamalar:

  • SQL yönetilen bir örnek ile, yedekleme sıkıştırması kullanılıyorsa 4 TB 'a kadar olan veritabanları için yeterli olan bir örnek veritabanını en fazla 32 şeritli bir yedeklemeye yedekleyebilirsiniz.

  • BACKUP DATABASE ... WITH COPY_ONLYhizmet tarafından yönetilen Saydam Veri Şifrelemesi (tde) ile şifrelenmiş bir veritabanında yürütemezsiniz. Hizmet tarafından yönetilen TDE, yedeklemelerin dahili bir TDE anahtarla şifrelenmesini zorlar. Anahtar verilemiyor, bu nedenle yedeklemeyi geri alamazsınız. Otomatik yedeklemeler ve zaman içinde geri yükleme kullanın veya bunun yerine müşteri tarafından yönetilen (BYOK) TDE kullanın. Ayrıca, veritabanında şifrelemeyi devre dışı bırakabilirsiniz.

  • Yönetilen bir örnek üzerinde gerçekleştirilen yerel yedeklemeler SQL Server geri yüklenemez. Bunun nedeni, yönetilen Örneğin SQL Server herhangi bir sürümüne kıyasla daha yüksek iç veritabanı sürümüne sahip olmasından kaynaklanır.

  • bir veritabanını bir azure depolama alanına/konumundan yedeklemek veya geri yüklemek için, azure Depolama kaynaklarına kısıtlı erişim hakları veren bir urı (SAS) oluşturmanız gerekir. bu konuda daha fazla bilgi edinin. Bu senaryolar için erişim tuşlarının kullanılması desteklenmez.

  • SQL yönetilen örnekteki komutu kullanılarak en fazla yedekleme şeridi boyutu en BACKUP fazla blob boyutu olan 195 GB 'dir. Tek tek Stripe boyutunu azaltmak ve bu sınırın içinde kalmak için yedekleme komutundaki şeritler sayısını artırın.

    İpucu

    bu kısıtlamayı geçici olarak çözmek için, bir veritabanını şirket içi bir ortamda veya bir sanal makinede SQL Server yedekleyerek şunları yapabilirsiniz:

    • ' A yedeklemek DISK yerine uygulamasına yedekleyin URL .
    • yedekleme dosyalarını Blob depolamaya Upload.
    • SQL yönetilen örneğe geri yükleyin.

    RestoreSQL yönetilen örnekteki komut, karşıya yüklenen yedekleme dosyalarının depolanması için farklı bir blob türü kullanıldığından, yedekleme dosyalarındaki daha büyük blob boyutlarını destekler.

T-SQL kullanan yedeklemeler hakkında daha fazla bilgi için bkz. yedekleme.

Güvenlik

Denetim

Microsoft Azure SQL ve SQL Server içindeki denetim arasındaki temel farklılıklar şunlardır:

  • SQL yönetilen örnekle, denetim sunucu düzeyinde çalışmaktadır. .xelGünlük dosyaları Azure Blob depolama alanında depolanır.
  • Azure SQL Veritabanı, denetim veritabanı düzeyinde çalışmaktadır. .xelGünlük dosyaları Azure Blob depolama alanında depolanır.
  • SQL Server, şirket içi veya sanal makinelerde, denetim sunucu düzeyinde çalışmaktadır. olaylar dosya sistemine veya Windows olay günlüklerine depolanır.

SQL yönetilen örnekteki XEvent denetimi Azure Blob depolama hedeflerini destekler. dosya ve Windows günlükleri desteklenmez.

CREATE AUDITAzure Blob depolamaya denetim için söz diziminde önemli farklılıklar şunlardır:

  • TO URLDosyaların yerleştirildiği Azure Blob depolama KAPSAYıCıSıNıN URL 'sini belirtmek için kullanabileceğiniz yeni bir sözdizimi sağlanır .xel .
  • TO FILESQL yönetilen örnek Windows dosya paylaşımlarına erişemediği için sözdizimi desteklenmiyor.

Daha fazla bilgi için bkz.

Sertifikalar

SQL yönetilen örnek dosya paylaşımlarına ve Windows klasörlerine erişemez, bu nedenle aşağıdaki kısıtlamalar geçerlidir:

  • CREATE FROM / BACKUP TO Dosya sertifikalar için desteklenmiyor.
  • CREATE / BACKUP Sertifika FILE / ASSEMBLY desteklenmiyor. Özel anahtar dosyaları kullanılamıyor.

Bkz. SERTIFIKA ve yedekleme sertifikası oluşturma .

Geçici çözüm: sertifika yedeklemesi oluşturmak ve yedeklemeyi geri yüklemek yerine sertifika ikili içeriğini ve özel anahtarı alın, bunu. SQL dosyası olarak depolayın ve ikiliden oluşturun:

CREATE CERTIFICATE  
   FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>)

Kimlik Bilgisi

Yalnızca Azure Key Vault ve SHARED ACCESS SIGNATURE kimlikleri desteklenir. Windows kullanıcılar desteklenmez.

Bkz. KIMLIK bilgisi oluşturma ve kimlik bilgisi değiştirme.

Şifreleme sağlayıcıları

SQL yönetilen örnek dosyalara erişemez, bu nedenle şifreleme sağlayıcıları oluşturulamıyor:

Oturum açma bilgileri ve kullanıcılar

  • , ve kullanılarak oluşturulan SQL oturum açma FROM CERTIFICATE FROM ASYMMETRIC KEY FROM SID işlemleri desteklenir. Bkz. oturum oluşturma.

  • Azure Active Directory (azure ad), oturum açma sözdizimi oluştur veya oturum açma işleminden kullanıcı oluşturma [azure ad oturum açma] sözdizimi kullanılarak oluşturulan sunucu sorumluları (oturumlar) desteklenir. Bu oturumlar sunucu düzeyinde oluşturulur.

    SQL yönetilen örnek, söz dizimi ile Azure AD veritabanı sorumlularını destekler CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER . Bu özellik, Azure AD içeren veritabanı kullanıcıları olarak da bilinir.

  • sözdizimi ile oluşturulan Windows oturum açma işlemleri CREATE LOGIN ... FROM WINDOWS desteklenmez. Azure Active Directory oturumlarını ve kullanıcıları kullanın.

  • Örnek için Azure AD Yöneticisi sınırsız yönetici ayrıcalıklarınasahiptir.

  • Yönetici olmayan Azure AD Veritabanı düzeyi kullanıcılar CREATE USER ... FROM EXTERNAL PROVIDER söz dizimi kullanılarak oluşturulabilir. Bkz . Kullanıcı oluşturma... Dış SAĞLAYıCıDAN.

  • Azure AD server sorumluları (oturum açmalar) yalnızca bir SQL yönetilen örnek içindeki özellikleri SQL destekler. Aynı Azure AD kiracısı veya farklı kiracılar dahilinde olup olmadıkları fark etmeksizin, Azure AD kullanıcıları için desteklenmez. Bu özelliklere örnek olarak şunlar verilebilir:

    • işlemsel çoğaltma SQL.
    • Sunucu bağlayın.
  • Veritabanı sahibi olarak Azure AD grubuna eşlenmiş bir Azure AD oturum açmanın ayarlanması desteklenmez. Azure AD grubunun bir üyesi, oturum açma veritabanında oluşturulmasa bile, veritabanı sahibi olabilir.

  • Diğer Azure AD sorumlularını kullanarak Azure AD sunucu düzeyi sorumluları 'nın kimliğe bürünme işlemi, execute as yan tümcesi gibi desteklenir. FARKLı ÇALıŞTıR sınırlamaları şunlardır:

    • Ad, oturum açma adından farklı olduğunda Azure AD kullanıcıları için Kullanıcı tarafından desteklenmez. Örneğin, kullanıcının LOGIN [] adlı Kullanıcı oluşturma [myAadUser] sözdizimi aracılığıyla oluşturulduğu john@contoso.com ve kimliğe bürünme özelliği, exec as user = myaaduser aracılığıyla denendiğinde bir örnektir. Bir Azure AD sunucu sorumlusu 'ndan (oturum açma) bir Kullanıcı oluşturduğunuzda, user_name oturum açma işleminden aynı login_name olarak belirtin.

    • yalnızca rolün parçası olan SQL Server düzeyi sorumlular (oturumlar), sysadmin Azure AD sorumlularını hedefleyen aşağıdaki işlemleri yürütebilir:

      • KULLANıCı OLARAK YÜRÜT
      • OTURUM AÇMA OLARAK YÜRÜT
    • FARKLı ÇALıŞTıR ifadesiyle bir kullanıcının kimliğine bürünmek için kullanıcının doğrudan Azure AD sunucu sorumlusu (oturum açma) ile eşlenmesi gerekir. Azure AD Server sorumlularına eşlenen Azure AD gruplarının üyesi olan kullanıcılar, çağıran, belirtilen kullanıcı adında kimliğe bürünme izinlerine sahip olsa bile, EXECUTE AS ifadesiyle birlikte kullanılamaz.

  • bacpac dosyalarını kullanarak veritabanı dışarı aktarma/içeri aktarma işlemi, ssms v 18.4 veya üzeriya da SQLPackage.exekullanılarak SQL yönetilen örnekteki Azure AD kullanıcıları için desteklenir.

    • Aşağıdaki konfigürasyonlar veritabanı bacpac dosyası kullanılarak desteklenir:
      • Aynı Azure AD etki alanı içindeki farklı yönetme örnekleri arasında bir veritabanını içeri/dışarı aktarın.
      • SQL yönetilen örnekten bir veritabanını dışarı aktarın ve aynı Azure AD etki alanı içinde SQL Veritabanı içeri aktarın.
      • SQL Veritabanı bir veritabanını dışarı aktarın ve aynı Azure AD etki alanı içinde SQL yönetilen örneğe aktarın.
      • SQL yönetilen örnekten bir veritabanını dışarı aktarın ve SQL Server (sürüm 2012 veya üzeri) içeri aktarın.
        • bu yapılandırmada tüm Azure AD kullanıcıları, oturum açma bilgileri olmayan SQL Server veritabanı sorumluları (kullanıcılar) olarak oluşturulur. Kullanıcı türü olarak listelenir SQL ve SQL_USER sys.database_principals) olarak görünür. izinleri ve rolleri SQL Server veritabanı meta verilerinde kalır ve kimliğe bürünme için kullanılabilir. ancak, kimlik bilgilerini kullanarak SQL Server erişmek ve oturum açmak için kullanılamaz.
  • yalnızca SQL yönetilen örnek sağlama işlemi tarafından oluşturulan sunucu düzeyi asıl oturum açma, veya gibi sunucu rollerinin üyeleri veya securityadmin sysadmin sunucu düzeyinde herhangi bir oturum açma iznini değiştir ile diğer oturumlar, SQL yönetilen örnek için ana veritabanında Azure AD sunucu sorumlularını (oturum açma) oluşturabilir.

  • oturum açma bir SQL sorumlusu ise, yalnızca rolün parçası olan oturum açma işlemleri sysadmin bir Azure AD hesabı için oturum açma bilgileri oluşturmak üzere oluştur komutunu kullanabilir.

  • azure ad oturum açma, azure SQL yönetilen örneği için kullanılan aynı dizin içinde bir azure ad 'nin üyesi olmalıdır.

  • Azure AD server sorumluları (oturum açmalar), SQL Server Management Studio 18,0 preview 5 ' te başlayan Nesne Gezgini görünür.

  • Bir örnek üzerinde etkinleştirildikten sonra, Azure AD yönetici hesabı için sysadmin erişim düzeyine sahip bir sunucu sorumlusu otomatik olarak oluşturulur.

  • Kimlik doğrulama sırasında, kimliği doğrulanan sorumluyu çözümlemek için aşağıdaki sıra uygulanır:

    1. Azure AD hesabı, Azure AD Server sorumlusu (oturum açma) ile doğrudan eşlenmiş olarak mevcutsa sys.server_principals, Azure AD sunucu sorumlusu (oturum açma) için erişim izni verin ve izinleri uygulayın.
    2. Azure AD hesabı, "X" türü olarak sys.server_principals mevcut olan Azure ad sunucusu sorumlusu (oturum açma) ile eşlenmiş bir Azure AD grubunun üyesiyse, erişim izni verin ve Azure AD grubu oturum açma izinlerini uygulayın.
    3. Azure AD hesabı, bir veritabanında bulunan bir Azure AD kullanıcısına doğrudan eşlenmişse, "E" türü olarak sys.database_principals, Azure AD veritabanı kullanıcısına erişim izni verin ve izinleri uygulayın.
    4. Azure AD hesabı, bir veritabanında bulunan bir Azure AD kullanıcısına eşlenmiş bir Azure AD grubunun üyesiyse, "X" türü olarak sys.database_principals, Azure AD grup kullanıcısına erişim ve uygulama izinleri verin.

Hizmet anahtarı ve hizmet ana anahtarı

Yapılandırma

Arabellek havuzu uzantısı

Harmanlama

Varsayılan örnek harmanlaması, SQL_Latin1_General_CP1_CI_AS ve oluşturma parametresi olarak belirtilebilir. Bkz. harmanlamalar.

Uyumluluk düzeyleri

  • Desteklenen uyumluluk düzeyleri 100, 110, 120, 130, 140 ve 150.
  • 100 altındaki uyumluluk düzeyleri desteklenmez.
  • Yeni veritabanları için varsayılan uyumluluk düzeyi 140 ' dir. Geri yüklenen veritabanları için, uyumluluk düzeyi 100 ve üzeri olursa değişmeden kalır.

Bkz. ALTER DATABASE Compatibility Level.

Veritabanı yansıtma

Veritabanı yansıtma desteklenmez.

  • ALTER DATABASE SET PARTNER ve SET WITNESS seçenekleri desteklenmez.
  • CREATE ENDPOINT … FOR DATABASE_MIRRORING desteklenmez.

Daha fazla bilgi için bkz. alter database set Partner, TANıK ayarla ve uç nokta oluştur... DATABASE_MIRRORING IÇIN.

Veritabanı seçenekleri

  • Birden çok günlük dosyası desteklenmez.
  • Bellek içi nesneler Genel Amaçlı hizmeti katmanında desteklenmez.
  • Her veritabanı için en fazla 280 dosya Genel Amaçlı örnek başına 280 dosya sınırı vardır. Genel Amaçlı katmanındaki veriler ve günlük dosyaları bu sınıra doğru sayılır. İş açısından kritik katmanı veritabanı başına 32.767 dosyasını destekler.
  • Veritabanı FILESTREAM verileri içeren dosya gruplarını içeremez. . Bak veri içeriyorsa geri yükleme başarısız olur FILESTREAM .
  • Her dosya Azure Blob depolama alanına yerleştirilir. Dosya başına GÇ ve aktarım hızı her bir dosyanın boyutuna bağlıdır.

CREATE DATABASE ekstresi

Aşağıdaki sınırlamalar şunlar için geçerlidir CREATE DATABASE :

  • Dosyalar ve dosya grupları tanımlanamıyor.

  • CONTAINMENTSeçenek desteklenmiyor.

  • WITH Seçenekler desteklenmez.

    İpucu

    Geçici bir çözüm olarak, ALTER DATABASE CREATE DATABASE dosya eklemek veya kapsama ayarlamak için veritabanı seçeneklerini ayarlamak üzere sonra ' yi kullanın.

  • FOR ATTACHSeçenek desteklenmiyor.

  • AS SNAPSHOT OFSeçenek desteklenmiyor.

Daha fazla bilgi için bkz. veritabanı oluşturma.

ALTER DATABASE ifadesi

Bazı dosya özellikleri ayarlanamaz veya değiştirilemez:

  • t-SQL ifadesinde bir dosya yolu belirtilemez ALTER DATABASE ADD FILE (FILENAME='path') . FILENAMESQL yönetilen örnek otomatik olarak dosyaları yerleştirtiğinden, betikten kaldır.
  • Bir dosya adı, ifadesini kullanarak değiştirilemez ALTER DATABASE .

Aşağıdaki seçenekler varsayılan olarak ayarlanır ve değiştirilemez:

  • MULTI_USER
  • ENABLE_BROKER
  • AUTO_CLOSE OFF

Aşağıdaki seçenekler değiştirilemez:

  • AUTO_CLOSE
  • AUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)
  • AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)
  • DISABLE_BROKER
  • EMERGENCY
  • ENABLE_BROKER
  • FILESTREAM
  • HADR
  • NEW_BROKER
  • OFFLINE
  • PAGE_VERIFY
  • PARTNER
  • READ_ONLY
  • RECOVERY BULK_LOGGED
  • RECOVERY_SIMPLE
  • REMOTE_DATA_ARCHIVE
  • RESTRICTED_USER
  • SINGLE_USER
  • WITNESS

Bazı ALTER DATABASE deyimler (örneğin, kapsama ayarla), örneğin otomatik veritabanı yedeklemesi sırasında veya bir veritabanı oluşturulduktan sonra doğru bir şekilde geçiş yapabilir. Bu durumda ALTER DATABASE deyimde yeniden denenmelidir. İlgili hata iletileri hakkında daha fazla bilgi için, açıklamalar bölümünebakın.

Daha fazla bilgi için bkz. alter database.

SQL Server Agent

  • SQL Server aracısının etkinleştirilmesi ve devre dışı bırakılması şu anda SQL yönetilen örneği 'nde desteklenmiyor. SQL Server Agent sürekli çalışır.
  • Boş bir CPU 'ya dayalı iş zamanlaması tetiklemesi desteklenmiyor.
  • SQL Server aracısı ayarları salt okunurdur. yordam sp_set_agent_properties SQL yönetilen örnekte desteklenmiyor.
  • İşler
    • T-SQL iş adımları desteklenir.
    • Aşağıdaki çoğaltma işleri desteklenir:
      • İşlem-günlük okuyucu
      • Anlık Görüntü
      • Dağıtım
    • SSIS iş adımları desteklenir.
    • Diğer iş adımı türleri şu anda desteklenmemektedir:
      • Birleştirme çoğaltması işi adımı desteklenmez.
      • Sıra okuyucusu desteklenmez.
      • Komut kabuğu henüz desteklenmiyor.
    • SQL yönetilen örnek, örneğin robocopy aracılığıyla ağ paylaşımları gibi dış kaynaklara erişemez.
    • SQL Server Analysis Services desteklenmez.
  • Bildirimler kısmen desteklenir.
  • E-posta bildirimi desteklenir, ancak bir Veritabanı Postası profili yapılandırmanızı gerektirir. SQL Server aracısı yalnızca bir Veritabanı Postası profili kullanabilir ve çağrılması gerekir AzureManagedInstance_dbmail_profile .
    • Sayfalayıcı desteklenmiyor.
    • NetSend desteklenmez.
    • Uyarılar henüz desteklenmiyor.
    • Proxy 'ler desteklenmez.
  • EventLog desteklenmiyor.
  • SQL aracı işleri oluşturmak, değiştirmek veya yürütmek için kullanıcının doğrudan Azure AD sunucu sorumlusuna (oturum açma) eşlenmesi gerekir. doğrudan eşlenmeyen kullanıcılar, örneğin, SQL aracı işleri oluşturma, değiştirme veya yürütme haklarına sahip olan bir Azure AD grubuna ait olan kullanıcılar bu işlemleri etkili bir şekilde gerçekleştiremeyecektir. Bunun nedeni yönetilen örnek kimliğe bürünme ve yürütme olarak yürütme kısıtlamalarıdır.
  • Ana/hedef (MSX/TSX) işleri için çoklu sunucu yönetim özelliği desteklenmez.

SQL Server aracısı hakkında daha fazla bilgi için bkz. SQL Server aracısı.

Tables

Aşağıdaki tablo türleri desteklenmez:

Tablo oluşturma ve değiştirme hakkında daha fazla bilgi için bkz. Create Table ve alter table.

İşlevler

Toplu ekleme/OPENROWSET

SQL yönetilen örnek dosya paylaşımlarına ve Windows klasörlerine erişemez, bu nedenle dosyalar Azure Blob depolamadan içeri aktarılmalıdır:

  • DATASOURCE , BULK INSERT Azure Blob depolamadan dosyaları içeri aktarırken komutunda gereklidir. Bkz. bulk INSERT.
  • DATASOURCE , OPENROWSET Azure Blob depolama alanındaki bir dosyanın içeriğini okurken işlevinde gereklidir. Bkz. OPENROWSET.
  • OPENROWSETAzure SQL Veritabanı, Azure SQL yönetilen örneği veya SQL Server örneklerinden veri okumak için kullanılabilir. Oracle veritabanları veya Excel dosyaları gibi diğer kaynaklar desteklenmez.

CLR

SQL yönetilen bir örnek dosya paylaşımlarına ve Windows klasörlerine erişemez, bu nedenle aşağıdaki kısıtlamalar geçerlidir:

Veritabanı Postası (db_mail)

  • sp_send_dbmail parametre kullanılarak ekler gönderilemez @file_attachments . yerel dosya sistemi ve dış paylaşımlar ya da Azure Blob Depolama bu yordamdan erişilemez.
  • @queryParametreli ve kimlik doğrulamasıyla ilgili bilinen sorunlara bakın.

DBCC

SQL Server ' de etkin olan belgelenmemiş DBCC deyimleri SQL yönetilen örnekte desteklenmez.

  • Yalnızca sınırlı sayıda genel Izleme bayrağı desteklenir. Oturum düzeyi Trace flags desteklenmiyor. Bkz. izleme bayrakları.
  • DBCC TRACEOFF ve DBCC TRACEON , sınırlı sayıda Global Trace-Flags ile çalışır.
  • Veritabanı modda ayarlanamadığı için REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST ve REPAIR_REBUILD seçenekleriyle DBCC CHECKDB kullanılamıyor SINGLE_USER -bkz. alter database farkları. Olası veritabanı bozulması, Azure destek ekibi tarafından işlenir. Herhangi bir veritabanı bozulması göstergesi varsa Azure desteği 'ne başvurun.

Dağıtılmış işlemler

Dağıtılmış işlemler için kısmi destek şu anda genel önizlemededir. Dağıtılmış işlemler aşağıdaki koşullarda desteklenir (tümünün karşılanması gerekir):

  • tüm işlem katılımcıları, sunucu güven grubununparçası olan Azure SQL yönetilen örneklerdir.
  • işlemler .NET (TransactionScope sınıfı) veya Transact-SQL ile başlatılır.

azure SQL yönetilen örnek şu anda MSDTC şirket içi veya Azure sanal makinelerinde düzenli olarak desteklenen diğer senaryoları desteklemez.

Genişletilmiş Olaylar

Genişletilmiş Olaylar (XEvents) için Windows'a özgü bazı hedefler desteklenmez:

  • etw_classic_syncHedef desteklenmiyor. .xelAzure Blob depolamada dosyaları depolayın. Bkz. etw_classic_sync hedefi.
  • event_fileHedef desteklenmiyor. .xelAzure Blob depolamada dosyaları depolayın. Bkz. event_file hedefi.

Dış kitaplıklar

Veritabanı içi R ve Python dış kitaplıkları sınırlı genel önizlemede desteklenir. bkz. Azure SQL yönetilen örneği (önizleme) Machine Learning hizmetleri.

FILESTREAM ve FileTable

  • FILESTREAM verileri desteklenmez.
  • Veritabanı, verileri içeren dosya grupları içeremez FILESTREAM .
  • FILETABLE desteklenmez.
  • Tablolarda tür olamaz FILESTREAM .
  • Aşağıdaki işlevler desteklenmez:
    • GetPathLocator()
    • GET_FILESTREAM_TRANSACTION_CONTEXT()
    • PathName()
    • GetFileNamespacePat)
    • FileTableRootPath()

Daha fazla bilgi için bkz. FILESTREAM ve FileTables.

Anlamsal arama desteklenmiyor.

Bağlı sunucular

SQL yönetilen örnekteki bağlantılı sunucular , sınırlı sayıda hedef destekler:

  • desteklenen hedefler SQL yönetilen örnek, SQL Veritabanı, Azure Synapse SQL sunucusuz ve adanmış havuzlar ve SQL Server örnekleri.
  • Dağıtılmış yazılabilir işlemler yalnızca yönetilen örnekler arasında mümkündür. Daha fazla bilgi için bkz. Dağıtılmış işlemler. Ancak MS DTC desteklenmez.
  • Desteklenmeyen hedefler dosya, Analysis Services ve diğer RDBMS ' dir. BULK INSERT OPENROWSET dosya içeri aktarma için alternatif olarak veya azure Synapse Analytics 'te sunucusuz SQL havuzukullanarak dosyaları yüklemek için azure Blob 'dan yerel CSV içeri aktarma Depolama kullanmayı deneyin.

İşlemler:

  • Çapraz örnek yazma Işlemleri yalnızca yönetilen örnekler için desteklenir.
  • sp_dropserver , bağlı bir sunucunun atılması için desteklenir. Bkz. sp_dropserver.
  • OPENROWSETişlevi yalnızca SQL Server örneklerinde sorgu yürütmek için kullanılabilir. Bunlar yönetilebilir, şirket içinde veya sanal makinelerde olabilir. Bkz. OPENROWSET.
  • işlevi, OPENDATASOURCE yalnızca örneklerde sorgu yürütmek SQL Server kullanılabilir. Bunlar yönetilebilir, şirket içinde veya sanal makinelerde olabilir. Sağlayıcı SQLNCLI olarak SQLNCLI11 yalnızca , ve değerleri SQLOLEDB de kullanılabilir. SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee bunun bir örneğidir. Bkz. OPENDATASOURCE.
  • Bağlı sunucular, ağ paylaşımlarından dosyaları (Excel, CSV) okumak için kullanılamaz. BULK INSERT, OPENROWSET kullanarak Azure Blob Depolama'den CSV dosyalarını veya Synapse Analytics'daki sunucusuz bir sunucu havuzuna SQL bağlı bir sunucu kullanmayı deneyin. Yönetilen Örnek Geri Bildirim SQL bu istekleri izleme|

Azure SQL Yönetilen Örneği'SQL bağlı sunucular, AAD doğrulamasını destekler.

PolyBase

Yönetilen Örnekte Polybase desteğini etkinleştirme SQL devam ediyor. Bu arada, geçici bir çözüm olarak, Azure Data Lake veya Azure SQL'da depolanan dosyalardan verileri sorgulamak için Synapse Analytics veya SQL Server'daki sunucusuz bir SQL Server havuzuna bağlı sunucuları Depolama.
PolyBase hakkında genel bilgi için bkz. PolyBase.

Çoğaltma

  • Anlık görüntü ve çift yönlü çoğaltma türleri de kullanılabilir. Birleştirme çoğaltması, Eşler arası çoğaltma ve edemeyen abonelikler desteklenmiyor.
  • İşlem Çoğaltması, bazı kısıtlamalarla SQL Yönetilen Örnekte genel önizleme için kullanılabilir:
    • Tüm çoğaltma katılımcısı türleri (Publisher, Dağıtımcı, Çekme Abonesi ve Anında Abone) SQL Yönetilen Örneği'ne yer ve ancak yayımcı ve dağıtımcı hem bulutta hem de şirket içinde her ikisinde de yer alacı.
    • SQL Yönetilen Örnek, yönetilen örneğin son sürümleriyle SQL Server. Daha fazla bilgi için desteklenen sürümler matrisi'ne bakın.
    • İşlem Çoğaltma bazı ek ağ gereksinimlerine sahiptir.

İşlem çoğaltmasını yapılandırma hakkında daha fazla bilgi için aşağıdaki öğreticilere bakın:

RESTORE deyimi

  • Desteklenen söz dizimi:
    • RESTORE DATABASE
    • RESTORE FILELISTONLY ONLY
    • RESTORE HEADER ONLY
    • RESTORE LABELONLY ONLY
    • RESTORE VERIFYONLY ONLY
  • Desteklenmeyen söz dizimi:
    • RESTORE LOG ONLY
    • RESTORE REWINDONLY ONLY
  • Kaynak:
    • FROM URL (Azure Blob depolama) desteklenen tek seçenektir.
    • FROM DISK/TAPE/backup cihazı desteklenmiyor.
    • Yedekleme kümeleri desteklenmiyor.
  • WITH seçenekleri desteklenmiyor. WITH, , DIFFERENTIAL STATS vb. gibi geri yükleme girişimleri başarısız REPLACE olur.
  • ASYNC RESTORE: İstemci bağlantısı kopsa bile geri yükleme devam eder. Bağlantınız bırakılırsa, geri yükleme işlemi durumunun görünümüne ve create ve sys.dm_operation_status DROP veritabanına bakabilirsiniz. Bkz. sys.dm_operation_status.

Aşağıdaki veritabanı seçenekleri ayarlanır veya geçersiz kılınır ve daha sonra değiştirilemez:

  • NEW_BROKER aracı .bak dosyasında etkin değilse.
  • ENABLE_BROKER aracı .bak dosyasında etkin değilse.
  • AUTO_CLOSE=OFF .bak dosyasındaki bir veritabanında AUTO_CLOSE=ON varsa.
  • RECOVERY FULL .bak dosyasındaki bir veritabanında veya SIMPLE kurtarma modunda BULK_LOGGED ise.
  • Kaynak .bak dosyasında yer alan bir bellek için iyileştirilmiş dosya grubu eklenir ve XTP olarak çağrılır.
  • Mevcut bellek için iyileştirilmiş dosya grupları XTP olarak yeniden adlandırılır.
  • SINGLE_USER ve RESTRICTED_USER seçenekleri olarak MULTI_USER dönüştürülür.

Sınırlamalar:

  • Bozuk veritabanlarının yedekleri bozulmanın türüne bağlı olarak geri yüklenebilir, ancak bozulma düzeltene kadar otomatik yedeklemeler alınmaz. Yönetilen Örnek'te kaynakta SQL ve bu DBCC CHECKDB sorunu önlemek için WITH CHECKSUM yedeklemeyi kullanın.
  • Bu belgede (örneğin, veya nesneler) açıklanan herhangi bir sınırlamayı içeren bir veritabanının dosyasının geri yüklemesi yönetilen .BAK FILESTREAM SQL geri FILETABLE yüklenilemez.
  • .BAK birden çok yedekleme kümesi içeren dosyalar geri yüklenebilir.
  • .BAK birden çok günlük dosyası içeren dosyalar geri yüklenebilir.
  • 8 TB'den büyük veritabanları, etkin bellek içinde OLTP nesneleri veya örnek başına 280'i aşabilen dosya sayısı içeren yedeklemeler bir Genel Amaçlı geri Genel Amaçlı.
  • Toplam boyutu kaynak sınırları içinde açıklanan boyuttan daha büyük olan 4 TB veya bellek içinde OLTP nesnelerini içeren yedeklemeler İş Açısından Kritik geri İş Açısından Kritik. Geri yükleme deyimleri hakkında bilgi için bkz. RESTORE deyimleri.

Önemli

Aynı sınırlamalar yerleşik zaman noktası geri yükleme işlemi için de geçerlidir. Örneğin, 4 TB Genel Amaçlı dan büyük bir veritabanı bu örnekte İş Açısından Kritik geri İş Açısından Kritik olamaz. İş Açısından Kritik OLTP dosyalarına veya 280'den fazla dosyaya sahip veritabanı, Genel Amaçlı geri yüklenebilir.

Hizmet aracısı

Örnekler arası hizmet aracısı ileti değişimi yalnızca Azure yönetilen örnekleri SQL desteklemektedir:

  • CREATE ROUTE: Başka bir yönetilen yönetilen CREATE ROUTE örneğin dns adı veya dışında SQL ADDRESS LOCAL kullanabilirsiniz. Bağlantı noktası her zaman 4022'dir.
  • ALTER ROUTE: Başka bir yönetilen yönetilen ALTER ROUTE örneğin dns adı veya dışında SQL ADDRESS LOCAL kullanabilirsiniz. Bağlantı noktası her zaman 4022'dir.

Aktarım güvenliği desteklene, iletişim kutusu güvenliği şu şekilde değildir:

  • CREATE REMOTE SERVICE BINDINGdesteklenmez.

Hizmet aracısı varsayılan olarak etkindir ve devre dışı bırakılamaz. Aşağıdaki ALTER DATABASE seçenekleri desteklenmiyor:

  • ENABLE_BROKER
  • DISABLE_BROKER

Saklı yordamlar, işlevler ve tetikleyiciler

  • NATIVE_COMPILATION , bir katmanda Genel Amaçlı.
  • Aşağıdaki sp_configure seçenekleri desteklenmiyor:
    • allow polybase export
    • allow updates
    • filestream_access_level
    • remote access
    • remote data archive
    • remote proc trans
    • scan for startup procs
  • Aşağıdaki sp_configure seçenekleri yoksayılır ve hiçbir etkisi olmaz:
    • Ole Automation Procedures
  • sp_execute_external_scripts desteklenmiyor. Bkz. sp_execute_external_scripts.
  • xp_cmdshell desteklenmiyor. Bkz. xp_cmdshell.
  • Extended stored proceduresve 'i içerir. sp_addextendedproc sp_dropextendedproc Bu işlev, kullanımdan kullanımdan SQL Server. Diğer ayrıntılar için bkz. Genişletilmiş Saklı Yordamlar.
  • sp_attach_db, sp_attach_single_file_db sp_detach_db ve desteklenmiyor. Bkz. sp_attach_db, sp_attach_single_file_dbve sp_detach_db.

Sistem işlevleri ve değişkenleri

Aşağıdaki değişkenler, işlevler ve görünümler farklı sonuçlar verir:

  • SERVERPROPERTY('EngineEdition') 8 değerini döndürür. Bu özellik, yönetilen bir SQL benzersiz olarak tanımlar. Bkz. SERVERPROPERTY.
  • SERVERPROPERTY('InstanceName'), SQL Server yönetilen örneği için geçerli SQL null döndürür. Bkz. SERVERPROPERTY('InstanceName').
  • @@SERVERNAME tam bir DNS "bağlanılabilir" adı döndürür, örneğin, my-managed-instance.wcus17662feb9ce98.database.windows.net. Bkz. @SERVERNAME @.
  • SYS.SERVERS , "name" ve "data_source" özellikleri için gibi tam bir DNS myinstance.domain.database.windows.net "data_source." Bkz. SYS. SUNUCULAR .
  • @@SERVICENAMESQL Server yönetilen örneği için geçerli SQL null döndürür. Bkz. @SERVICENAME @.
  • SUSER_ID de destekleni. Azure AD oturum açma bilgileri sys.syslogins içinde değilse NULL döndürür. Bkz. SUSER_ID.
  • SUSER_SID desteklenmiyor. Yanlış veriler döndürülür ve bu da bilinen geçici bir sorundur. Bkz. SUSER_SID.

Ortam kısıtlamaları

Alt ağ

  • SQL yönetilen örneğinizi dağıttığınız alt ağa başka herhangi bir kaynak (örneğin, sanal makineler) yerleştirebilirsiniz. Bu kaynakları farklı bir alt ağ kullanarak dağıtın.
  • Alt ağda yeterli sayıda kullanılabilir IP adresiolmalıdır. Alt ağda en az 32 IP adresi olmalıdır.
  • Bir bölgede dağıtabileceğiniz sanal çekirdek sayısı ve örnek türleri bazı kısıtlamalar ve sınırlarasahiptir.
  • Alt ağa uygulanması gereken bir ağ yapılandırması vardır.

Sanal ağ

  • VNet, kaynak modeli kullanılarak dağıtılabilir-sanal ağ için klasik model desteklenmez.
  • SQL yönetilen bir örnek oluşturulduktan sonra, SQL yönetilen örneği veya VNet 'in başka bir kaynak grubuna veya aboneliğe taşınması desteklenmez.
  • 9/22/2020 genel eşlemeden önce oluşturulan sanal kümelerde barındırılan SQL yönetilen örnekler için desteklenmez. Sanal ağ geçitleri aracılığıyla ExpressRoute veya VNet-VNet aracılığıyla bu kaynaklara bağlanabilirsiniz.

Yük devretme grupları

Sistem veritabanları, bir yük devretme grubundaki ikincil örneğe çoğaltılmaz. Bu nedenle, nesneler ikincil üzerinde el ile oluşturulmadığı takdirde, sistem veritabanlarından nesnelere bağlı senaryolar ikincil örnekte imkansız olur.

'Nın

  • Genel Amaçlı katmanındaki en büyük dosya boyutu, tempdb çekirdek başına 24 GB 'den büyük olamaz. tempdbİş Açısından Kritik katmanındaki en büyük boyut SQL yönetilen örnek depolama boyutuyla sınırlıdır. Tempdb günlük dosyası boyutu Genel Amaçlı katmanında 120 GB ile sınırlıdır. Bazı sorgular, üzerinde çekirdek başına 24 GB 'den fazla gereksinim duyduklarında tempdb veya 120 GB 'den fazla günlük verisi ürettiklerinde bir hata döndürebilir.
  • Tempdb her zaman 12 veri dosyasına bölünür: Ana, veri dosyası ve 11 birincil olmayan veri dosyası olarak da bilinen 1 birincil dosya. Dosya yapısı değiştirilemez ve yeni dosyalar içine eklenemez tempdb .
  • yeni bir SQL Server 2019 bellek veritabanı özelliği olan bellek için iyileştirilmiş tempdb meta verilerdesteklenmez.
  • Model veritabanında oluşturulan nesneler, tempdb bir yeniden başlatma işleminden sonra veya bir yük devretmeden sonra otomatik olarak oluşturulamaz çünkü bu tempdb , model veritabanından ilk nesne listesini almaz. tempdbHer yeniden başlatma veya yük devretme sonrasında nesneleri el ile oluşturmanız gerekir.

MSDB

SQL yönetilen örnekteki aşağıdaki MSDB şemaları, kendi önceden tanımlanmış rollerine ait olmalıdır:

Önemli

Önceden tanımlanmış rol adlarını, şema adlarını ve şema sahiplerini müşterilere göre değiştirmek, hizmetin normal işlemlerini etkiler. Bunlar üzerinde yapılan tüm değişiklikler, algılanan en kısa sürede önceden tanımlanmış değerlere geri döndürülecek veya normal hizmet işlemini sağlamak için en son bir sonraki hizmet güncelleştirmesinde olacaktır.

Hata günlükleri

SQL yönetilen örnek, hata günlüklerinde ayrıntılı bilgileri koyar. Hata günlüğünde günlüğe kaydedilen çok sayıda iç sistem olayı vardır. İlgisiz bazı girdilerin filtrelediğini belirten hata günlüklerini okumak için özel bir yordam kullanın. daha fazla bilgi için, bkz. SQL yönetilen örnek – sp_readmierrorlog veya SQL yönetilen örnek uzantısı (önizleme) Azure Data Studio için.

Sonraki adımlar