Megosztás a következőn keresztül:


ALTER DATABASE (Transact-SQL)

Módosítja az adatbázis bizonyos konfigurációs beállításait.

Ez a cikk a választott SQL-termék szintaxisát, argumentumait, megjegyzéseit, engedélyeit és példáit ismerteti.

A szintaxisi konvenciókról további információt Transact-SQL szintaxiskonvenciákat.

Termék kiválasztása

A következő sorban válassza ki a kívánt terméknevet, és csak az adott termék adatai jelenjenek meg.

* SQL Server *  

felügyelt SQL-példány

 

Áttekintés: SQL Server

Az SQL Serverben ez az utasítás módosítja az adatbázist, vagy az adatbázishoz társított fájlokat és fájlcsoportokat. Az ALTER DATABASE fájlokat és fájlcsoportokat ad hozzá vagy távolít el egy adatbázisból, módosítja az adatbázis vagy annak fájljainak és fájlcsoportjainak attribútumait, módosítja az adatbázis-rendezést, és beállítja az adatbázis beállításait. Az adatbázis-pillanatképek nem módosíthatók. A replikációhoz társított adatbázis-beállítások módosításához használja a sp_replicationdboption.

A ALTER DATABASE szintaxis hossza miatt több cikkre van osztva.

Cikk Leírás
ALTER DATABASE Az aktuális cikk az adatbázis nevének és rendezésének módosításához szükséges szintaxist és kapcsolódó információkat tartalmazza.
ALTER DATABASE-fájl- és fájlcsoportbeállítások Megadja a szintaxist és a kapcsolódó információkat a fájlok és fájlcsoportok adatbázisból való hozzáadásához és eltávolításához, valamint a fájlok és fájlcsoportok attribútumainak módosításához.
ALTER DATABASE SET beállításai Az ALTER DATABASE SET beállításaival adja meg az adatbázis attribútumainak módosításához szükséges szintaxist és kapcsolódó információkat.
ALTER DATABASE adatbázis-tükrözési Az ADATBÁZIS-tükrözéssel kapcsolatos ALTER DATABASE SET beállításainak szintaxisát és kapcsolódó információit tartalmazza.
ALTER DATABASE SET HADR Az ALTER DATABASE Always On rendelkezésre állási csoportjainak szintaxisát és kapcsolódó információját tartalmazza az Always On rendelkezésre állási csoport másodlagos replikáján konfigurálható másodlagos adatbázis konfigurálásához.
ALTER DATABASE kompatibilitási szintje Az ALTER DATABASE adatbáziskompatibilitási szintekhez kapcsolódó SET beállításainak szintaxisát és kapcsolódó információját tartalmazza.
ALTER DATABASE HATÓKÖRŰ KONFIGURÁCIÓS Az egyes adatbázisszintű beállításokhoz, például a lekérdezésoptimalizáláshoz és a lekérdezések végrehajtásához kapcsolódó viselkedésekhez használt adatbázis-hatókörű konfigurációkkal kapcsolatos szintaxist tartalmazza.

Szintaxis

-- SQL Server Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>
  | SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<file_and_filegroup_options>::=
  <add_or_modify_files>::=
  <filespec>::=
  <add_or_modify_filegroups>::=
  <filegroup_updatability_option>::=

<option_spec>::=
{
  | <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <database_mirroring_option>
  | <date_correlation_optimization_option>
  | <db_encryption_option>
  | <db_state_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <external_access_option>
  | <FILESTREAM_options>
  | <HADR_options>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <termination>
  | <temporal_history_retention>
  | <data_retention_policy>
  | <compatibility_level>
      { 160 | 150 | 140 | 130 | 120 | 110 | 100 | 90 }
}

Érvek

database_name

A módosítani kívánt adatbázis neve.

Jegyzet

Ez a beállítás nem érhető el a tartalmazott adatbázisokban.

AKTUÁLIS
A következővonatkozik: SQL Server 2012 (11.x) és újabb.

Azt jelzi, hogy az aktuálisan használt adatbázist módosítani kell.

NÉV MÓDOSÍTÁSA = new_database_name

Átnevezi az adatbázist a new_database_namenéven megadott névvel.

COLLATION_NAME RENDEZÉSE

Az adatbázis rendezési beállítását adja meg. collation_name lehet Windows-rendezési név vagy SQL-rendezés neve. Ha nincs megadva, az adatbázishoz az SQL Server példányának rendezése lesz hozzárendelve.

Jegyzet

Az adatbázis Azure SQL Database-ben való létrehozása után a rendezés nem módosítható.

Ha az alapértelmezett rendezésen kívül más adatbázisokat hoz létre, az adatbázisban lévő adatok mindig megfelelnek a megadott rendezésnek. Az SQL Server esetében a belső katalógus adatai a tartalmazott adatbázis létrehozásakor az SQL Server alapértelmezett rendezési Latin1_General_100_CI_AS_WS_KS_SChasználatával maradnak fenn.

A Windows és az SQL-rendezés nevével kapcsolatos további információkért lásd COLLATEcímű témakört.

<delayed_durability_option> ::=

A következővonatkozik: SQL Server 2014 (12.x) és újabb.

További információ: ALTER DATABASE SET beállításai és Tranzakció tartóssága.

<file_and_filegroup_options>::=

További információ: ALTER DATABASE-fájl és fájlcsoport beállításai.

Megjegyzések

Adatbázis eltávolításához használja DROP DATABASE.

Az adatbázis méretének csökkentéséhez használja DBCC SHRINKDATABASE.

A ALTER DATABASE utasításnak automatikus véglegesítési módban (az alapértelmezett tranzakciókezelési módban) kell futnia, és explicit vagy implicit tranzakcióban nem engedélyezett.

Az adatbázisfájl állapota (például online vagy offline) az adatbázis állapotától függetlenül marad fenn. További információ: Fájlállapotok. A fájlcsoporton belüli fájlok állapota határozza meg a teljes fájlcsoport rendelkezésre állását. Ahhoz, hogy egy fájlcsoport elérhető legyen, a fájlcsoporton belüli összes fájlnak online állapotúnak kell lennie. Ha egy fájlcsoport offline állapotban van, a fájlcsoport SQL-utasítással való elérésére tett kísérletek hibaüzenettel meghiúsulnak. A SELECT utasításokhoz készült lekérdezéstervek létrehozásakor a lekérdezésoptimalizáló elkerüli az offline fájlcsoportokban található nemclustered indexeket és indexelt nézeteket. Ez lehetővé teszi ezeknek az utasításoknak a sikerességét. Ha azonban az offline fájlcsoport tartalmazza a céltábla halom- vagy fürtözött indexét, a SELECT utasítások sikertelenek. Ezenkívül az offline fájlcsoportban lévő indexet módosító INSERT, UPDATEvagy DELETE utasítás meghiúsul.

Ha egy adatbázis VISSZAÁLLÍTÁS állapotban van, a legtöbb ALTER DATABASE utasítás sikertelen. A kivétel az adatbázis tükrözési beállításainak megadása. Előfordulhat, hogy egy adatbázis VISSZAÁLLÍTÁS állapotban van egy aktív visszaállítási művelet során, vagy ha egy adatbázis vagy naplófájl visszaállítási művelete meghiúsul egy sérült biztonsági mentési fájl miatt.

Az SQL Server-példány csomaggyorsítótára az alábbi beállítások egyikének beállításával törlődik.

  • EGYEZTET
  • A FILEGROUP ALAPÉRTELMEZETT MÓDOSÍTÁSA
  • A FILEGROUP READ_ONLY MÓDOSÍTÁSA
  • A FILEGROUP READ_WRITE MÓDOSÍTÁSA
  • MODIFY_NAME
  • OFFLINE
  • ONLINE
  • PAGE_VERIFY
  • READ_ONLY
  • READ_WRITE

A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja. A csomaggyorsítótárban lévő összes törölt gyorsítótár esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.

A tervgyorsítótár a következő esetekben is ki van ürítve:

  • Az adatbázisokban a AUTO_CLOSE adatbázis beállítása BE értékre van állítva. Ha nincs felhasználói kapcsolat hivatkozása, vagy nem használja az adatbázist, a háttérfeladat automatikusan megpróbálja bezárni és leállítani az adatbázist.
  • Egy alapértelmezett beállítással rendelkező adatbázison több lekérdezést is futtathat. Ezután az adatbázis el lesz dobva.
  • A rendszer elveti a forrásadatbázis adatbázis-pillanatképét.
  • Sikeresen újraépíti a tranzakciónaplót egy adatbázishoz.
  • Visszaállítja az adatbázis biztonsági mentését.
  • Leválaszthat egy adatbázist.

Az adatbázis-rendezés módosítása

Mielőtt más rendezést alkalmaz egy adatbázisra, győződjön meg arról, hogy a következő feltételek teljesülnek:

  • Jelenleg Csak Ön használja az adatbázist.
  • Egyetlen sémahoz kötött objektum sem függ az adatbázis rendezésétől.

Ha az adatbázis-rendezéstől függő alábbi objektumok találhatók az adatbázisban, a ALTER DATABASE database_name COLLATE utasítás meghiúsul. Az SQL Server egy hibaüzenetet ad vissza minden objektumhoz, amely blokkolja a ALTER műveletet:

  • A SCHEMABINDING használatával létrehozott felhasználó által definiált függvények és nézetek
  • Számított oszlopok
  • CHECK-korlátozások
  • Táblázatértékkel rendelkező függvények, amelyek az alapértelmezett adatbázis-rendezésből öröklődő rendezésű karakteroszlopokkal rendelkező táblákat ad vissza

A nem sémához kötött entitások függőségi adatai automatikusan frissülnek az adatbázis-rendezés módosításakor.

Az adatbázis-rendezés módosítása nem hoz létre ismétlődő elemeket az adatbázis-objektumok rendszernevei között. Ha az ismétlődő nevek a módosított rendezésből erednek, az alábbi névterek okozhatják az adatbázis-rendezés sikertelen módosítását:

  • Objektumnevek, például eljárás, tábla, eseményindító vagy nézet
  • Sémanevek
  • Főnevek, például csoport, szerepkör vagy felhasználó
  • Skaláris típusú nevek, például rendszer- és felhasználó által definiált típusok
  • Teljes szöveges katalógusnevek
  • Oszlop- vagy paraméternevek egy objektumon belül
  • Indexnevek egy táblában

Az új rendezésből eredő ismétlődő nevek miatt a módosítási művelet meghiúsul, az SQL Server pedig egy hibaüzenetet ad vissza, amely megadja azt a névteret, ahol az ismétlődés megtalálható.

Adatbázis adatainak megtekintése

A katalógusnézetek, a rendszerfüggvények és a rendszer által tárolt eljárások segítségével adatokat adhat vissza az adatbázisokról, fájlokról és fájlcsoportokról.

Engedélyek

Az adatbázishoz ALTER engedély szükséges.

Példák

Egy. Adatbázis nevének módosítása

Az alábbi példa a AdventureWorks2022 adatbázis nevét Northwind-ra módosítja.

USE master;
GO
ALTER DATABASE AdventureWorks2022
Modify Name = Northwind ;
GO

B. Adatbázis rendezésének módosítása

Az alábbi példa létrehoz egy testdb nevű adatbázist a SQL_Latin1_General_CP1_CI_AS rendezéssel, majd a testdb adatbázis rendezést COLLATE French_CI_AI.

Az: SQL Server 2008 (10.0.x) és újabb verziókra vonatkozik.

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO

* SQL Database *  

felügyelt SQL-példány

 

Áttekintés: SQL Database

Az Azure SQL Database-ben ezzel az utasítással módosíthatja az adatbázist. Ezzel az utasítással módosíthatja az adatbázis nevét, módosíthatja az adatbázis kiadási és szolgáltatási célját, csatlakoztathatja vagy eltávolíthatja az adatbázist egy rugalmas készletbe vagy onnan, beállíthatja az adatbázis beállításait, hozzáadhatja vagy eltávolíthatja az adatbázist másodlagosként egy georeplikációs kapcsolatban, és beállíthatja az adatbázis kompatibilitási szintjét.

A ALTER DATABASE szintaxis hossza miatt több cikkre van osztva.

ALTER DATABASE
Az aktuális cikk az adatbázis nevének és egyéb beállításainak módosítására vonatkozó szintaxist és kapcsolódó információkat tartalmazza.

ALTER DATABASE SET Options
Az ALTER DATABASE SET beállításaival adja meg az adatbázis attribútumainak módosításához szükséges szintaxist és kapcsolódó információkat.

ALTER DATABASE kompatibilitási szintje
Az ALTER DATABASE adatbáziskompatibilitási szintekhez kapcsolódó SET beállításainak szintaxisát és kapcsolódó információját tartalmazza.

Szintaxis

-- Azure SQL Database Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | MODIFY ( <edition_options> [, ... n] )
  | MODIFY BACKUP_STORAGE_REDUNDANCY = { 'LOCAL' | 'ZONE' | 'GEO' }
  | SET { <option_spec> [ ,... n ] WITH <termination>}
  | ADD SECONDARY ON SERVER <partner_server_name>
    [WITH ( <add-secondary-option>::=[, ... n] ) ]
  | REMOVE SECONDARY ON SERVER <partner_server_name>
  | FAILOVER
  | FORCE_FAILOVER_ALLOW_DATA_LOSS
}
[;]

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | EDITION = { 'Basic' | 'Standard' | 'Premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale'}
  | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL (name = <elastic_pool_name>) }
       }
}

<add-secondary-option> ::=
   {
      ALLOW_CONNECTIONS = { ALL | NO }
     | BACKUP_STORAGE_REDUNDANCY = { 'LOCAL' | 'ZONE' | 'GEO' }
     | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL ( name = <elastic_pool_name>) }
       | DATABASE_NAME = <target_database_name>
       | SECONDARY_TYPE = { GEO | NAMED }
       }
   }

<service-objective> ::={ 'Basic' |'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
      | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'BC_DC_n'
      | 'BC_Gen5_n' 
      | 'BC_M_n' 
      | 'GP_DC_n'
      | 'GP_Fsv2_n' 
      | 'GP_Gen5_n' 
      | 'GP_S_Gen5_n' 
      | 'HS_DC_n'
      | 'HS_Gen5_n'
      | 'HS_S_Gen5_n'
      | 'HS_MOPRMS_n' 
      | 'HS_PRMS_n' 
      | { ELASTIC_POOL(name = <elastic_pool_name>) }
      }

<option_spec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
  | <compatibility_level>
    { 160 | 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}

Érvek

database_name

A módosítani kívánt adatbázis neve.

AKTUÁLIS
Azt jelzi, hogy az aktuálisan használt adatbázist módosítani kell.

NÉV MÓDOSÍTÁSA = new_database_name

Átnevezi az adatbázist a new_database_namenéven megadott névvel. Az alábbi példa egy adatbázis nevét db1db2:

ALTER DATABASE db1
    MODIFY Name = db2 ;

MODIFY (EDITION = "Basic" | "Standard" | 'Prémium' |' GeneralPurpose" | "BusinessCritical" | "Rugalmas skálázás")

Módosítja az adatbázis szolgáltatási szintjét.

Az alábbi példa a kiadást Premiummódosítja:

ALTER DATABASE current
    MODIFY (EDITION = 'Premium');

Fontos

Az EDITION-módosítás meghiúsul, ha az adatbázis MAXSIZE tulajdonsága az adott kiadás által támogatott érvényes tartományon kívüli értékre van állítva.

MODIFY BACKUP_STORAGE_REDUNDANCY = "LOCAL" | "ZONE" | "GEO"

Módosítja az időponthoz kötött visszaállítási biztonsági mentések és az adatbázis hosszú távú megőrzési biztonsági mentéseinek (ha konfigurálva van) tárolási redundanciáit. A módosítások az összes jövőbeli biztonsági mentésre érvényesek lesznek. A meglévő biztonsági másolatok továbbra is az előző beállítást használják.

Ha t-SQL használatával szeretne adattárolást kényszeríteni egy adatbázis létrehozásakor, használja LOCAL vagy ZONE a BACKUP_STORAGE_REDUNDANCY paraméter bemeneteként.

MÓDOSÍTÁS (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB)

Az adatbázis maximális méretét adja meg. A maximális méretnek meg kell felelnie az adatbázis EDITION tulajdonságának érvényes értékkészletének. Az adatbázis maximális méretének módosítása az adatbázis KIADÁSának módosítását okozhatja.

Jegyzet

A MAXSIZE argumentum nem vonatkozik a rugalmas skálázású szolgáltatási szint egyetlen adatbázisára. Az önálló rugalmas skálázású szolgáltatásiszint-adatbázisok igény szerint növekednek, akár 128 TB-ig is. Az SQL Database szolgáltatás automatikusan hozzáadja a tárterületet – nem kell maximális méretet beállítania.

DTU-modell

MAXSIZE Alapszintű S0-S2 S3-S12 P1-P6 P11-P15
100 MB Igen Igen Igen Igen Igen
250 MB Igen Igen Igen Igen Igen
500 MB Igen Igen Igen Igen Igen
1 GB Igen Igen Igen Igen Igen
2 GB Igen (D) Igen Igen Igen Igen
5 GB N/A Igen Igen Igen Igen
10 GB N/A Igen Igen Igen Igen
20 GB N/A Igen Igen Igen Igen
30 GB N/A Igen Igen Igen Igen
40 GB N/A Igen Igen Igen Igen
50 GB N/A Igen Igen Igen Igen
100 GB N/A Igen Igen Igen Igen
150 GB N/A Igen Igen Igen Igen
200 GB N/A Igen Igen Igen Igen
250 GB N/A Igen (D) Igen (D) Igen Igen
300 GB N/A Igen Igen Igen Igen
400 GB N/A Igen Igen Igen Igen
500 GB N/A Igen Igen Igen (D) Igen
750 GB N/A Igen Igen Igen Igen
1024 GB N/A Igen Igen Igen Igen (D)
1024 GB-tól 4096 GB-ig 256 GB 1 N/A N/A N/A N/A Igen

1 P11 és P15 max. 4 TB max. A P11 és a P15 legfeljebb 4 TB beépített tárterületet használhat fel díjmentesen. A prémium szinten az 1 TB-nál nagyobb MAXSIZE jelenleg az alábbi régiókban érhető el: USA 2. keleti régiója, USA nyugati régiója, USA Gov Virginia, Nyugat-Európa, Közép-Németország, Délkelet-Ázsia, Kelet-Japán, Kelet-Ausztrália, Közép-Kanada és Kelet-Kanada. A DTU-modell erőforráskorlátaival kapcsolatos további részletekért lásd DTU-erőforráskorlátokat.

Ha meg van adva a DTU-modell MAXSIZE értéke, érvényes értéknek kell lennie a megadott szolgáltatási szint előző táblájában.

Az olyan korlátokért, mint a maximális adatméret és a virtuálismag-vásárlási modell tempdb mérete, tekintse meg az önálló adatbázisok erőforráskorlátairól szóló cikkeket, vagy rugalmas készletek erőforráskorlátjait.

Ha nincs beállítva MAXSIZEérték a virtuális magmodell használatakor, az alapértelmezett érték 32 GB. A virtuális magos modell erőforráskorlátairól további információt virtuálismag-erőforráskorlátokcímű témakörben talál.

A MAXSIZE és AZ EDITION argumentumokra a következő szabályok vonatkoznak:

  • Ha az EDITION meg van adva, de a MAXSIZE nincs megadva, a kiadás alapértelmezett értéke lesz használva. Például az EDITION standard értékre van állítva, és a MAXSIZE nincs megadva, akkor a MAXSIZE automatikusan 250 MB-ra van állítva.
  • Ha sem a MAXSIZE, sem az EDITION nincs megadva, az EDITION általános célúra van állítva, a MAXSIZE pedig 32 GB-ra van állítva.

MODIFY (SERVICE_OBJECTIVE = <szolgáltatás-célkitűzés>)

Megadja a számítási méretet és a szolgáltatás célját.

SERVICE_OBJECTIVE

Megadja a számítási méretet (más néven szolgáltatásiszint-célkitűzést vagy SLO-t).

  • DTU vásárlási modell esetén: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15. Tekintse meg a rugalmas DTU-készletek vagy DTU-készletek erőforráskorlátait, az egyes számítási méretekhez rendelt DTU-k számát.
  • A virtuális magok vásárlási modelljéhez válassza ki a szintet, és adja meg a virtuális magok számát egy előre beállított értéklistából, ahol a virtuális magok száma n. Tekintse meg az önálló virtuális magos adatbázisok erőforráskorlátait vagy rugalmas virtuálismag-készletek erőforráskorlátjait.
    • Például:
    • GP_Gen5_8 általános célú, kiépített számítási, Standard sorozatú (Gen5), 8 virtuális mag.
    • GP_S_Gen5_8 általános célú, kiszolgáló nélküli számításhoz, Standard sorozatú (Gen5), 8 virtuális maghoz.
    • HS_Gen5_8 rugalmas skálázáshoz, kiépített számításhoz, Standard sorozathoz (Gen5), 8 virtuális maghoz.
    • HS_S_Gen5_8 rugalmas skálázáshoz, kiszolgáló nélküli számításhoz, Standard sorozatú (Gen5), 8 virtuális maghoz.

Az alábbi minta például egy prémium szintű adatbázis szolgáltatási célkitűzését módosítja a DTU vásárlási modellben, hogy P6:

ALTER DATABASE <database_name>
    MODIFY (SERVICE_OBJECTIVE = 'P6');

Az alábbi minta például egy kiépített számítási adatbázis szolgáltatási célkitűzését módosítja a virtuálismag-vásárlási modellben, hogy GP_Gen5_8:

ALTER DATABASE <database_name>
    MODIFY (SERVICE_OBJECTIVE = 'GP_Gen5_8');

DATABASE_NAME

Csak az Azure SQL Database rugalmas skálázása esetén. A létrehozandó adatbázis neve. Csak az Azure SQL Database rugalmas skálázású, elnevezett replikái használják, ha SECONDARY_TYPE = NAMED. További információ: rugalmas skálázású másodlagos replikák.

SECONDARY_TYPE

Csak az Azure SQL Database rugalmas skálázása esetén. GEO georeplikát, NAMED egy elnevezett replikát határoz meg. Az alapértelmezett GEO. További információ: rugalmas skálázású másodlagos replikák.

A szolgáltatás célkitűzésének leírását és a méretre, kiadásokra és a szolgáltatáscélok kombinációira vonatkozó további információkat Az Azure SQL Databasevirtuális mag- és DTU-alapú vásárlási modelljeinek összehasonlítása, DTU-erőforráskorlátok és virtuálismag-erőforráskorlátok. A PRS szolgáltatás célkitűzéseinek támogatása el lett távolítva.

Ha nincs megadva SERVICE_OBJECTIVE, a másodlagos adatbázis az elsődleges adatbázissal azonos szolgáltatási szinten jön létre. Ha SERVICE_OBJECTIVE van megadva, a másodlagos adatbázis a megadott szinten jön létre. A megadott SERVICE_OBJECTIVE a forrás kiadásán belül kell lennie. Például nem adhatja meg az S0 értéket, ha a kiadás prémium szintű.

MÓDOSÍTÁS (SERVICE_OBJECTIVE = ELASTIC_POOL (név = <elastic_pool_name>)

Ha meglévő adatbázist szeretne hozzáadni egy rugalmas készlethez, állítsa be az adatbázis SERVICE_OBJECTIVE ELASTIC_POOL, és adja meg a rugalmas készlet nevét. Ezzel a beállítással az adatbázist egy másik rugalmas készletre is módosíthatja ugyanazon a kiszolgálón belül. További információ: Rugalmas készletek segítenek több adatbázis kezelésében és méretezésében az Azure SQL Database. Ha el szeretne távolítani egy adatbázist egy rugalmas készletből, az ALTER DATABASE használatával állítsa be a SERVICE_OBJECTIVE egyetlen adatbázis számítási méretére (szolgáltatási célkitűzés).

Jegyzet

A rugalmas skálázási szolgáltatási szinten lévő adatbázisok nem vehetők fel rugalmas készletbe.

MÁSODLAGOS KISZOLGÁLÓI <PARTNER_SERVER_NAME> HOZZÁADÁSA

Létrehoz egy georeplikációs másodlagos adatbázist ugyanazzal a névvel egy partnerkiszolgálón, így a helyi adatbázis georeplikációs elsődleges lesz, és elkezdi aszinkron módon replikálni az adatokat az elsődlegesről az új másodlagosra. Ha egy azonos nevű adatbázis már létezik a másodlagos kiszolgálón, a parancs meghiúsul. A parancs végrehajtása a helyi adatbázist üzemeltető kiszolgálón lévő master adatbázison történik, amely az elsődlegesé válik.

Fontos

Alapértelmezés szerint a másodlagos adatbázis ugyanazzal a tartalék tárterület-redundanciával jön létre, mint az elsődleges vagy a forrásadatbázisé. A biztonsági mentési tár redundanciának módosítása a másodlagos létrehozásakor nem támogatott a T-SQL-en keresztül.

WITH ALLOW_CONNECTIONS { ALL | NO }

Ha nincs megadva ALLOW_CONNECTIONS, alapértelmezés szerint ALL értékre van állítva. Ha az ALL érték be van állítva, az egy írásvédett adatbázis, amely lehetővé teszi a megfelelő engedélyekkel rendelkező összes bejelentkezés csatlakoztatását.

ELASTIC_POOL (név = <elastic_pool_name>)

Ha nincs megadva ELASTIC_POOL, a másodlagos adatbázis nem rugalmas készletben jön létre. Ha ELASTIC_POOL van megadva, a másodlagos adatbázis a megadott készletben jön létre.

Fontos

Az ADD SECONDARY parancsot végrehajtó felhasználónak dbManagernek kell lennie az elsődleges kiszolgálón, db_owner tagsággal kell rendelkeznie a helyi adatbázisban, és a DBManagernek a másodlagos kiszolgálón. Az ügyfél IP-címét hozzá kell adni az engedélyezett listához az elsődleges és a másodlagos kiszolgálók tűzfalszabályai között. Eltérő ügyfél IP-címek esetén az elsődleges kiszolgálón hozzáadott ügyfél IP-címét is hozzá kell adni a másodlagoshoz. Ezt a lépést az ADD SECONDARY parancs futtatása előtt el kell végezni a georeplikálás elindításához.

MÁSODLAGOS ELTÁVOLÍTÁSA KISZOLGÁLÓI <PARTNER_SERVER_NAME>

Eltávolítja a megadott georeplikált másodlagos adatbázist a megadott kiszolgálón. A parancs végrehajtása az elsődleges adatbázist üzemeltető kiszolgálón található master adatbázison történik.

Fontos

A REMOVE SECONDARY parancsot végrehajtó felhasználónak dbManagernek kell lennie az elsődleges kiszolgálón.

FELADATÁTVÉTEL

Előlépteti a másodlagos adatbázist a georeplikációs partnerségben, amelyen a parancsot végrehajtják, hogy elsődleges legyen, és lefokozza az aktuális elsődlegest, hogy az új másodlagos legyen. Ennek a folyamatnak a részeként a georeplikációs mód ideiglenesen aszinkron módról szinkron módra vált. A feladatátvételi folyamat során:

  1. Az elsődleges leállítja az új tranzakciókat.
  2. A rendszer az összes függőben lévő tranzakciót a másodlagosra üríti.
  3. A másodlagos lesz az elsődleges, és aszinkron georeplikálást kezd a régi elsődleges / az új másodlagos.

Ez a sorozat biztosítja, hogy ne történjen adatvesztés. Az az időszak, amely alatt mindkét adatbázis nem érhető el, 0–25 másodperces sorrendben van, amíg a szerepkörök át vannak kapcsolva. A teljes művelet legfeljebb egy percet vehet igénybe. Ha az elsődleges adatbázis nem érhető el a parancs kiadásakor, a parancs egy hibaüzenettel meghiúsul, amely azt jelzi, hogy az elsődleges adatbázis nem érhető el. Ha a feladatátvételi folyamat nem fejeződik be, és elakadtnak tűnik, használhatja a kényszerített feladatátvételi parancsot, és elfogadhatja az adatvesztést – majd ha helyre kell állítania az elveszett adatokat, hívja meg a devopsot (CSS) az elveszett adatok helyreállításához.

Fontos

A FELADATÁTVÉTEL parancsot végrehajtó felhasználónak dbManagernek kell lennie az elsődleges kiszolgálón és a másodlagos kiszolgálón is.

FORCE_FAILOVER_ALLOW_DATA_LOSS

Előlépteti a másodlagos adatbázist a georeplikációs partnerségben, amelyen a parancsot végrehajtják, hogy elsődleges legyen, és lefokozza az aktuális elsődlegest, hogy az új másodlagos legyen. Ezt a parancsot csak akkor használja, ha az aktuális elsődleges már nem érhető el. Csak vészhelyreállításra tervezték, ha a rendelkezésre állás visszaállítása kritikus fontosságú, és bizonyos adatvesztés elfogadható.

Kényszerített feladatátvétel során:

  1. A megadott másodlagos adatbázis azonnal elsődleges adatbázissá válik, és megkezdi az új tranzakciók elfogadását.
  2. Ha az eredeti elsődleges újra tud kapcsolódni az új elsődlegeshez, növekményes biztonsági mentés készül az eredeti elsődlegesen, és az eredeti elsődleges egy új másodlagos lesz.
  3. A régi elsődleges növekményes biztonsági mentésből származó adatok helyreállításához a felhasználó devops/CSS szolgáltatást vesz fel.
  4. Ha további másodfokok is vannak, a rendszer automatikusan újrakonfigurálja őket, hogy az új elsődleges másodfokúvá váljon. Ez a folyamat aszinkron, és előfordulhat, hogy a folyamat befejeződéséig késni fog. Az újrakonfigurálás befejezéséig a másodfokok továbbra is a régi elsődleges másodfokú lesznek.

Fontos

A FORCE_FAILOVER_ALLOW_DATA_LOSS parancsot végrehajtó felhasználónak mind az elsődleges kiszolgálón, mind a másodlagos kiszolgálón dbmanager szerepkörhöz kell tartoznia.

Megjegyzések

Adatbázis eltávolításához használja DROP DATABASE. Az adatbázis méretének csökkentéséhez használja DBCC SHRINKDATABASE.

A ALTER DATABASE utasításnak automatikus véglegesítési módban (az alapértelmezett tranzakciókezelési módban) kell futnia, és explicit vagy implicit tranzakcióban nem engedélyezett.

A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja. A csomaggyorsítótárban lévő összes törölt gyorsítótár esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.

Az eljárásgyorsítótár a következő forgatókönyvben is ki van ürítve: Több lekérdezést futtat egy alapértelmezett beállítással rendelkező adatbázison. Ezután az adatbázis el lesz dobva.

Adatbázis adatainak megtekintése

A katalógusnézetek, a rendszerfüggvények és a rendszer által tárolt eljárások segítségével adatokat adhat vissza az adatbázisokról, fájlokról és fájlcsoportokról.

Engedélyek

Az adatbázisok módosításához a bejelentkezésnek vagy a kiszolgáló rendszergazdai bejelentkezésének kell lennie (amelyet az Azure SQL Database logikai kiszolgáló kiépítésekor hoztak létre), a kiszolgáló Microsoft Entra-rendszergazdájának, a dbmanager adatbázis-szerepkör tagjának master, az aktuális adatbázisban a db_owner adatbázis-szerepkör tagjának vagy az adatbázis dbo. A Microsoft Entra-azonosító (korábban Azure Active Directory).

Az adatbázisok T-SQL-en keresztüli skálázásához ALTER DATABASE-engedélyekre van szükség. Az adatbázisok Azure Portalon, PowerShellen, Azure CLI-en vagy REST API-on keresztüli skálázásához Azure RBAC-engedélyekre van szükség, különösen közreműködői, SQL DB-közreműködői vagy SQL Server-közreműködői Azure RBAC-szerepkörökre. További információ: Azure beépített szerepkörei.

Példák

Egy. Ellenőrizze a kiadási beállításokat, és módosítsa őket

Az adatbázis-db1kiadásának és maximális méretének beállítása:

SELECT Edition = DATABASEPROPERTYEX('db1', 'EDITION'),
        ServiceObjective = DATABASEPROPERTYEX('db1', 'ServiceObjective'),
        MaxSizeInBytes =  DATABASEPROPERTYEX('db1', 'MaxSizeInBytes');

ALTER DATABASE [db1] MODIFY (EDITION = 'Premium', MAXSIZE = 1024 GB, SERVICE_OBJECTIVE = 'P15');

B. Adatbázis áthelyezése másik rugalmas készletbe

Meglévő adatbázis áthelyezése egy pool1nevű készletbe:

ALTER DATABASE db1
MODIFY ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = pool1 ) ) ;

C. Másodlagos Geo-Replication hozzáadása

Olvasható másodlagos adatbázist hoz létre db1 a helyi kiszolgálón lévő db1 kiszolgálói secondaryserver.

ALTER DATABASE db1
ADD SECONDARY ON SERVER secondaryserver
WITH ( ALLOW_CONNECTIONS = ALL );

D. Másodlagos Geo-Replication eltávolítása

Eltávolítja a másodlagos adatbázis db1 kiszolgálói secondaryserver.

ALTER DATABASE db1
REMOVE SECONDARY ON SERVER testsecondaryserver;

E. Feladatátvétel Geo-Replication másodlagosra

Előléptet egy másodlagos adatbázist db1 kiszolgálói secondaryserver, hogy az új elsődleges adatbázissá váljon, amikor a kiszolgáló secondaryserverhajtja végre.

ALTER DATABASE db1 FAILOVER;

Jegyzet

További információ: Vészhelyreállítási útmutató – Azure SQL Database és az Azure SQL Database magas rendelkezésre állású és vészhelyreállítási ellenőrzőlistája .

F. Feladatátvétel kényszerítése Geo-Replication másodlagosra adatvesztéssel

Másodlagos adatbázis db1 kényszerítése a kiszolgálón secondaryserver, hogy az új elsődleges adatbázissá váljon, amikor a kiszolgáló secondaryserverhajtja végre, abban az esetben, ha az elsődleges kiszolgáló elérhetetlenné válik. Ez a beállítás adatvesztést okozhat.

ALTER DATABASE db1 FORCE_FAILOVER_ALLOW_DATA_LOSS;

G. Egyetlen adatbázis frissítése az S0 szolgáltatási szintre (Standard kiadás, 0. teljesítményszint)

Egyetlen adatbázist frissít a Standard kiadásra (szolgáltatási szintre), amelynek számítási mérete (szolgáltatási célkitűzése) S0 és maximális mérete 250 GB.

ALTER DATABASE [db1] MODIFY (EDITION = 'Standard', MAXSIZE = 250 GB, SERVICE_OBJECTIVE = 'S0');

H. Adatbázis biztonsági mentési tárhelyének redundanciának frissítése

Frissíti az adatbázis biztonsági mentési tárterületének redundanciát zónaredundánsra. Az adatbázis jövőbeli biztonsági másolatai az új beállítást használják. Ide tartoznak az időponthoz kötött visszaállítási biztonsági másolatok és a hosszú távú megőrzési biztonsági másolatok (ha konfigurálva van).

ALTER DATABASE db1 MODIFY BACKUP_STORAGE_REDUNDANCY = 'ZONE';

* felügyelt SQL-példány *  

 

Áttekintés: Felügyelt Azure SQL-példány

A felügyelt Azure SQL-példányban ezzel az utasítással állíthatja be az adatbázis beállításait.

A ALTER DATABASE szintaxis hossza miatt több cikkre van osztva.

Cikk Leírás
ALTER DATABASE
Az aktuális cikk a fájl- és fájlcsoportbeállítások beállításához, az adatbázisbeállítások beállításához és az adatbázis-kompatibilitási szint beállításához nyújt szintaxist és kapcsolódó információkat.
ALTER DATABASE-fájl- és fájlcsoportbeállítások
Megadja a szintaxist és a kapcsolódó információkat a fájlok és fájlcsoportok adatbázisból való hozzáadásához és eltávolításához, valamint a fájlok és fájlcsoportok attribútumainak módosításához.
ALTER DATABASE SET Options
Az ALTER DATABASE SET beállításaival adja meg az adatbázis attribútumainak módosításához szükséges szintaxist és kapcsolódó információkat.
ALTER DATABASE kompatibilitási szintje
Az ALTER DATABASE adatbáziskompatibilitási szintekhez kapcsolódó SET beállításainak szintaxisát és kapcsolódó információját tartalmazza.

Szintaxis

-- Azure SQL Managed Instance syntax  
ALTER DATABASE { database_name | CURRENT }  
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ]  
}  
[;]

<file_and_filegroup_options>::=  
  <add_or_modify_files>::=  
  <filespec>::=
  <add_or_modify_filegroups>::=  
  <filegroup_updatability_option>::=  

<option_spec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>  
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <temporal_history_retention>
  | <compatibility_level>
      { 160 | 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}  

Érvek

database_name

A módosítani kívánt adatbázis neve.

AKTUÁLIS
Azt jelzi, hogy az aktuálisan használt adatbázist módosítani kell.

Megjegyzések

  • Adatbázis eltávolításához használja DROP DATABASE.

  • Az adatbázis méretének csökkentéséhez használja DBCC SHRINKDATABASE.

  • A ALTER DATABASE utasításnak automatikus véglegesítési módban (az alapértelmezett tranzakciókezelési módban) kell futnia, és explicit vagy implicit tranzakcióban nem engedélyezett.

  • A felügyelt Azure SQL-példány csomaggyorsítótára az alábbi lehetőségek egyikének beállításával törlődik.

    • EGYEZTET

    • A FILEGROUP ALAPÉRTELMEZETT MÓDOSÍTÁSA

    • A FILEGROUP READ_ONLY MÓDOSÍTÁSA

    • A FILEGROUP READ_WRITE MÓDOSÍTÁSA

    • NÉV MÓDOSÍTÁSA

      A tervgyorsítótár törlése az összes későbbi végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, átmeneti csökkenését okozhatja. A csomaggyorsítótárban lévő összes törölt gyorsítótár esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer. A csomaggyorsítótár akkor is ki lesz ürítve, ha több lekérdezést hajt végre egy alapértelmezett beállítással rendelkező adatbázison. Ezután az adatbázis el lesz dobva.

  • Egyes ALTER DATABASE utasításokhoz kizárólagos zárolás szükséges egy adatbázishoz. Ez az oka annak, hogy sikertelenek lehetnek, ha egy másik aktív folyamat zárolja az adatbázist. Az ilyen esetekben jelentett hiba Msg 5061, Level 16, State 1, Line 38 üzenettel ALTER DATABASE failed because a lock could not be placed on database '<database name>'. Try again later. Ez általában átmeneti hiba, és a probléma megoldásához az adatbázis összes zárolásának feloldása után próbálkozzon újra a sikertelen ALTER DATABASE utasítással. A rendszernézet sys.dm_tran_locks az aktív zárolásokra vonatkozó információkat tartalmazza. Ha ellenőrizni szeretné, hogy vannak-e megosztott vagy kizárólagos zárolások egy adatbázisban, használja az alábbi lekérdezést.

    SELECT
        resource_type, resource_database_id, request_mode, request_type, request_status, request_session_id 
    FROM 
        sys.dm_tran_locks
    WHERE
        resource_database_id = DB_ID('testdb');
    

Adatbázis adatainak megtekintése

A katalógusnézetek, a rendszerfüggvények és a rendszer által tárolt eljárások segítségével adatokat adhat vissza az adatbázisokról, fájlokról és fájlcsoportokról.

Engedélyek

Csak a kiszolgálószintű egyszerű bejelentkezés (a kiépítési folyamat által létrehozott) vagy a dbcreator adatbázis-szerepkör tagjai módosíthatják az adatbázist.

Fontos

Az adatbázis tulajdonosa csak akkor módosíthatja az adatbázist, ha tagja az dbcreator szerepkörnek.

Példák

Az alábbi példák bemutatják, hogyan állíthatja be az automatikus hangolást, és hogyan adhat hozzá fájlt egy adatbázishoz a felügyelt Azure SQL-példányban.

ALTER DATABASE WideWorldImporters
  SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON);

ALTER DATABASE WideWorldImporters
  ADD FILE (NAME = 'data_17');

felügyelt SQL-példány

* Azure Synapse
Elemzés *
 

 

Áttekintés: Azure Synapse Analytics

Az Azure Synapse-ban ALTER DATABASE módosítja a dedikált SQL-készlet bizonyos konfigurációs beállításait.

A ALTER DATABASE szintaxis hossza miatt több cikkre van osztva.

ALTER DATABASE SET beállításai az adatbázis attribútumainak ALTER DATABASESET beállításaival történő módosításához szükséges szintaxist és kapcsolódó információkat tartalmazza.

Szintaxis

ALTER DATABASE { database_name | CURRENT }
{
  MODIFY NAME = new_database_name
| MODIFY ( <edition_option> [, ... n] )
| SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<edition_option> ::=
      MAXSIZE = {
            250 | 500 | 750 | 1024 | 5120 | 10240 | 20480
          | 30720 | 40960 | 51200 | 61440 | 71680 | 81920
          | 92160 | 102400 | 153600 | 204800 | 245760
      } GB
      | SERVICE_OBJECTIVE = {
            'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500'
          | 'DW600' | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000'
          | 'DW3000' | 'DW6000' | 'DW500c' | 'DW1000c' | 'DW1500c'
          | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c' | 'DW6000c'
          | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
      }

Érvek

database_name

Megadja a módosítani kívánt adatbázis nevét.

NÉV MÓDOSÍTÁSA = new_database_name

Átnevezi az adatbázist a new_database_namenéven megadott névvel.

A "MODIFY NAME" (NÉV MÓDOSÍTÁSA) beállítás bizonyos támogatási korlátozásokkal rendelkezik az Azure Synapse-ban:

  • Az Azure Synapse kiszolgáló nélküli készletei nem támogatottak
  • Nem támogatott az Azure Synapse-munkaterületen létrehozott dedikált SQL-készletek
  • Támogatott dedikált SQL-készletek (korábbi nevén SQL DW) az Azure Portalhasználatával, beleértve azokat is, amelyekhez csatlakoztatott munkaterület

MAXSIZE

Az alapértelmezett érték 245 760 GB (240 TB).

A következőkre vonatkozik: Compute Gen1-hez optimalizálva

Az adatbázis megengedett maximális mérete. Az adatbázis nem nőhet túl a MAXSIZE-n.

A következőkre vonatkozik: Compute Gen2-hez optimalizálva

A rowstore-adatok maximális megengedett mérete az adatbázisban. A sorkatasztertáblákban, az oszlopcentrikus indexek deltastore-jában vagy a fürtözött oszloptár-indexek nemclustered indexében tárolt adatok nem növekedhetnek a MAXSIZE-en túl. Az oszlopcentrikus formátumba tömörített adatok nem rendelkeznek méretkorláttal, és a MAXSIZE nem korlátozza őket.

SERVICE_OBJECTIVE

Megadja a számítási méretet (szolgáltatási célkitűzés). Az Azure Synapse szolgáltatáscéljaival kapcsolatos további információkért lásd adattárházegységek (DWU-k).

Engedélyek

Az alábbi engedélyek szükségesek:

  • Kiszolgálószintű egyszerű bejelentkezés (a kiépítési folyamat által létrehozott), vagy
  • Az dbmanager adatbázis-szerepkör tagja.

Az adatbázis tulajdonosa csak akkor módosíthatja az adatbázist, ha a tulajdonos tagja a dbmanager szerepkörnek.

Megjegyzések

Az aktuális adatbázisnak más adatbázisnak kell lennie, mint a módosított adatbázisnak, ezért az ALTER-t futtatni kell, miközben csatlakozik az master adatbázishoz.

COMPATIBILITY_LEVEL az SQL Analytics alapértelmezés szerint 130-ra van állítva, és nem módosítható. További információ: ALTER DATABASE kompatibilitási szintje.

Jegyzet

COMPATIBILITY_LEVEL csak a kiépített erőforrásokra (készletekre) vonatkozik.

Korlátozások

A ALTER DATABASEfuttatásához az adatbázisnak online állapotban kell lennie, és nem lehet szüneteltetve.

A ALTER DATABASE utasításnak automatikus véglegesítési módban kell futnia, amely az alapértelmezett tranzakciókezelési mód. Ez a kapcsolati beállításokban van beállítva.

A ALTER DATABASE utasítás nem lehet része felhasználó által meghatározott tranzakciónak.

Az adatbázis-rendezés nem módosítható.

Példák

A példák futtatása előtt győződjön meg arról, hogy a módosított adatbázis nem az aktuális adatbázis. Az aktuális adatbázisnak más adatbázisnak kell lennie, mint a módosított adatbázisnak, ezért az ALTER-t futtatni kell, miközben csatlakozik az master adatbázishoz.

Egy. Az adatbázis nevének módosítása

ALTER DATABASE AdventureWorks2022
MODIFY NAME = Northwind;

B. Az adatbázis maximális méretének módosítása

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB );

C. A számítási méret módosítása (szolgáltatási célkitűzés)

ALTER DATABASE dw1 MODIFY ( SERVICE_OBJECTIVE= 'DW1200' );

D. A maximális méret és a számítási méret módosítása (szolgáltatási célkitűzés)

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB, SERVICE_OBJECTIVE= 'DW1200' );

felügyelt SQL-példány

* Elemzés
Platformrendszer (PDW) *
 

 

Áttekintés: Elemzési platformrendszer

Az Analytics Platform Systemben (PDW) az ALTER DATABASE módosítja a replikált táblák, elosztott táblák és a tranzakciónapló maximális adatbázisméret-beállításait. Ezzel az utasítással kezelheti az adatbázisok lemezterület-lefoglalásait a méret növekedésével vagy méretének csökkenésével. Ez a cikk az Analytics Platform System (PDW) adatbázis-beállításainak beállításával kapcsolatos szintaxist is ismerteti.

Szintaxis

-- Analytics Platform System
ALTER DATABASE database_name
    SET ( <set_database_options> | <db_encryption_option> )
[;]

<set_database_options> ::=
{
    AUTOGROW = { ON | OFF }
    | REPLICATED_SIZE = size [GB]
    | DISTRIBUTED_SIZE = size [GB]
    | LOG_SIZE = size [GB]
    | SET AUTO_CREATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<db_encryption_option> ::=
    ENCRYPTION { ON | OFF }

Érvek

database_name

A módosítani kívánt adatbázis neve. A berendezésen lévő adatbázisok listájának megjelenítéséhez használja sys.databases.

AUTOGROW = { ON | KI }

Frissíti az AUTOGROW beállítást. Ha az AUTOGROW be van kapcsolva, az Elemzési platformrendszer (PDW) automatikusan növeli a replikált táblák, elosztott táblák és a tranzakciónapló lefoglalt területét a tárolási követelmények növekedésének megfelelően. Ha az AUTOGROW ki van kapcsolva, az Analytics Platform System (PDW) hibát ad vissza, ha a replikált táblák, elosztott táblák vagy a tranzakciónapló meghaladja a maximális méretbeállítást.

REPLICATED_SIZE = méret [GB]

Megadja a számítási csomópontonkénti új maximális gigabájtot a módosított adatbázis összes replikált táblájának tárolásához. Ha a berendezés tárolóterületét tervezi, meg kell szoroznia REPLICATED_SIZE a berendezés számítási csomópontjainak számával.

DISTRIBUTED_SIZE = méret [GB]

Az adatbázisonkénti új maximális gigabájtot adja meg a módosított adatbázis összes elosztott táblájának tárolásához. A méret el van osztva a berendezés összes számítási csomópontja között.

LOG_SIZE = méret [GB]

Az adatbázisonkénti új maximális gigabájtot adja meg a módosított adatbázisban lévő összes tranzakciónapló tárolásához. A méret el van osztva a berendezés összes számítási csomópontja között.

TITKOSÍTÁS { BE | KI }

Beállítja, hogy az adatbázis titkosítva legyen (BE) vagy ne legyen titkosítva (KI). A titkosítás csak akkor konfigurálható az Analytics platformrendszerhez (PDW), ha sp_pdw_database_encryption 1van beállítva. A transzparens adattitkosítás konfigurálásához létre kell hozni egy adatbázistitkosítási kulcsot. További információ az adatbázis-titkosításról: Transzparens adattitkosítás (TDE).

SET AUTO_CREATE_STATISTICS { ON | KI }

Ha az automatikus statisztikai létrehozási beállítás (AUTO_CREATE_STATISTICS) be van kapcsolva, a Lekérdezésoptimalizáló szükség szerint statisztikákat hoz létre a lekérdezési predikátum egyes oszlopaihoz a lekérdezésterv számosságbecsléseinek javítása érdekében. Ezek az egyoszlopos statisztikák olyan oszlopokon jönnek létre, amelyek még nem rendelkeznek hisztogrammal egy meglévő statisztikai objektumban.

Az AU7-re való frissítés után létrehozott új adatbázisok alapértelmezés szerint bekapcsolva. A frissítés előtt létrehozott adatbázisok esetében az alapértelmezett beállítás ki van kapcsolva.

További információ a statisztikákról: Statistics

SET AUTO_UPDATE_STATISTICS { ON | KI }

Ha az automatikus frissítési statisztikai beállítás (AUTO_UPDATE_STATISTICS) be van kapcsolva, a lekérdezésoptimalizáló meghatározza, hogy mikor lehetnek elavultak a statisztikák, majd frissíti őket, amikor egy lekérdezés használja őket. A statisztikák elavulttá válnak, miután a műveletek beszúrják, frissítik, törlik vagy egyesítik az adateloszlást a táblában vagy indexelt nézetben. A lekérdezésoptimalizáló úgy határozza meg, hogy a statisztikák mikor lehetnek elavultak, ha megszámolja a legutóbbi statisztikai frissítés óta végrehajtott adatmódosítások számát, és összehasonlítja a módosítások számát a küszöbértékekkel. A küszöbérték a tábla vagy indexelt nézetben lévő sorok számán alapul.

Az AU7-re való frissítés után létrehozott új adatbázisok alapértelmezés szerint bekapcsolva. A frissítés előtt létrehozott adatbázisok esetében az alapértelmezett beállítás ki van kapcsolva.

További információ a statisztikákról: Statistics.

SET AUTO_UPDATE_STATISTICS_ASYNC { ON | KI }

A AUTO_UPDATE_STATISTICS_ASYNC aszinkron statisztikafrissítési beállítás határozza meg, hogy a Lekérdezésoptimalizáló szinkron vagy aszinkron statisztikai frissítéseket használ-e. A AUTO_UPDATE_STATISTICS_ASYNC beállítás az indexekhez létrehozott statisztikai objektumokra, a lekérdezési predikátumok egyetlen oszlopára és a CREATE STATISTICS utasítással létrehozott statisztikákra vonatkozik.

Az AU7-re való frissítés után létrehozott új adatbázisok alapértelmezés szerint bekapcsolva. A frissítés előtt létrehozott adatbázisok esetében az alapértelmezett beállítás ki van kapcsolva.

További információ a statisztikákról: Statistics.

Engedélyek

Az adatbázishoz ALTER engedély szükséges.

Hibaüzenetek

Ha az automatikus statisztikák le vannak tiltva, és megkísérli módosítani a statisztikai beállításokat, a PDW a hibát This option isn't supported in PDW. A rendszergazda engedélyezheti az automatikus statisztikákat a funkciókapcsoló engedélyezésével AutoStatsEnabled.

Megjegyzések

A REPLICATED_SIZE, DISTRIBUTED_SIZEés LOG_SIZE értékei nagyobbak, egyenlők vagy kisebbek lehetnek az adatbázis aktuális értékeinél.

Korlátozások

A növekedési és zsugorítási műveletek hozzávetőlegesek. Az eredményként kapott tényleges méretek eltérhetnek a méretparaméterektől.

Az Analytics Platform System (PDW) nem végzi el a ALTER DATABASE utasítást atomi műveletként. Ha az utasítás a végrehajtás során megszakad, a már végrehajtott módosítások megmaradnak.

A statisztikai beállítások csak akkor működnek, ha a rendszergazda engedélyezte az automatikus statisztikákat. Ha Ön rendszergazda, használja a funkciókapcsolót AutoStatsEnabled az automatikus statisztikák engedélyezéséhez vagy letiltásához.

Zárolási viselkedés

Megosztott zárolást hoz létre a DATABASE objektumon. Nem módosíthatja azokat az adatbázisokat, amelyeket egy másik felhasználó használ olvasásra vagy írásra. Ide tartoznak azok a munkamenetek, amelyek USE utasítást adtak ki az adatbázisban.

Teljesítmény

Az adatbázisok zsugorítása nagy időt és rendszererőforrásokat vehet igénybe az adatbázisban lévő tényleges adatok méretétől és a lemez töredezettségének mértékétől függően. Egy adatbázis zsugorítása például több órát is igénybe vehet.

Titkosítási folyamat meghatározása

Az adatbázis transzparens adattitkosításának százalékos állapotát az alábbi lekérdezéssel állapíthatja meg:

WITH
database_dek AS (
    SELECT ISNULL(db_map.database_id, dek.database_id) AS database_id,
        dek.encryption_state, dek.percent_complete,
        dek.key_algorithm, dek.key_length, dek.encryptor_thumbprint,
        type
    FROM sys.dm_pdw_nodes_database_encryption_keys AS dek
    INNER JOIN sys.pdw_nodes_pdw_physical_databases AS node_db_map
        ON dek.database_id = node_db_map.database_id
        AND dek.pdw_node_id = node_db_map.pdw_node_id
    LEFT JOIN sys.pdw_database_mappings AS db_map
        ON node_db_map .physical_name = db_map.physical_name
    INNER JOIN sys.dm_pdw_nodes nodes
        ON nodes.pdw_node_id = dek.pdw_node_id
    WHERE dek.encryptor_thumbprint <> 0x
),
dek_percent_complete AS (
    SELECT database_dek.database_id, AVG(database_dek.percent_complete) AS percent_complete
    FROM database_dek
    WHERE type = 'COMPUTE'
    GROUP BY database_dek.database_id
)
SELECT DB_NAME( database_dek.database_id ) AS name,
    database_dek.database_id,
    ISNULL(
       (SELECT TOP 1 dek_encryption_state.encryption_state
        FROM database_dek AS dek_encryption_state
        WHERE dek_encryption_state.database_id = database_dek.database_id
        ORDER BY (CASE encryption_state
            WHEN 3 THEN -1
            ELSE encryption_state
            END) DESC), 0)
        AS encryption_state,
dek_percent_complete.percent_complete,
database_dek.key_algorithm, database_dek.key_length, database_dek.encryptor_thumbprint
FROM database_dek
INNER JOIN dek_percent_complete
    ON dek_percent_complete.database_id = database_dek.database_id
WHERE type = 'CONTROL';

A TDE implementálásának összes lépését bemutató átfogó példát Transzparens adattitkosítás (TDE)című témakörben talál.

Példák: Elemzési platformrendszer (PDW)

Egy. Az AUTOGROW beállítás módosítása

Az AUTOGROW beállítása ON értékre az adatbázis CustomerSales.

ALTER DATABASE CustomerSales
    SET ( AUTOGROW = ON );

B. Replikált táblák maximális tárterületének módosítása

Az alábbi példa a replikált tábla tárolási korlátját 1 GB-ra állítja az adatbázis CustomerSales. Ez a számítási csomópontonkénti tárterületkorlát.

ALTER DATABASE CustomerSales
    SET ( REPLICATED_SIZE = 1 GB );

C. Az elosztott táblák maximális tárterületének módosítása

Az alábbi példa 1000 GB-ra (egy terabájtra) állítja az elosztott tábla tárolási korlátját az adatbázis CustomerSales. Ez a berendezés összes számítási csomópontjára vonatkozó összesített tárolási korlát, nem pedig a számítási csomópontonkénti tárterületkorlát.

ALTER DATABASE CustomerSales
    SET ( DISTRIBUTED_SIZE = 1000 GB );

D. A tranzakciónapló maximális tárterületének módosítása

Az alábbi példa frissíti az adatbázist CustomerSales, hogy a berendezéshez legfeljebb 10 GB-os SQL Server-tranzakciónapló-méret legyen.

ALTER DATABASE CustomerSales
    SET ( LOG_SIZE = 10 GB );

E. Az aktuális statisztikai értékek ellenőrzése

Az alábbi lekérdezés az összes adatbázis aktuális statisztikai értékeit adja vissza. A 1 érték azt jelenti, hogy a szolgáltatás be van kapcsolva, a 0 pedig azt, hogy a funkció ki van kapcsolva.

SELECT NAME,
    is_auto_create_stats_on,
    is_auto_update_stats_on,
    is_auto_update_stats_async_on
FROM sys.databases;

F. Adatbázis statisztikáinak automatikus létrehozása és automatikus frissítése

Az alábbi utasítással automatikusan és aszinkron módon engedélyezheti a statisztikák létrehozását és frissítését az adatbázis, a CustomerSales esetében. Ez igény szerint létrehozza és frissíti az egyoszlopos statisztikákat a kiváló minőségű lekérdezési tervek létrehozásához.

ALTER DATABASE CustomerSales
    SET AUTO_CREATE_STATISTICS ON;
ALTER DATABASE CustomerSales
    SET AUTO_UPDATE_STATISTICS ON;
ALTER DATABASE
    SET AUTO_UPDATE_STATISTICS_ASYNC ON;

Áttekintés: Microsoft Fabric

felügyelt SQL-példány

Microsoft Fabric

A Microsoft Fabric Warehouse-ban ez az utasítás módosít egy raktárat.

A ALTER DATABASE szintaxis hossza miatt több cikkre van osztva.

Cikk Leírás
ALTER DATABASE Az aktuális cikk az adatbázis nevének és rendezésének módosításához szükséges szintaxist és kapcsolódó információkat tartalmazza.
ALTER DATABASE SET beállításai Az ALTER DATABASE SET beállításaival adja meg az adatbázis attribútumainak módosításához szükséges szintaxist és kapcsolódó információkat.

Megjegyzések

Jelenleg a Delta Lake-naplók közzétételének szüneteltetése és a V-Order viselkedésének letiltása egy raktárban az egyetlen felhasználási mód a Microsoft Fabricben ALTER DATABASE ... SET. Lásd ALTER DATABASE SET beállításainak.