Az Azure SQL Database-zel és az Azure SQL Managed Instance-szel kapcsolatos csatlakozási problémák és egyéb hibák elhárítása

A következőre vonatkozik: Azure SQL DatabaseFelügyelt Azure SQL-példány

Hibaüzenetet kap, ha az Azure SQL Database-hez vagy a felügyelt Azure SQL-példányhoz való kapcsolat meghiúsul. Ezeket a csatlakozási problémákat okozhatja az újrakonfigurálás, a tűzfalbeállítások, a kapcsolat időtúllépése, a helytelen bejelentkezési adatok, vagy az ajánlott eljárások és tervezési irányelvek alkalmazásának elmulasztása az alkalmazástervezési folyamat során. Ezenkívül ha eléri egyes Azure SQL Database- vagy SQL Managed Instance-erőforrások maximális korlátját, a továbbiakban nem csatlakozhat.

Megjegyzés:

Az Azure SQL Csatlakozás ivity Checker használatával számos csatlakozási hibát észlelhet és kijavíthat az Azure SQL Database-hez, az Azure SQL Managed Instance-hez és az Azure Synapse Analytics-környezetekhez.

Átmeneti hibaüzenetek (40197, 40613 és egyebek)

Az Azure-infrastruktúra az SQL Database szolgáltatásban fellépő nagy mértékű terhelés esetén dinamikusan újra tudja konfigurálni a kiszolgálókat. E dinamikus viselkedés miatt megszakadhat az ügyfélprogram és az adatbázis vagy példány közötti kapcsolat. Ezt a hibaállapotot átmeneti hibának nevezzük. Az adatbázis-újrakonfigurálási események bekövetkezhetnek egy tervezett esemény (például egy szoftverfrissítés) vagy egy nem tervezett esemény miatt (például egy folyamat összeomlása vagy terheléselosztás). A legtöbb újrakonfigurálási esemény rövid élettartamú, legfeljebb 60 másodperc alatt be lehet őket fejezni. Ezek az események azonban esetenként hosszabb időt is igénybe vehetnek, például ha egy nagy tranzakció hosszú ideig tartó helyreállítást okoz. Az alábbi táblázat felsorolja a különböző átmeneti hibákat, amelyeket az alkalmazások az Azure SQL Database-hez való csatlakozáskor kaphatnak.

Átmeneti hibakódok listája

Error code Severity Leírás
926 14 A (z) "replikált mester" adatbázis nem nyitható meg. A gyanúsítottat a helyreállítás jelölte meg. További információért tekintse meg az SQL Server hibanaplót.

Ez a hiba a felügyelt SQL-példány hibanaplójában naplózható rövid ideig az újrakonfigurálás utolsó szakaszában, miközben a régi elsődleges leállítja a naplóját.
A hibaüzenetet tartalmazó egyéb, nem átmeneti forgatókönyveket az MSSQL-hibák dokumentációja ismerteti.
4060 16 A bejelentkezés által kért "%.*ls" adatbázis nem nyitható meg. A bejelentkezés sikertelen volt. További információ: 4000–4999-
40197 17 A szolgáltatás hibát észlelt a kérelem feldolgozása során. Please try again. Hibakód: %d.

Ez a hiba akkor jelenik meg, ha a szolgáltatás szoftver- vagy hardverfrissítések, hardverhibák vagy más feladatátvételi problémák miatt leáll. A 40197 hibaüzenetbe ágyazott hibakód (%d) további információt nyújt a hiba vagy feladatátvétel típusáról. A hibakódokra néhány példa a 40197-ös hibaüzenetben található: 40020, 40143, 40166 és 40540.

Az újracsatlakozás automatikusan összekapcsolja Önt az adatbázis kifogástalan állapotú példányával. Az alkalmazásnak el kell kapnia a 40197-es hibát, naplóznia kell a beágyazott hibakódot (%d) a hibaelhárítási üzenetben, és újra csatlakoznia kell az SQL Database-hez, amíg az erőforrások nem érhetők el, és a kapcsolat újra létre nem jön. További információért tekintse meg az átmeneti hibákkal foglalkozó cikket.
40501 20 A szolgáltatás jelenleg foglalt. Ismételje meg a kérést 10 másodperc múlva. Incidens azonosítója: %ls. Kód: %d. További információ:
Logikai SQL Server-erőforráskorlátok.
Az önálló adatbázisok DTU-alapú korlátai.
A rugalmas készletek DTU-alapú korlátai.
az önálló adatbázisok virtuális magalapú korlátai.
rugalmas készletek virtuális magalapú korlátai.
Felügyelt Azure SQL-példány erőforráskorlátai.
40613 17 A(z) %.*ls kiszolgáló %.*ls adatbázisa jelenleg nem érhető el. Please retry the connection later. Ha a probléma továbbra is fennáll, forduljon az ügyfélszolgálathoz, és adja meg nekik a(z) %.*ls munkamenet-nyomkövetési azonosítóját.

Ez a hiba akkor fordulhat elő, ha már létrejött egy dedikált rendszergazdai kapcsolat (DAC) az adatbázishoz. További információért tekintse meg az átmeneti hibákkal foglalkozó cikket.
49918 16 A kérelem nem dolgozható fel. Nem áll rendelkezésre elegendő erőforrás a kérelem feldolgozására.

A szolgáltatás jelenleg foglalt. Később próbálkozzon újra a kéréssel. További információ:
Logikai SQL Server-erőforráskorlátok.
Az önálló adatbázisok DTU-alapú korlátai.
A rugalmas készletek DTU-alapú korlátai.
az önálló adatbázisok virtuális magalapú korlátai.
rugalmas készletek virtuális magalapú korlátai.
Felügyelt Azure SQL-példány erőforráskorlátai.
49919 16 A létrehozási vagy frissítési kérelem feldolgozása nem lehetséges. A(z) „%ld” előfizetésen túl sok létrehozási és frissítési művelet fut.

A szolgáltatás foglalt az előfizetés vagy a kiszolgáló több létrehozási vagy frissítési kérésének feldolgozása során. A kérések jelenleg le vannak tiltva az erőforrás-optimalizáláshoz. Függőben lévő műveletek lekérdezése sys.dm_operation_status . Várjon, amíg a függőben lévő létrehozási vagy frissítési kérelmek befejeződnek, vagy törölje az egyik függőben lévő kérést, és később próbálkozzon újra a kéréssel. Ha úgy tűnik, hogy a műveletek elakadtak, várjon, amíg más folyamatban lévő műveletek befejeződnek, vagy ha lehetséges, szakítsa meg őket. Előfordulhat például, hogy a létrehozott adatbázis vagy replika törlésével megszakíthatja az adatbázis vagy a georeplika létrehozását. Ha nem sikerül megszakítani egy látszólag elakadt műveletet, nyisson meg egy támogatási jegyet a Microsoftnál.
49920 16 A kérelem nem dolgozható fel. A(z) „%ld” előfizetésen túl sok művelet fut.

A szolgáltatás foglalt az előfizetéshez tartozó több kérés feldolgozásával. A kérések jelenleg le vannak tiltva az erőforrás-optimalizáláshoz. A művelet állapotának lekérdezése sys.dm_operation_status . Várjon, amíg a függőben lévő kérelmek befejeződnek, vagy törölje valamelyik függőben lévő kérését, és később próbálkozzon újra. Ha úgy tűnik, hogy a műveletek elakadtak, várjon, amíg más folyamatban lévő műveletek befejeződnek, vagy ha lehetséges, szakítsa meg őket. Előfordulhat például, hogy a létrehozott adatbázis vagy replika törlésével megszakíthatja az adatbázis vagy a georeplika létrehozását. Ha nem sikerül megszakítani egy látszólag elakadt műveletet, nyisson meg egy támogatási jegyet a Microsoftnál.
4221 16 Az olvasási másodlagos bejelentkezés a HADR_DATABAStandard kiadás_WAIT_FOR_TRANSITION_TO_VERSIONING hosszú várakozása miatt meghiúsult. A replika nem érhető el a bejelentkezéshez, mert a sorverziók hiányoznak a replika újrafeldolgozásakor repülés közben végrehajtott tranzakciókhoz. A probléma az elsődleges replika aktív tranzakcióinak visszaállításával vagy véglegesítésével oldható meg. Ennek a feltételnek az előfordulásai minimálisra csökkenthetők, ha elkerüljük a hosszú írási tranzakciókat az elsődlegesen.
615 21 Nem található a(z) %d adatbázis-azonosító, a(z) "%.*ls" név. Hibakód: 615.
Ez azt jelenti, hogy a memóriabeli gyorsítótár nincs szinkronizálva az SQL Server-példánysal, és a keresések elavult adatbázis-azonosítót kérik le.

Az SQL-bejelentkezések memórián belüli gyorsítótár használatával kérik le az adatbázis nevét az azonosítóleképezéshez. A gyorsítótárnak szinkronban kell lennie a háttéradatbázissal, és frissítenie kell az adatbázist az SQL Server-példányhoz való csatoláskor és leválasztásakor.
Ez a hiba akkor jelenik meg, ha a leválasztott munkafolyamat nem tudja időben megtisztítani a memóriában lévő gyorsítótárat, majd az adatbázis-pontra való későbbi kereséseket elavult adatbázis-azonosítóra.

Próbáljon meg újra csatlakozni az SQL Database-hez, amíg az erőforrás el nem érhető, és a kapcsolat újra létre nem jön. További információért tekintse meg az átmeneti hibákkal foglalkozó cikket.

Az átmeneti kapcsolódási problémák megoldásának lépései

  1. Ellenőrizze a Microsoft Azure szolgáltatás irányítópultján azokat az ismert kimaradásokat, amelyek az alkalmazás által jelentett hibák során történtek.
  2. A felhőszolgáltatáshoz, például az Azure SQL Database-hez csatlakozó alkalmazásoknak rendszeres újrakonfigurálási eseményekre kell számítaniuk, és újrapróbálkozási logikát kell implementálniuk a hibák kezeléséhez ahelyett, hogy az alkalmazáshibákat a felhasználók számára észlelik.
  3. Ahogy egy adatbázis megközelíti az erőforráskorlátokat, átmeneti kapcsolati problémának tűnhet. Lásd: Erőforráskorlátok.
  4. Ha a csatlakozási problémák továbbra is fennállnak, vagy ha az alkalmazás által tapasztalt hiba időtartama meghaladja a 60 másodpercet, vagy ha egy adott napon több alkalommal is előfordul a hiba, küldjön egy Azure-támogatás kérelmet az Azure támogatási webhelyén a Támogatás kérése gombra kattintva.

Újrapróbálkozási logika implementálása

Erősen ajánlott, hogy az ügyfélprogram újrapróbálkozási logikával rendelkezik, hogy újra létre tudja hozni a kapcsolatot, miután az átmeneti hiba időt adott magának a javításra. Javasoljuk, hogy az első újrapróbálkozás előtt 5 másodpercig halassza el az időt. Az 5 másodpercnél rövidebb késleltetés után történő újrapróbálkozás a felhőszolgáltatás túlterheltségével jár. Minden további újrapróbálkozáshoz a késleltetésnek exponenciálisan, legfeljebb 60 másodpercig kell növekednie.

Az újrapróbálkozások logikájára példákat a következő témakörben talál:

További információ az alkalmazás áttekintésében szereplő átmeneti hibák kezeléséről az SQL Database-hez való átmeneti csatlakozási hibák hibaelhárítása

A ADO.NET használó ügyfelek blokkolási időszakának ismertetése elérhető a Csatlakozás ion Pooling (ADO.NET) szolgáltatásban.

A probléma akkor fordul elő, ha az alkalmazás nem tud csatlakozni a kiszolgálóhoz.

A probléma megoldásához próbálkozzon a lépések lépéseivel (a bemutatott sorrendben) a gyakori csatlakozási problémák megoldásához.

A kiszolgáló/példány nem található vagy nem volt elérhető (26., 40., 10053. hiba)

26-os hiba: Hiba a kiszolgáló megadott helyének meghatározásakor

System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.(provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified)

40-s hiba: Nem sikerült kapcsolatot nyitni a kiszolgálóval

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

10053-es hiba: Átviteli szintű hiba történt a kiszolgálótól kapott eredmények fogadásakor

10053: A transport-level error has occurred when receiving results from the server. (Provider: TCP Provider, error: 0 - An established connection was aborted by the software in your host machine)

Ezek a problémák akkor fordulnak elő, ha az alkalmazás nem tud csatlakozni a kiszolgálóhoz.

A problémák megoldásához próbálkozzon a lépések lépéseivel (a bemutatott sorrendben) a gyakori csatlakozási problémák megoldásához.

Tűzfalproblémák miatt nem lehet csatlakozni a kiszolgálóhoz

40615-ös hiba: Nem lehet csatlakozni a kiszolgálónévhez <>

A probléma megoldásához konfigurálja az SQL Database tűzfalbeállítását az Azure Portalon keresztül.

5. hiba: Nem lehet csatlakozni a kiszolgálónévhez <>

A probléma megoldásához győződjön meg arról, hogy az 1433-as port nyitva van az ügyfél és az internet közötti összes tűzfal kimenő kapcsolataihoz.

Nem sikerült bejelentkezni a kiszolgálóra (18456-os, 40531-ös hiba)

Nem sikerült bejelentkezni a felhasználónév felhasználónál<>

Login failed for user '<User name>'.This session has been assigned a tracing ID of '<Tracing ID>'. Provide this tracing ID to customer support when you need assistance. (Microsoft SQL Server, Error: 18456)

A probléma megoldásához forduljon a szolgáltatás rendszergazdájához, és adjon meg egy érvényes felhasználónevet és jelszót.

A szolgáltatásadminisztrátor általában a következő lépésekkel veheti fel a bejelentkezési hitelesítő adatokat:

  1. Jelentkezzen be a kiszolgálóra az SQL Server Management Studio (SSMS) használatával.

  2. Futtassa a következő SQL-lekérdezést az adatbázisban annak master ellenőrzéséhez, hogy a bejelentkezési név le van-e tiltva:

    SELECT name, is_disabled FROM sys.sql_logins;
    
  3. Ha a név le van tiltva, engedélyezze a következő utasítással:

    ALTER LOGIN <User name> ENABLE;
    
  4. Ha az SQL bejelentkezési felhasználóneve nem létezik, szerkessze és futtassa a következő SQL-lekérdezést egy új SQL-bejelentkezés létrehozásához:

    CREATE LOGIN <SQL_login_name, sysname, login_name>
    WITH PASSWORD = '<password, sysname, Change_Password>';
    GO
    
  5. Az SSMS Object Explorerben bontsa ki az Adatbázisok elemet.

  6. Válassza ki azt az adatbázist, amelyhez engedélyezni szeretné a felhasználót.

  7. Kattintson a jobb gombbal a Biztonság elemre, majd válassza az Új, Felhasználó lehetőséget.

  8. A létrehozott szkriptben helyőrzőkkel (alább látható minta) cserélje le a sablonparamétereket az alábbi lépések követésével és végrehajtásával:

    CREATE USER [<user_name, sysname, user_name>]
    FOR LOGIN [<login_name, sysname, login_name>]
    WITH DEFAULT_SCHEMA = [<default_schema, sysname, dbo>];
    GO
    
    -- Add user to the database owner role
    EXEC sp_addrolemember N'db_owner', N'<user_name, sysname, user_name>';
    GO
    

    Adott felhasználókat adott adatbázis-szerepkörökhöz is hozzárendelhet sp_addrolemember .

    Megjegyzés:

    Az Azure SQL Database-ben fontolja meg az adatbázis-szerepkör-tagság kezelésére szolgáló újabb ALTER ROLE szintaxist.

További információ: Adatbázisok és bejelentkezések kezelése az Azure SQL Database-ben.

lejárt Csatlakozás ion időtúllépési hibák

System.Data.SqlClient.SqlException (0x80131904): lejárt Csatlakozás ion időtúllépés

System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=3; handshake=29995;

System.Data.SqlClient.SqlException (0x80131904): Lejárt az időtúllépés

System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

System.Data.Entity.Core.EntityException: A mögöttes szolgáltató nem tudott megnyitni

System.Data.Entity.Core.EntityException: The underlying provider failed on Open. -> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. -> System.ComponentModel.Win32Exception: The wait operation timed out

Nem lehet csatlakozni a kiszolgáló nevéhez <>

Cannot connect to <server name>.ADDITIONAL INFORMATION:Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=231; handshake=983; [Login] initialization=0; authentication=0; [Post-Login] complete=13000; (Microsoft SQL Server, Error: -2) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2&LinkId=20476 The wait operation timed out

Ezek a kivételek kapcsolati vagy lekérdezési problémák miatt is előfordulhatnak. Annak ellenőrzéséhez, hogy ezt a hibát kapcsolati problémák okozzák-e, olvassa el annak megerősítését, hogy a hibát kapcsolati probléma okozza-e.

Csatlakozás időkorlátok azért fordulnak elő, mert az alkalmazás nem tud csatlakozni a kiszolgálóhoz. A probléma megoldásához próbálkozzon a lépések lépéseivel (a bemutatott sorrendben) a gyakori csatlakozási problémák megoldásához.

Hálózati kapcsolat megszakadási hibái

Az SQL-ügyfélkódtárak a TCP hálózati protokoll használatával csatlakoznak az Azure SQL Database-hez és a felügyelt Azure SQL-példányhoz. Az ügyfélkódtár egy TCP-szolgáltató nevű alacsonyabb szintű összetevőt használ a TCP-kapcsolatok kezeléséhez. Ha a TCP-szolgáltató azt észleli, hogy egy távoli gazdagép váratlanul megszakított egy meglévő TCP-kapcsolatot, az ügyfélkódtár hibát jelez. Mivel a hiba ügyfélhiba, és nem SQL Server-hiba, nincs benne SQL-hibaszám. Ehelyett a hibaszám 0, és a TCP-szolgáltatótól érkező hibaüzenetet használja a rendszer.

A hálózati kapcsolat megszüntetésével kapcsolatos hibák például a következők:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) An existing connection was forcibly closed by the remote host

A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

The client was unable to establish a connection because of an error during connection initialization process before login. Possible causes include the following: the client tried to connect to an unsupported version of SQL Server; the server was too busy to accept new connections; or there was a resource limitation (insufficient memory or maximum allowed connections) on the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

A connection was successfully established with the server, but then an error occurred during the login process. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

Csatlakozás ion-megszüntetési hibák léphetnek fel, mert az adatbázis vagy a rugalmas készlet átmenetileg nem érhető el. Ezek az adatbázis-kiszolgáló és az ügyfélalkalmazás közötti hálózati infrastruktúra különböző problémái miatt is előfordulhatnak, beleértve a tűzfalakat, a hálózati berendezéseket stb. Ezek a problémák átmenetiek vagy tartósak lehetnek. Általános útmutatásként az alkalmazásoknak rögzített számú újrapróbálkozási kísérletet kell használniuk ezekhez a hibákhoz, mielőtt állandó hibákra tekintenek.

Erőforrás-szabályozási hibák

Az Azure SQL Database erőforrás-szabályozási implementációt használ a Resource Governor alapján az erőforráskorlátok kikényszerítéséhez. További információ az Azure SQL Database erőforrás-kezeléséről.

A leggyakoribb erőforrás-szabályozási hibák először a részletekkel, majd az erőforrás-szabályozási hibaüzenetek táblázatával jelennek meg.

10928- és 10936-os hiba: Erőforrás-azonosító: 1. Az [adatbázis vagy rugalmas készlet] kérelemkorlátja %d, és elérte

Ha eléri az adatbázisszintű korlátot, a jelen esetben a részletes hibaüzenet a következőt olvassa fel: Resource ID : 1. The request limit for the database is %d and has been reached. See 'http://go.microsoft.com/fwlink/?LinkId=267637' for assistance.

Ha eléri a rugalmas készletkorlátot, a jelen esetben a részletes hibaüzenet a következőt olvassa fel: Resource ID : 1. The request limit for the elastic pool is %d and has been reached. See 'http://go.microsoft.com/fwlink/?LinkId=267637' for assistance. A rugalmas készletkorlátok magasabbak az adatbázis korlátainál, további információ: Erőforráskorlátok. Ezek akkor érhetőek el, ha a készlet több adatbázisa egyszerre használ erőforrást (például feldolgozókat).

Ez a hibaüzenet azt jelzi, hogy elérte az adatbázis vagy a rugalmas készlet feldolgozói korlátját. A(z) %d helyőrző helyett az adatbázis vagy a rugalmas készlet szolgáltatási célkitűzésének maximális egyidejű feldolgozói értéke jelenik meg.

Megjegyzés:

Az Azure SQL Database kezdeti ajánlata csak egyszálas lekérdezéseket támogatott. Abban az időben a kérelmek száma mindig megegyezett a munkavállalók számával. Az Azure SQL Database 10928-ra és 10936-ra vonatkozó hibaüzenetei a következő szöveget tartalmazzák: "A kérelemkorlát [...] az N értéket, és "visszafelé kompatibilitási célokból elérték". Az elért korlát valójában a feldolgozók számára vonatkozik. Ha a max. párhuzamossági fok (MAXDOP) értéke nulla vagy egynél nagyobb, a dolgozók száma sokkal magasabb lehet, mint a kérelmek száma, és a korlát sokkal hamarabb érhető el, mint amikor a MAXDOP értéke egy.

További információ a munkamenetekről, a dolgozókról és a kérésekről.

Csatlakozás szükség esetén a dedikált Rendszergazda Csatlakozás ion (DAC) használatával

Ha a munkavégző korlát elérése vagy elérése folyamatban van, az SQL Server Management Studio (SSMS) vagy az Azure Data Studio használatával történő csatlakozáskor 10928-ás hibaüzenet jelenhet meg. Egy munkamenet akkor is csatlakozhat az adatbázis-Rendszergazda istratorok diagnosztikai Csatlakozás ion (DAC) használatával, ha elérte a maximális feldolgozói küszöbértéket.

Kapcsolat létesítése a DAC-tal az SSMS-ből:

  • A menüben válassza a Fájl új > adatbázismotor lekérdezése > lehetőséget
  • A Kiszolgálónév mezőben a Kapcsolat párbeszédpanelen adja meg admin:<fully_qualified_server_name> (ez a következőhöz hasonló admin:servername.database.windows.netlesz).
  • Beállítások kiválasztása >>
  • Válassza a Csatlakozás ion Properties (Tulajdonságok) lapot
  • Az adatbázis Csatlakozás: mezőbe írja be az adatbázis nevét
  • Válassza a Kapcsolódás lehetőséget.

Ha 40613-at kap, az azt jelezheti, Database '%.&#x2a;ls' on server '%.&#x2a;ls' is not currently available. Please retry the connection later. If the problem persists, contact customer support, and provide them the session tracing ID of '%.&#x2a;ls'hogy egy másik munkamenet már csatlakoztatva van a DAC-hoz. Egyszerre csak egy munkamenet kapcsolódhat a DAC-hoz egyetlen adatbázishoz vagy rugalmas készlethez.

Ha a Csatlakozás kiválasztása után a "Nem sikerült csatlakozni a kiszolgálóhoz" hibaüzenet jelenik meg, a DAC-munkamenet akkor is sikeresen létrejött, ha az SSMS 18.9-es verzióját használja. Az SSMS korai verziói megpróbálták biztosítani az Intellisense-t a DAC-hez való kapcsolatokhoz. Ez nem sikerült, mivel a DAC csak egyetlen feldolgozót támogat, az Intellisense pedig külön feldolgozót igényel.

Az Object Explorerrel nem használható DAC-kapcsolat.

A max_worker_percent használatának áttekintése

Ha 14 napig szeretné megtalálni az adatbázis erőforrás-fogyasztási statisztikáit, kérdezze le a sys.resource_stats rendszerkatalógus nézetét. Az max_worker_percent oszlop az adatbázis feldolgozói korlátjához képest használt feldolgozók százalékos arányát mutatja. Csatlakozás a master logikai kiszolgálón lévő adatbázisba a lekérdezéshezsys.resource_stats.

SELECT start_time, end_time, database_name, sku, avg_cpu_percent, max_worker_percent, max_session_percent 
FROM sys.resource_stats;

Az erőforrás-felhasználás statisztikáit az sys.dm_db_resource_stats dinamikus felügyeleti nézetből is lekérdezheti az elmúlt órában. Csatlakozás közvetlenül az adatbázisba a lekérdezéshezsys.dm_db_resource_stats.

SELECT end_time, avg_cpu_percent, max_worker_percent, max_session_percent
FROM sys.dm_db_resource_stats;

A feldolgozók használatának csökkentése, ha lehetséges

A blokkolási láncok hirtelen megugrást okozhatnak az adatbázis dolgozóinak számában. Az egyidejű lekérdezések nagy mennyisége nagy számú feldolgozót okozhat. A maximális párhuzamossági fok (MAXDOP) vagy a MAXDOP nullára állítása növelheti az aktív dolgozók számát.

Az alábbi lépések végrehajtásával csoportosítsa az incidenst az elégtelen munkavállalókkal:

  1. Vizsgálja meg, hogy a blokkolás történik-e, vagy nagy mennyiségű egyidejű feldolgozót tud-e azonosítani. Futtassa a következő lekérdezést az aktuális kérések vizsgálatához, és ellenőrizze, hogy az adatbázis 10928-ás hibát ad-e vissza. Előfordulhat, hogy a lekérdezés végrehajtásához csatlakoznia kell a dedikált Rendszergazda Csatlakozás ionhoz (DAC).

    SELECT
        r.session_id, r.request_id, r.blocking_session_id, r.start_time, 
        r.status, r.command, DB_NAME(r.database_id) AS database_name,
        (SELECT COUNT(*) 
            FROM sys.dm_os_tasks AS t 
            WHERE t.session_id=r.session_id and t.request_id=r.request_id) AS worker_count,
        i.parameters, i.event_info AS input_buffer,
        r.last_wait_type, r.open_transaction_count, r.total_elapsed_time, r.cpu_time,
        r.logical_reads, r.writes, s.login_time, s.login_name, s.program_name, s.host_name
    FROM sys.dm_exec_requests as r
    JOIN sys.dm_exec_sessions as s on r.session_id=s.session_id
    OUTER APPLY sys.dm_exec_input_buffer (r.session_id,r.request_id) AS i
    WHERE s.is_user_process=1;
    GO
    
    1. A letiltott munkamenetek azonosítására szolgáló sorokat blocking_session_id kereshet. Keresse meg mindegyiket blocking_session_id a listában, és állapítsa meg, hogy az adott munkamenet is le van-e tiltva. Ez végül elvezet a fejblokkolóhoz. Hangolja a fejblokkoló lekérdezését.

      Megjegyzés:

      A hosszú ideig futó vagy letiltott lekérdezések hibaelhárításával kapcsolatos részletesebb információkért tekintse meg és oldja meg az Azure SQL Database blokkolási problémáit.

    2. Az egyidejű feldolgozók nagy mennyiségének azonosításához tekintse át az összes kérelem számát és az worker_count egyes kérések oszlopát. Worker_count a mintában szereplő munkavállalók száma, és a kérelem végrehajtása során idővel változhat. A lekérdezések finomhangolása az erőforrás-kihasználtság csökkentése érdekében, ha a megnövekedett feldolgozók az optimális párhuzamossági fokon futó egyidejű lekérdezések. További információkért lásd: Lekérdezések finomhangolása/Javaslatok.

  2. Értékelje ki az adatbázis maximális párhuzamossági (MAXDOP) beállítását.

Feldolgozói korlátok növelése

Ha az adatbázis vagy a rugalmas készlet a blokkolás kezelése, a lekérdezések optimalizálása és a MAXDOP-beállítás érvényesítése ellenére következetesen eléri a feldolgozói korlátot, fontolja meg az adatbázis vagy a rugalmas készlet skálázását a feldolgozói korlát növelése érdekében.

Erőforráskorlátok keresése az Azure SQL Database szolgáltatásszint és számítási méret szerint:

További információ a dolgozók Azure SQL Database-erőforrás-szabályozásáról.

10929-s hiba: Erőforrás-azonosító: 1

10929: Resource ID: 1. The %s minimum guarantee is %d, maximum limit is %d and the current usage for the database is %d. However, the server is currently too busy to support requests greater than %d for this database. See http://go.microsoft.com/fwlink/?LinkId=267637 for assistance. Otherwise, please try again later.

40501-ös hiba: A szolgáltatás jelenleg foglalt

40501: The service is currently busy. Retry the request after 10 seconds. Incident ID: %ls. Code: %d.

Ez egy motorszabályozási hiba, amely azt jelzi, hogy túllépik az erőforráskorlátokat.

További információ az erőforráskorlátokról: Logikai SQL Server erőforráskorlátok.

40544-es hiba: Az adatbázis elérte a méretkvótát

40544: The database has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions. Incident ID: <ID>. Code: <code>.

Ez a hiba akkor fordul elő, ha az adatbázis elérte a méretkvótát.

Az alábbi lépések segíthetnek a probléma megoldásában, vagy további lehetőségeket biztosíthatnak:

  1. Ellenőrizze az adatbázis aktuális méretét az Azure Portal irányítópultján.

    Megjegyzés:

    Annak megállapításához, hogy mely táblák használják a legtöbb helyet, és ezért lehetségesek a törlésre, futtassa a következő SQL-lekérdezést:

    SELECT o.name,
     SUM(p.row_count) AS 'Row Count',
     SUM(p.reserved_page_count) * 8.0 / 1024 AS 'Table Size (MB)'
    FROM sys.objects o
    JOIN sys.dm_db_partition_stats p on p.object_id = o.object_id
    GROUP BY o.name
    ORDER BY [Table Size (MB)] DESC;
    GO
    
  2. Ha az aktuális méret nem haladja meg a kiadáshoz támogatott maximális méretet, az ALTER DATABA Standard kiadás használatával növelheti a MAXSIZE beállítást.

  3. Ha az adatbázis már túllépte a kiadás maximálisan támogatott méretét, próbálkozzon az alábbi lépésekkel:

    • Normál adatbázis-tisztítási tevékenységek végrehajtása. Törölje például a nemkívánatos adatokat truncate/delete használatával, vagy helyezze ki az adatokat az SQL Server Integration Services (SSIS) vagy a tömeges másolási program (bcp) segédprogrammal.
    • Particionálhat vagy törölhet adatokat, elvethet indexeket, vagy megtekintheti a dokumentációt a lehetséges megoldásokért.
    • Az adatbázis-skálázásról az önálló adatbázis-erőforrások skálázása és a rugalmas készleterőforrások méretezése című témakörben olvashat.

40549-ös hiba: A munkamenet le van állítva, mert hosszú ideig futó tranzakcióval rendelkezik

40549: Session is terminated because you have a long-running transaction. Try shortening your transaction.

Ha ezt a hibát többször is tapasztalja, próbálja meg megoldani a problémát az alábbi lépések végrehajtásával:

  1. Futtassa a következő lekérdezést az oszlophoz magas értékkel rendelkező nyitott munkamenetek megtekintéséhez duration_ms :

    SELECT
        r.start_time, DATEDIFF(ms,start_time, SYSDATETIME()) as duration_ms, 
        r.session_id, r.request_id, r.blocking_session_id,  
        r.status, r.command, DB_NAME(r.database_id) AS database_name,
        i.parameters, i.event_info AS input_buffer,
        r.last_wait_type, r.open_transaction_count, r.total_elapsed_time, r.cpu_time,
        r.logical_reads, r.writes, s.login_time, s.login_name, s.program_name, s.host_name
    FROM sys.dm_exec_requests as r
    JOIN sys.dm_exec_sessions as s on r.session_id=s.session_id
    OUTER APPLY sys.dm_exec_input_buffer (r.session_id,r.request_id) AS i
    WHERE s.is_user_process=1
    ORDER BY start_time ASC;
    GO
    

    Figyelmen kívül hagyhatja azokat a sorokat, amelyekből sys.fn_MSxe_read_event_streamaz input_buffer oszlop lekérdezési olvasást jelenít meg: ezek a kérések a kiterjesztett esemény munkameneteihez kapcsolódnak.

  2. Tekintse át az blocking_session_id oszlopot, és ellenőrizze, hogy a blokkolás hozzájárul-e a hosszú ideig futó tranzakciókhoz.

    Megjegyzés:

    Az Azure SQL Database-ben történő blokkolás hibaelhárításával kapcsolatos további információkért tekintse meg és oldja meg az Azure SQL Database blokkolási problémáit.

  3. Fontolja meg a lekérdezések kötegelését. A kötegelésről további információt az SQL Database-alkalmazások teljesítményének javítása érdekében a kötegelés használatával kapcsolatban talál.

40551-ös hiba: A munkamenet a tempdb túlzott használata miatt megszakadt

40551: The session has been terminated because of excessive TEMPDB usage. Try modifying your query to reduce the temporary table space usage.

A probléma megoldásához kövesse az alábbi lépéseket:

  1. Módosítsa a lekérdezéseket az ideiglenes táblaterület-használat csökkentése érdekében.
  2. Ha már nincs rájuk szükség, helyezzen el ideiglenes objektumokat.
  3. Táblák csonkolása vagy a fel nem használt táblák eltávolítása.

40552-ös hiba: A munkamenet a tranzakciónapló túlzott kihasználtsága miatt megszakadt

40552: The session has been terminated because of excessive transaction log space usage. Try modifying fewer rows in a single transaction.

A hiba elhárításához próbálkozzon a következő módszerekkel:

  • A probléma beszúrási, frissítési vagy törlési műveletek miatt fordulhat elő. Próbálja meg csökkenteni az azonnal végrehajtott sorok számát kötegelés vagy több kisebb tranzakcióra való felosztás implementálásával.
  • A probléma az index újraépítési műveletei miatt fordulhat elő. A probléma megoldásához győződjön meg arról, hogy a táblában érintett sorok száma * (a bájtokban frissített mező átlagos mérete + 80) < 2 gigabájt (GB).
  • Index-újraépítés esetén a frissített mező átlagos méretét az átlagos indexméretnek kell helyettesítenie.
  • További információ: Az Azure SQL Database teljes tranzakciónaplójának hibaelhárítása és a felügyelt Azure SQL-példány teljes tranzakciónaplójának hibaelhárítása.

40553-os hiba: A munkamenet a túlzott memóriahasználat miatt megszakadt

40553: The session has been terminated because of excessive memory usage. Try modifying your query to process fewer rows.

A probléma megoldásához próbálja meg optimalizálni a lekérdezést.

Részletes hibaelhárítási eljárásért lásd : A lekérdezésem jól fut a felhőben?.

További információ az egyéb memóriakihasznált hibákról és a minta lekérdezésekről: Az Azure SQL Database memóriakihasználtságával kapcsolatos hibák elhárítása.

Erőforrás-szabályozási hibaüzenetek táblázata

Error code Severity Leírás
10928 20 Erőforrás-azonosító: %d. Az adatbázis %s korlátja %d, és elérte. Segítségért lásd a 'http://go.microsoft.com/fwlink/?LinkId=267637' címen.

Az erőforrás-azonosító azt az erőforrást jelzi, amely elérte a korlátot. Ha az erőforrás-azonosító = 1, az azt jelzi, hogy elérte a feldolgozói korlátot. További információ: 10928-ás hiba: Erőforrás-azonosító: 1. Az adatbázisra vonatkozó kérelemkorlát %d , és elérte. Ha az erőforrás-azonosító = 2, az azt jelzi, hogy elérte a munkamenetkorlátot.

További információ az erőforráskorlátokról:
Logikai SQL Server-erőforráskorlátok.
Az önálló adatbázisok DTU-alapú korlátai.
az önálló adatbázisok virtuális magalapú korlátai.
Felügyelt Azure SQL-példány erőforráskorlátai.
10936 20 Erőforrás-azonosító: %d. A rugalmas készlet %s korlátja %d, és elérte. Segítségért lásd a 'http://go.microsoft.com/fwlink/?LinkId=267637' címen.

Az erőforrás-azonosító azt az erőforrást jelzi, amely elérte a korlátot. Ha az erőforrás-azonosító = 1, az azt jelzi, hogy elérte a feldolgozói korlátot. További információ: 10936-os hiba: Erőforrás-azonosító: 1. A rugalmas készlet kérelemkorlátja %d, és elérte. Ha az erőforrás-azonosító = 2, az azt jelzi, hogy elérte a munkamenetkorlátot.

További információ az erőforráskorlátokról:
Logikai SQL Server-erőforráskorlátok.
A rugalmas készletek DTU-alapú korlátai.
rugalmas készletek virtuális magalapú korlátai.
Felügyelt Azure SQL-példány erőforráskorlátai.
10929 20 Erőforrás-azonosító: %d. A(z) %s minimális garanciája %d, a maximális korlát %d, az adatbázis jelenlegi használata pedig %d. A kiszolgáló azonban jelenleg túl elfoglalt az adatbázis %d-nél nagyobb kéréseinek támogatásához. Az erőforrás-azonosító azt az erőforrást jelzi, amely elérte a korlátot. Munkavégző szálak esetében az erőforrás-azonosító = 1. Munkamenetek esetén az erőforrás-azonosító = 2. További információ:
Logikai SQL Server-erőforráskorlátok.
Az önálló adatbázisok DTU-alapú korlátai.
A rugalmas készletek DTU-alapú korlátai.
az önálló adatbázisok virtuális magalapú korlátai.
rugalmas készletek virtuális magalapú korlátai.
Felügyelt Azure SQL-példány erőforráskorlátai.
Ellenkező esetben próbálkozzon újra később.
40544 20 Az adatbázis elérte a méretkvótát. Particionálhat vagy törölhet adatokat, elvethet indexeket, vagy megtekintheti a dokumentációt a lehetséges megoldásokért. Az adatbázis-skálázásról az önálló adatbázis-erőforrások skálázása és a rugalmas készleterőforrások méretezése című témakörben olvashat.
40549 16 A munkamenet le van állítva, mert hosszú ideig futó tranzakcióval rendelkezik. Próbálja meg lerövidíteni a tranzakciót. A kötegelésről további információt az SQL Database-alkalmazások teljesítményének javítása érdekében a kötegelés használatával kapcsolatban talál.
40550 16 A munkamenet leállt, mert túl sok zárolást szerzett be. Próbáljon meg kevesebb sort olvasni vagy módosítani egyetlen tranzakcióban. A kötegelésről további információt az SQL Database-alkalmazások teljesítményének javítása érdekében a kötegelés használatával kapcsolatban talál.
40551 16 A munkamenet a túlzott tempdb használat miatt megszakadt. Próbálja meg módosítani a lekérdezést az ideiglenes táblaterület-használat csökkentése érdekében.

Ha ideiglenes objektumokat használ, őrizz meg helyet az adatbázisban az tempdb ideiglenes objektumok elvetésével, miután már nincs rájuk szükség a munkamenetben. Az SQL Database korlátairól tempdb további információt az SQL Database Tempdb-adatbázisában talál.
40552 16 A munkamenet a tranzakciónapló túlzott kihasználtsága miatt megszakadt. Próbáljon meg kevesebb sort módosítani egyetlen tranzakcióban. A kötegelésről további információt az SQL Database-alkalmazások teljesítményének javítása érdekében a kötegelés használatával kapcsolatban talál.

Ha tömeges beszúrásokat hajt végre a segédprogram vagy az bcp.exeSystem.Data.SqlClient.SqlBulkCopy osztály használatával, próbálja meg -b batchsizeBatchSize korlátozni a kiszolgálóra másolt sorok számát az egyes tranzakciókban. Ha az utasítással ALTER INDEX újraépít egy indexet, próbálkozzon a REBUILD WITH ONLINE = ON beállítással. A virtuálismag-vásárlási modell tranzakciónapló-méretével kapcsolatos információkért lásd:
az önálló adatbázisok virtuális magalapú korlátai.
rugalmas készletek virtuális magalapú korlátai.
Felügyelt Azure SQL-példány erőforráskorlátai.
40553 16 A munkamenet a túlzott memóriahasználat miatt megszakadt. Próbálja meg módosítani a lekérdezést, hogy kevesebb sort dolgoz fel.

A Transact-SQL-kódban lévő műveletek számának ORDER BY és GROUP BY műveleteinek csökkentése csökkenti a lekérdezés memóriaigényét. Az adatbázis-skálázásról az önálló adatbázis-erőforrások skálázása és a rugalmas készleterőforrások méretezése című témakörben olvashat. A memóriakihasználtságokkal és a minta lekérdezésekkel kapcsolatos további információkért tekintse meg az Azure SQL Database memórián kívüli hibáinak elhárítása című témakört.

Rugalmas készlet hibái

A következő hibák a rugalmas készletek létrehozásával és használatával kapcsolatosak:

Error code Severity Leírás Korrekciós művelet
1132 17 Az elasztikus medence elérte a tárolási korlátot. A rugalmas készlet tárolási kihasználtsága nem haladhatja meg a(z) (%d) MB-eket. Adatok írása adatbázisba, amikor elérte a rugalmas készlet tárolási korlátját. Az erőforráskorlátokkal kapcsolatos információkért lásd:
A rugalmas készletek DTU-alapú korlátai.
rugalmas készletek virtuális magalapú korlátai.
Ha lehetséges, fontolja meg a rugalmas készlet DTU-jának növelését és/vagy a rugalmas készlethez való hozzáadását annak érdekében, hogy növelje a tárterületkorlátot, csökkentse az egyes adatbázisok által a rugalmas készleten belül használt tárterületet, vagy távolítsa el az adatbázisokat a rugalmas készletből. A rugalmas készlet skálázásával kapcsolatban lásd : Rugalmas készlet erőforrásainak méretezése. A nem használt terület adatbázisokból való eltávolításáról további információt az Azure SQL Database-ben található adatbázisok fájlterületének kezelése című témakörben talál.
10929 16 A(z) %s minimális garanciája %d, a maximális korlát %d, az adatbázis jelenlegi használata pedig %d. A kiszolgáló azonban jelenleg túl elfoglalt az adatbázis %d-nél nagyobb kéréseinek támogatásához. Az erőforráskorlátokkal kapcsolatos információkért lásd:
A rugalmas készletek DTU-alapú korlátai.
rugalmas készletek virtuális magalapú korlátai.
Ellenkező esetben próbálkozzon újra később. DTU/ virtuális mag min/ adatbázis; DTU/virtuális mag maximális száma adatbázisonként. A rugalmas készletben lévő összes adatbázis egyidejű feldolgozóinak száma meghaladta a készletkorlátot.
Fontolja meg a rugalmas készlet DTU-jainak vagy virtuális magjainak növelését, ha lehetséges, a feldolgozói korlát növelése érdekében, vagy távolítsa el az adatbázisokat a rugalmas készletből.
40844 16 A(z) "%ls" kiszolgálón található %ls adatbázis egy rugalmas készlet %ls kiadású adatbázisa, és nem lehet folyamatos másolási kapcsolat. N/A
40857 16 A(z) %ls kiszolgálóhoz nem található rugalmas készlet, rugalmas készlet neve: '%ls'. A megadott rugalmas készlet nem létezik a megadott kiszolgálón. Adjon meg érvényes rugalmas készletnevet.
40858 16 A(z) %ls rugalmas készlet már létezik a(z) %ls kiszolgálón. A megadott rugalmas készlet már létezik a megadott kiszolgálón. Adjon meg új rugalmas készletnevet.
40859 16 A rugalmas készlet nem támogatja a(z) %ls szolgáltatási szintet. A rugalmas készlet kiépítéséhez a megadott szolgáltatási szint nem támogatott. Adja meg a megfelelő kiadást, vagy hagyja üresen a szolgáltatási szintet az alapértelmezett szolgáltatási szint használatához.
40860 16 A rugalmas készlet (%ls) és a szolgáltatás célkitűzése (%ls) érvénytelen. Rugalmas készlet és szolgáltatási szint csak akkor adható meg együtt, ha az erőforrástípus "ElasticPool" néven van megadva. Adja meg a rugalmas készlet és a szolgáltatási szint megfelelő kombinációját.
40861 16 A(z) %.*ls adatbázis-kiadás nem lehet más, mint a rugalmas készlet szolgáltatási szintje, amely %.*ls. Az adatbázis-kiadás eltér a rugalmas készlet szolgáltatási szintétől. Ne adjon meg olyan adatbázis-kiadást, amely eltér a rugalmas készlet szolgáltatásszintétől. Vegye figyelembe, hogy az adatbázis kiadását nem kell megadni.
40862 16 A rugalmas készlet nevét meg kell adni, ha a rugalmas készlet szolgáltatási célkitűzése meg van adva. A rugalmas készlet szolgáltatási célkitűzése nem azonosítja egyedileg a rugalmas készletet. Adja meg a rugalmas készlet nevét, ha a rugalmas készletszolgáltatás-célkitűzést használja.
40864 16 A rugalmas készlet DTU-jának legalább (%d) DTU-nak kell lennie a(z) %.*ls szolgáltatási szinthez. Megkísérli beállítani a rugalmas készlet DTU-ját a minimális korlát alatt. Próbálkozzon újra a rugalmas készlet DTU-jának legalább a minimális korlátra állításával.
40865 16 A rugalmas készlet DTU-jai nem haladhatják meg a(z) %.*ls szolgáltatási szint (%d) DTU-jait. Megkísérli beállítani a rugalmas készlet DTU-ját a maximális korlát fölé. Próbálkozzon újra a rugalmas készlet DTU-jának a maximális korlátnál nem nagyobbra történő beállításával.
40867 16 Az adatbázisonkénti DTU-maximális értéknek legalább (%d) kell lennie a(z) %.*ls szolgáltatási szinthez. A DTU maximális értékének adatbázisonkénti beállítása a támogatott korlát alatt. Fontolja meg a kívánt beállítást támogató rugalmas készletszolgáltatás-szintet.
40868 16 Az adatbázisonkénti DTU-maximális érték nem haladhatja meg (%d) a(z) %.*ls szolgáltatási szint esetében. Az adatbázisonkénti DTU maximális értékének megkísérlése a támogatott korláton túl. Fontolja meg a kívánt beállítást támogató rugalmas készletszolgáltatás-szintet.
40870 16 Az adatbázisonkénti DTU-perc nem haladhatja meg (%d) a(z) %.*ls szolgáltatási szint esetében. A DTU-perc adatbázisonkénti beállításának megkísérlése a támogatott korláton túl. Fontolja meg a kívánt beállítást támogató rugalmas készletszolgáltatás-szintet.
40873 16 Az adatbázisok száma (%d) és az adatbázisonkénti DTU -perc (%d) nem haladhatja meg a rugalmas készlet (%d) DTU-jait. A rugalmas készlet azon adatbázisainak DTU-percének megadása, amelyek túllépik a rugalmas készlet DTU-jait. Fontolja meg a rugalmas készlet DTU-jainak növelését, vagy az adatbázisonkénti DTU-perc csökkentését, vagy a rugalmas készletben lévő adatbázisok számának csökkentését.
40877 16 A rugalmas készlet csak akkor törölhető, ha nem tartalmaz adatbázisokat. A rugalmas készlet egy vagy több adatbázist tartalmaz, ezért nem törölhető. Távolítsa el az adatbázisokat a rugalmas készletből a törléshez.
40881 16 A rugalmas készlet (%.*ls) elérte az adatbázisszám korlátját. A rugalmas készlet adatbázisszámának korlátja (%d) nem haladhatja meg a(z) (%d) DTU-val rendelkező rugalmas készletet. Adatbázis létrehozása vagy hozzáadása a rugalmas készlethez, ha elérte a rugalmas készlet adatbázisszámkorlátját. Fontolja meg a rugalmas készlet DTU-jainak növelését, ha lehetséges, az adatbáziskorlát növeléséhez, vagy az adatbázisok eltávolításához a rugalmas készletből.
40889 16 A rugalmas készlet (%.*ls) DTU-jai vagy tárolási korlátja nem csökkenthető, mivel ez nem biztosít elegendő tárhelyet az adatbázisok számára. Megkísérli csökkenteni a rugalmas készlet tárolási korlátját a tárterület-használat alatt. A DTU-k vagy a tárterületkorlát csökkentése érdekében fontolja meg az egyes adatbázisok tárolási használatának csökkentését a rugalmas készletben, vagy távolítsa el az adatbázisokat a készletből.
40891 16 Az adatbázisonkénti DTU-perc (%d) nem haladhatja meg az adatbázisonkénti DTU maximális értéket (%d). Az adatbázisonkénti DTU-perc adatbázisonkénti maximális értékének megkísérlése. Győződjön meg arról, hogy az adatbázisokhoz tartozó DTU-perc nem haladja meg az adatbázisonkénti DTU-maximumot.
Később eldöntendő 16 A rugalmas készletben lévő önálló adatbázisok tárolási mérete nem haladhatja meg a(z) %.*ls szolgáltatásszint rugalmas készlete által megengedett maximális méretet. Az adatbázis maximális mérete meghaladja a rugalmas készlet szolgáltatási szintje által megengedett maximális méretet. Állítsa be az adatbázis maximális méretét a rugalmas készlet szolgáltatási szintje által megengedett maximális méret korlátain belül.

A bejelentkezés által kért "master" adatbázis nem nyitható meg. A bejelentkezés sikertelen

Ez a probléma azért fordul elő, mert a fiók nem rendelkezik hozzáféréssel az master adatbázishoz. Az SQL Server Management Studio (SSMS) azonban alapértelmezés szerint megpróbál csatlakozni az master adatbázishoz.

To resolve this issue, follow these steps:

  1. Az SSMS bejelentkezési képernyőjén válassza a Beállítások lehetőséget, majd válassza a Csatlakozás ion Properties (Tulajdonságok) lehetőséget.

  2. Az adatbázis-Csatlakozás mezőben adja meg a felhasználó alapértelmezett adatbázisnevét alapértelmezett bejelentkezési adatbázisként, majd válassza ki a Csatlakozás.

    Connection properties

Írásvédett hibák

Ha írásvédett adatbázisba próbál írni, hibaüzenet jelenik meg. Bizonyos esetekben előfordulhat, hogy az adatbázis írásvédett állapotának oka nem feltétlenül egyértelmű azonnal.

3906-os hiba: Nem sikerült frissíteni a DatabaseName adatbázist, mert az adatbázis írásvédett.

Írásvédett adatbázis módosításakor a következő hiba jelenik meg.

Msg 3906, Level 16, State 2, Line 1
Failed to update database "%d" because the database is read-only.

Lehet, hogy írásvédett replikához csatlakozik

Az Azure SQL Database és a felügyelt Azure SQL-példány esetében is lehet, hogy csak olvasható replika adatbázisához csatlakozik. Ebben az esetben a DATABA Standard kiadás PROPERTYEX() függvényt használó alábbi lekérdezés ad visszaREAD_ONLY:

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');
GO

Ha az SQL Server Management Studióval csatlakozik, ellenőrizze, hogy a további Csatlakozás ion-paramétereklapon adta-e meg ApplicationIntent=ReadOnly a kapcsolati beállításokat.

Ha a kapcsolat egy alkalmazásból vagy egy kapcsolati sztring használó ügyfélből származik, ellenőrizze, hogy a kapcsolati sztring megadott-eApplicationIntent=ReadOnly. További információ az írásvédett replikák Csatlakozás.

Lehetséges, hogy az adatbázis írásvédett

Ha Azure SQL Database-t használ, előfordulhat, hogy maga az adatbázis írásvédett. Az adatbázis állapotát az alábbi lekérdezéssel ellenőrizheti:

SELECT name, is_read_only
FROM sys.databases
WHERE database_id = DB_ID();

Az Azure SQL Database-ben lévő adatbázisok írásvédett állapotát az ALTER DATABA Standard kiadás Transact-SQL használatával módosíthatja. Felügyelt példányban jelenleg nem állíthat be adatbázist írásvédettre.

Ellenőrizze, hogy csatlakozási hiba okozza-e a hibát

Annak ellenőrzéséhez, hogy egy csatlakozási probléma okozza-e a hibát, tekintse át a kapcsolat megnyitására irányuló hívásokat megjelenítő keretek veremkövetését (jegyezze fel az Sql Csatlakozás ion osztályra mutató hivatkozást):

System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
 at System.Data.SqlClient.SqlConnection.Open()
 at AzureConnectionTest.Program.Main(String[] args)
ClientConnectionId:<Client connection ID>

Ha a kivételt lekérdezési problémák aktiválják, az alábbihoz hasonló hívásverem jelenik meg (jegyezze fel az SqlCommand osztályra mutató hivatkozást). Ebben az esetben hangolja be a lekérdezéseket.

  at System.Data.SqlClient.SqlCommand.ExecuteReader()
  at AzureConnectionTest.Program.Main(String[] args)
  ClientConnectionId:<Client ID>

A teljesítmény finomhangolásával kapcsolatos további útmutatásért tekintse meg a következő erőforrásokat:

A gyakori kapcsolati problémák javítási lépései

  1. Győződjön meg arról, hogy a TCP/IP engedélyezve van ügyfélprotokollként az alkalmazáskiszolgálón. További információ: Ügyfélprotokollok konfigurálása. Azon alkalmazáskiszolgálókon, amelyeken nincs telepítve SQL-eszköz, ellenőrizze, hogy a TCP/IP engedélyezve van-e a cliconfg.exe (SQL Server Ügyfélhálózat segédprogram) futtatásával.

  2. Ellenőrizze az alkalmazás kapcsolati sztring, hogy megfelelően van-e konfigurálva. Győződjön meg például arról, hogy a kapcsolati sztring a megfelelő portot (1433) és teljes kiszolgálónevet adja meg. Lásd: Kapcsolatadatok lekérése.

  3. Próbálja meg növelni a kapcsolat időtúllépési értékét. Javasoljuk, hogy legalább 30 másodperces kapcsolati időtúllépést használjon.

  4. Tesztelje az alkalmazáskiszolgáló és az Azure SQL Database közötti kapcsolatot az SQL Server Management Studio (SSMS), egy UDL-fájl, ping vagy telnet használatával. További információkért tekintse meg a csatlakozási problémák hibaelhárítását és a csatlakozási problémák diagnosztikát.

    Megjegyzés:

    Hibaelhárítási lépésként egy másik ügyfélszámítógépen is tesztelheti a kapcsolatot.

  5. Ajánlott eljárásként győződjön meg arról, hogy az újrapróbálkozás logikája érvényben van. Az újrapróbálkozási logikáról további információt az SQL Database-hez kapcsolódó átmeneti hibák és csatlakozási hibák hibaelhárítása című témakörben talál.

Ha ezek a lépések nem oldják meg a problémát, próbáljon meg további adatokat gyűjteni, majd forduljon az ügyfélszolgálathoz. Ha az alkalmazás felhőszolgáltatás, engedélyezze a naplózást. Ez a lépés a hiba UTC időbélyegét adja vissza. Emellett az SQL Database visszaadja a nyomkövetési azonosítót. A Microsoft ügyfélszolgálata felhasználhatja ezeket az információkat.

A naplózás engedélyezéséről további információt az alkalmazások diagnosztikai naplózásának engedélyezése Azure-alkalmazás Szolgáltatásban című témakörben talál.

További lépések

További információ a kapcsolódó témakörökről az alábbi cikkekben: