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 *
Á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
, UPDATE
vagy 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
Kapcsolódó tartalom
* SQL Database *
Á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 db1
db2
:
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 Premium
mó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 vagyDTU-készletek az egyes számítási méretekhez rendelt DTU-k számát.erőforráskorlátait, - 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:
- Az elsődleges leállítja az új tranzakciókat.
- A rendszer az összes függőben lévő tranzakciót a másodlagosra üríti.
- 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:
- A megadott másodlagos adatbázis azonnal elsődleges adatbázissá válik, és megkezdi az új tranzakciók elfogadását.
- 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.
- 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.
- 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-db1
kiadá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 pool1
nevű 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ó secondaryserver
hajtja 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ó secondaryserver
hajtja 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';
Kapcsolódó tartalom
- CREATE DATABASE – Azure SQL Database
- DATABASEPROPERTYEX
- DROP DATABASE
- TRANZAKCIÓELKÜLÖNÍTÉSI SZINT BEÁLLÍTÁSA
- EVENTDATA
- sp_spaceused
- sys.databases
- sys.database_files
- sys.filegroups
- sys.master_files
- rendszeradatbázisok
- vészhelyreállítási útmutató – Azure SQL Database
- Azure SQL Database magas rendelkezésre állási és vészhelyreállítási ellenőrzőlistája
- DTU-erőforráskorlátok
- virtuális mag erőforráskorlátai önálló adatbázisokhoz
- rugalmas készletek virtuálismag-erőforráskorlátai
* 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 hibaMsg 5061, Level 16, State 1, Line 38
üzenettelALTER 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 sikertelenALTER DATABASE
utasítással. A rendszernézetsys.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');
Kapcsolódó tartalom
* 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 DATABASE
SET beállításaival történő módosításához szükséges szintaxist és kapcsolódó információkat tartalmazza.
Szintaxis
- dedikált SQL-készlet
- kiszolgáló nélküli SQL-készlet
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 DATABASE
futtatá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' );
Kapcsolódó tartalom
* 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
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;
Kapcsolódó tartalom
Áttekintés: Microsoft Fabric
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.