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


ADATBÁZIS LÉTREHOZÁSA

Új adatbázist hoz létre.

Válassza az alábbi lapok egyikét egy adott SQL-verzió szintaxisához, argumentumaihoz, megjegyzéseihez, engedélyeihez és példáihoz.

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

 

SQL Server

Áttekintés

Az SQL Serverben ez az utasítás létrehoz egy új adatbázist, valamint a használt fájlokat és azok fájlcsoportjait. Használható adatbázis-pillanatképek létrehozására, vagy adatbázisfájlok csatolására is, hogy adatbázist hozzon létre egy másik adatbázis leválasztott fájljaiból.

Szintaxis

Hozzon létre egy adatbázist.

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

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
      [ PRIMARY ] <filespec> [ ,...n ]
      [ , <filegroup> [ ,...n ] ]
      [ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
      FILESTREAM ( <filestream_option> [,...n ] )
    | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
    | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
    | NESTED_TRIGGERS = { OFF | ON }
    | TRANSFORM_NOISE_WORDS = { OFF | ON }
    | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
    | DB_CHAINING { OFF | ON }
    | TRUSTWORTHY { OFF | ON }
    | PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='path-to-directory-on-a-DAX-volume' )
    | LEDGER = {ON | OFF }
}

<filestream_option> ::=
{
      NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
    | DIRECTORY_NAME = 'directory_name'
}

<filespec> ::=
{
(
    NAME = logical_file_name ,
    FILENAME = { 'os_file_name' | 'filestream_path' }
    [ , SIZE = size [ KB | MB | GB | TB ] ]
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup name [ [ CONTAINS FILESTREAM ] [ DEFAULT ] | CONTAINS MEMORY_OPTIMIZED_DATA ]
    <filespec> [ ,...n ]
}

Adatbázis csatolása

CREATE DATABASE database_name
    ON <filespec> [ ,...n ]
    FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
        | ATTACH_REBUILD_LOG }
[;]

<attach_database_option> ::=
{
      <service_broker_option>
    | RESTRICTED_USER
    | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
}

Adatbázis-pillanatkép létrehozása

CREATE DATABASE database_snapshot_name
    ON
    (
        NAME = logical_file_name,
        FILENAME = 'os_file_name'
    ) [ ,...n ]
    AS SNAPSHOT OF
[;]

Érvek

database_name

Ez az új adatbázis neve. Az adatbázisneveknek egyedinek kell lenniük az SQL Server egy példányán belül, és meg kell felelniük azonosítókszabályainak.

database_name legfeljebb 128 karakter hosszúságú lehet, kivéve, ha nincs megadva logikai név a naplófájlhoz. Ha nincs megadva logikai naplófájl neve, az SQL Server egy utó database_nametag hozzáfűzésével létrehozza a napló logical_file_name és os_file_name. Ez database_name 123 karakterre korlátozza, hogy a létrehozott logikai fájlnév legfeljebb 128 karakter legyen.

Ha az adatfájl neve nincs megadva, az SQL Server database_name használ logical_file_name és os_file_name. Az alapértelmezett elérési út a beállításjegyzékből származik. Az alapértelmezett elérési út módosítható a Kiszolgáló tulajdonságai (Adatbázis beállításai lap) a Management Studióban. Az alapértelmezett elérési út módosításához újra kell indítani az SQL Servert.

CONTAINMENT = { NONE | RÉSZLEGES }

A következővonatkozik: SQL Server 2012 (11.x) és újabb verziók

Az adatbázis elszigetelési állapotát adja meg. NONE = nem tartalmazott adatbázis. RÉSZLEGES = részben tartalmazott adatbázis.

RA

Megadja, hogy az adatbázis adatszakaszainak, adatfájljainak tárolására használt lemezfájlok explicit módon vannak definiálva. Az ON parancsot akkor kell megadni, ha az elsődleges fájlcsoport adatfájljait meghatározó <fájlok vesszővel tagolt listája> elemeket. Az elsődleges fájlcsoportban lévő fájlok listáját követheti a felhasználói fájlcsoportokat és fájljaikat meghatározó <fájlcsoportok> elemek vesszővel tagolt listája.

ELSŐDLEGES

Megadja, hogy a társított <filespec> lista határozza meg az elsődleges fájlt. Az elsődleges fájlcsoportban a <filepec> bejegyzésben megadott első fájl lesz az elsődleges fájl. Egy adatbázis csak egy elsődleges fájllal rendelkezhet. További információ: adatbázisfájlok és fájlcsoportok.

Ha az ELSŐDLEGES nincs megadva, a CREATE DATABASE utasításban felsorolt első fájl lesz az elsődleges fájl.

BEJELENTKEZIK

Megadja, hogy az adatbázisnapló, naplófájlok tárolására használt lemezfájlok explicit módon vannak definiálva. A LOG ON-t a naplófájlokat definiáló <fájlok> vesszővel tagolt listája követi. Ha a LOG ON nincs megadva, a rendszer automatikusan létrehoz egy naplófájlt, amelynek mérete az adatbázis összes adatfájljának 25%-a, vagy 512 KB, amelyik nagyobb. Ez a fájl az alapértelmezett naplófájl-helyre kerül. Erről a helyről további információt Az SSMS-adat- és naplófájlok alapértelmezett helyének megtekintése vagy módosítása című témakörben talál.

A LOG ON nem adható meg adatbázis-pillanatképen.

COLLATION_NAME RENDEZÉSE

Az adatbázis alapértelmezett rendezési értékét adja meg. A rendezés neve lehet Windows-rendezési név vagy SQL-rendezés neve. Ha nincs megadva, az adatbázis az SQL Server-példány alapértelmezett rendezéséhez van hozzárendelve. Adatbázis-pillanatképen nem adható meg rendezési név.

A FOR ATTACH vagy a FOR ATTACH_REBUILD_LOG záradékokkal nem adható meg rendezési név. A csatolt adatbázisok rendezési módjának módosításáról a microsoftos webhelyéntalál további információt.

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

Jegyzet

A tartalmazott adatbázisok másképpen vannak rendezve, mint a nem tartalmazott adatbázisok. További információ: Tartalmazott adatbázis-rendezések.

WITH <option>

<filestream_option>

NON_TRANSACTED_ACCESS = { KI | READ_ONLY | FULL }

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

Megadja az adatbázishoz való nem tranzakciós FILESTREAM-hozzáférés szintjét.

Érték Leírás
OFF A nem tranzakciós hozzáférés le van tiltva.
READONLY Az adatbázisban lévő FILESTREAM-adatok nem tranzakciós folyamatok által olvashatók.
FULL A FILESTREAM FileTables teljes nem tranzakciós hozzáférése engedélyezve van.

DIRECTORY_NAME = <directory_name>

A következővonatkozik: SQL Server 2012 (11.x) és újabb verziók

Windows-kompatibilis címtárnév. Ennek a névnek egyedinek kell lennie az SQL Server-példány összes Database_Directory neve között. Az egyediség-összehasonlítás az SQL Server rendezési beállításaitól függetlenül érzéketlen a kis- és nagybetűk között. Ezt a beállítást be kell állítani, mielőtt létrehoz egy Fájltáblát az adatbázisban.



Az alábbi beállítások csak akkor engedélyezettek, ha a CONTAINMENT értéke RÉSZLEGES. Ha a CONTAINMENT értéke NONE, hibák lépnek fel.

DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <nyelvnév> | <nyelvi alias>

A következővonatkozik: SQL Server 2012 (11.x) és újabb verziók

A beállítás teljes leírását a Az alapértelmezett teljes szöveges nyelvi kiszolgálókonfigurációs beállítás konfigurálása című témakörben talál.

DEFAULT_LANGUAGE = <lcid> | <nyelvnév> | <nyelvi alias>

A következővonatkozik: SQL Server 2012 (11.x) és újabb verziók

Ennek a beállításnak a teljes leírását Az alapértelmezett nyelvi kiszolgáló konfigurációs beállításának konfigurálása című témakörben talál.

NESTED_TRIGGERS = { KI | ON }

A következővonatkozik: SQL Server 2012 (11.x) és újabb verziók

Ennek a beállításnak a teljes leírását A beágyazott eseményindítók kiszolgálókonfigurációs beállításának konfigurálása című témakörben talál.

TRANSFORM_NOISE_WORDS = { KI | ON }

A következővonatkozik: SQL Server 2012 (11.x) és újabb verziók

Ennek a beállításnak a teljes leírását kiszolgálókonfigurációs beállítás alakítja át.

TWO_DIGIT_YEAR_CUTOFF = { 2049 | <1753 és 9999 közötti bármely évben> }

Négy számjegy, amely egy évet jelöl. A 2049 az alapértelmezett érték. Ennek a beállításnak a teljes leírását a A kétjegyű év kivágás kiszolgálókonfigurációs beállításának konfigurálása című témakörben talál.

DB_CHAINING { KI | ON }

Ha be van kapcsolva, az adatbázis lehet egy adatbázisközi tulajdonjogi lánc forrása vagy célja.

Ha ki van kapcsolva, az adatbázis nem vehet részt az adatbázis-tulajdonjogok közötti láncolásban. Az alapértelmezett érték ki van kapcsolva.

Fontos

Az SQL Server példánya felismeri ezt a beállítást, ha a tulajdonosközi láncoló kiszolgáló beállítás értéke 0 (KI). Ha a több adatbázis tulajdonjogának láncolása 1 (ON), minden felhasználói adatbázis részt vehet adatbázisközi tulajdonjogi láncokban, függetlenül a lehetőség értékétől. Ez a beállítás a sp_configurehasználatával van beállítva.

A beállítás beállításához a sysadmin rögzített kiszolgálói szerepkör tagságára van szükség. A DB_CHAINING beállítás nem állítható be a következő rendszeradatbázisokon: master, model, tempdb.

TRUSTWORTHY { OFF | ON }

Ha be van kapcsolva, az adatbázismodulok (például nézetek, felhasználó által definiált függvények vagy tárolt eljárások), amelyek megszemélyesítési környezetet használnak, hozzáférhetnek az adatbázison kívüli erőforrásokhoz.

Ha ki van kapcsolva, a megszemélyesítési környezet adatbázis-moduljai nem férnek hozzá az adatbázison kívüli erőforrásokhoz. Az alapértelmezett érték ki van kapcsolva.

A TRUSTWORTHY ki van kapcsolva az adatbázis csatolásakor.

Alapértelmezés szerint az msdb adatbázis kivételével az összes rendszeradatbázisNÁL KI van kapcsolva a TRUSTWORTHY beállítás. Az érték nem módosítható a model és tempdb adatbázisok esetében. Azt javasoljuk, hogy soha ne állítsa be a TRUSTWORTHY beállítást a master adatbázishoz.

PERSISTENT_LOG_BUFFER=BE ( DIRECTORY_NAME='' )

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

Ha ez a beállítás meg van adva, a tranzakciónapló-puffer egy olyan köteten jön létre, amely a Storage Class Memory (NVDIMM-N nemvolatile storage) által támogatott lemezeszközön található, más néven állandó naplópufferen. További információ: Tranzakció véglegesítés késésének gyorsítása a Tárosztály memória és Állandó naplópuffer hozzáadása adatbázishoz.

LEDGER = {ON | KI }

Ha ONértékre van állítva, létrehoz egy főkönyv-adatbázist, amelyben az összes felhasználói adat integritása védett. A főkönyv-adatbázisban csak a főkönyvtáblák hozhatók létre. Az alapértelmezett érték a OFF. A LEDGER beállítás értéke nem módosítható az adatbázis létrehozása után. További információ: Főkönyvi adatbázis konfigurálása.

ADATBÁZIS LÉTREHOZÁSA ... CSATOLÁSHOZ [ < ATTACH_DATABASE_OPTION >]

Megadja, hogy az adatbázist egy meglévő operációsrendszer-fájlkészlet csatolásával hozza létre . Az elsődleges fájlt megadó <filepec> bejegyzésnek kell lennie. Az egyetlen további <fájlfájl-> bejegyzésre az adatbázis első létrehozásakor vagy utolsó csatolásakor eltérő elérési útú fájlok esetében van szükség. Ezekhez a fájlokhoz meg kell adni egy <fájlfájl-> bejegyzést.

A FOR ATTACH használatához a következők szükségesek:

  • Minden adatfájlnak (MDF és NDF) elérhetőnek kell lennie.
  • Ha több naplófájl is létezik, az összesnek elérhetőnek kell lennie.

Ha egy olvasási/írási adatbázis egyetlen naplófájllal rendelkezik, amely jelenleg nem érhető el, és ha az adatbázist felhasználók nélkül állították le, vagy tranzakciókat nyitottak meg a ATTACH művelet előtt, FOR ATTACH automatikusan újraépíti a naplófájlt, és frissíti az elsődleges fájlt. Ezzel szemben egy írásvédett adatbázis esetében a naplót nem lehet újraépíteni, mert az elsődleges fájl nem frissíthető. Ezért ha csak olvasható adatbázist csatol egy nem elérhető naplóhoz, meg kell adnia a naplófájlokat vagy a FÁJLOKAT a FOR ATTACH záradékban.

Jegyzet

Az SQL Server újabb verziójával létrehozott adatbázis nem csatolható a korábbi verziókhoz.

Az SQL Serverben a csatolt adatbázis részét képező teljes szöveges fájlok az adatbázishoz lesznek csatolva. A teljes szöveges katalógus új elérési útjának megadásához adja meg az új helyet a teljes szöveges operációsrendszer-fájlnév nélkül. További információkért lásd a Példák szakaszt.

Ha olyan adatbázist csatol egy SQL Server-példányhoz, amely a "Címtárnév" FILESTREAM beállítását tartalmazza, az SQL Server kérni fogja, hogy ellenőrizze, hogy a Database_Directory név egyedi-e. Ha nem, a ATTACH művelet a hibával meghiúsul, FILESTREAM Database_Directory name is not unique in this SQL Server instance. A hiba elkerülése érdekében az opcionális paramétert (directory_name) át kell adni ennek a műveletnek.

A FOR ATTACH nem adható meg adatbázis-pillanatképen.

A FOR ATTACH megadhatja a RESTRICTED_USER beállítást. RESTRICTED_USER lehetővé teszi, hogy csak a db_owner rögzített adatbázis-szerepkör tagjai, a dbcreator és a sysadmin rögzített kiszolgálói szerepkörök tagjai csatlakozzanak az adatbázishoz, de nem korlátozza a számukat. A nem minősített felhasználók kísérleteit a rendszer elutasítja.

<service_broker_option>

Ha az adatbázis Service Brokert használ, használja a WITH <service_broker_option> a FOR ATTACH záradékban:

Szabályozza a Service Broker üzenetkézbesítését és az adatbázis Service Broker-azonosítóit. A Service Broker beállításai csak a FOR ATTACH záradék használatakor adhatók meg.

ENABLE_BROKER

Megadja, hogy a Szolgáltatásközvetítő engedélyezve van-e a megadott adatbázishoz. Ez azt jelent, hogy az üzenetkézbesítés elindul, és is_broker_enabled igaz értékre van állítva a sys.databases katalógusnézetben. Az adatbázis megőrzi a meglévő Service Broker-azonosítót.

NEW_BROKER

Új service_broker_guid értéket hoz létre a sys.databases és a visszaállított adatbázisban is. Az összes beszélgetési végpont törléssel végződik. A közvetítő engedélyezve van, de a rendszer nem küld üzenetet a távoli beszélgetési végpontoknak. A régi Service Broker-azonosítóra hivatkozó útvonalakat újra létre kell hozni az új azonosítóval.

ERROR_BROKER_CONVERSATIONS

Az adatbázis csatolását vagy visszaállítását jelző hibaüzenettel végződik az összes beszélgetés. A közvetítő mindaddig le van tiltva, amíg a művelet befejeződik, majd engedélyezve nem lesz. Az adatbázis megőrzi a meglévő Service Broker-azonosítót.

Ha leválasztás helyett másolt replikált adatbázist csatol, fontolja meg a következőket:

  • Ha az adatbázist ugyanahhoz a kiszolgálópéldányhoz és verzióhoz csatolja, mint az eredeti adatbázis, nincs szükség további lépésekre.
  • Ha ugyanahhoz a kiszolgálópéldányhoz, de frissített verzióval csatolja az adatbázist, a csatolási művelet befejezése után sp_vupgrade_replication kell végrehajtania a replikáció frissítéséhez.
  • Ha az adatbázist egy másik kiszolgálópéldányhoz csatolja, a verziótól függetlenül a csatolási művelet befejeződése után sp_removedbreplication kell végrehajtania a replikáció eltávolításához.

Jegyzet

A csatolás a vardecimális tárolóformátummal működik, de az SQL Server adatbázismotort frissíteni kell legalább az SQL Server 2005 (9.x) SP2-re. Nem csatolhat adatbázist vardecimális tárolási formátummal az SQL Server egy korábbi verziójához. További információ a vardecimális tárolási formátumáról: Adattömörítési.

Amikor egy adatbázist először csatolnak vagy visszaállítanak egy új SQL Server-példányra, a rendszer még nem tárolja a kiszolgálón az adatbázis főkulcsának egy példányát (amelyet a szolgáltatás főkulcsa titkosít). Az adatbázis főkulcsának (DMK) visszafejtéséhez a OPEN MASTER KEY utasítást kell használnia. A DMK visszafejtése után a jövőben engedélyezheti az automatikus visszafejtést az ALTER MASTER KEY REGENERATE utasítással a kiszolgáló üzembe helyezéséhez a szolgáltatás főkulcsával (SMK) titkosított DMK másolatával. Ha egy adatbázist frissítettek egy korábbi verzióról, a DMK-t újra létre kell hozni az újabb AES-algoritmus használatához. További információ a DMK újragenerálásáról: ALTER MASTER KEY. A DMK-kulcs AES-re való frissítéséhez szükséges idő a DMK által védett objektumok számától függ. A DMK-kulcs újragenerálása az AES-re való frissítéshez csak egyszer szükséges, és nincs hatással a jövőbeli regenerációkra a kulcsforgatási stratégia részeként. Az adatbázis csatolással történő frissítéséről további információt Az adatbázis frissítése leválasztással és csatolássalcímű témakörben talál.

Fontos

Javasoljuk, hogy ne csatoljon ismeretlen vagy nem megbízható forrásokból származó adatbázisokat. Az ilyen adatbázisok rosszindulatú kódot tartalmazhatnak, amelyek nem szándékos Transact-SQL kódot hajthatnak végre, vagy hibákat okozhatnak a séma vagy a fizikai adatbázis szerkezetének módosításával. Mielőtt ismeretlen vagy nem megbízható forrásból származó adatbázist használna, futtassa DBCC CHECKDB az adatbázison egy nem gyártási kiszolgálón, és vizsgálja meg a kódot, például a tárolt eljárásokat vagy más felhasználó által definiált kódot az adatbázisban.

Jegyzet

Az TRUSTWORTHY és DB_CHAINING beállításainak nincs hatása az adatbázis csatolásakor.

FOR ATTACH_REBUILD_LOG

Megadja, hogy az adatbázis egy meglévő operációsrendszer-fájlkészlet csatolásával jön létre. Ez a beállítás csak az adatbázisok olvasására/írására korlátozódik. Az elsődleges fájlt egy <filespec>-bejegyzésnek kell megadnia. Ha hiányzik egy vagy több tranzakciónapló-fájl, a naplófájl újraépül. A ATTACH_REBUILD_LOG automatikusan létrehoz egy új, 1 MB-os naplófájlt. Ez a fájl az alapértelmezett naplófájl-helyre kerül. Erről a helyről további információt Az SSMS-adat- és naplófájlok alapértelmezett helyének megtekintése vagy módosítása című témakörben talál.

Jegyzet

Ha a naplófájlok elérhetők, az adatbázismotor ezeket a fájlokat használja a naplófájlok újraépítése helyett.

A FOR ATTACH_REBUILD_LOG a következő feltételeket igényli:

  • Az adatbázis tiszta leállítása.
  • Minden adatfájlnak (MDF és NDF) elérhetőnek kell lennie.

Fontos

Ez a művelet megszakítja a napló biztonsági mentési láncát. Javasoljuk, hogy a művelet befejezése után végezzen teljes adatbázis-biztonsági mentést. További információ: BACKUP.

A FOR ATTACH_REBUILD_LOG általában akkor használatos, ha nagy naplóval rendelkező olvasási/írási adatbázist másol egy másik kiszolgálóra, ahol a másolás többnyire vagy csak olvasási műveletekhez lesz használva, ezért kevesebb naplóterületre van szükség, mint az eredeti adatbázis.

A FOR ATTACH_REBUILD_LOG nem adhatók meg adatbázis-pillanatképeken.

Az adatbázisok csatolásáról és leválasztásáról további információt az Adatbázis leválasztása és csatolásacímű témakörben talál.

<filespec>

Szabályozza a fájltulajdonságokat.

NAME logical_file_name

Megadja a fájl logikai nevét. A FÁJLNÉV megadásakor a NÉV megadása kötelező, kivéve, ha a FOR ATTACH záradékok egyikét adja meg. A FILESTREAM-fájlcsoport nem nevezhető ELSŐDLEGESnek.

logical_file_name

Az SQL Serverben a fájlra való hivatkozáskor használt logikai név. Logical_file_name egyedinek kell lennie az adatbázisban, és meg kell felelnie azonosítókszabályainak. A név lehet karakter vagy Unicode-állandó, illetve normál vagy tagolt azonosító.

FILENAME { 'os_file_name' | 'filestream_path' }

Megadja az operációs rendszer (fizikai) fájlnevét.

'os_file_name'

Az operációs rendszer által a fájl létrehozásakor használt elérési út és fájlnév. A fájlnak a következő eszközök egyikén kell lennie: azon a helyi kiszolgálón, amelyre az SQL Server telepítve van, egy tárolóhálózaton [SAN], vagy egy iSCSI-alapú hálózaton. A megadott elérési útnak léteznie kell a CREATE DATABASE utasítás végrehajtása előtt. További információ: adatbázisfájlok és fájlcsoportok a cikk későbbi részében.

A SIZE, a MAXSIZE és a FILEGROWTH paraméterek akkor állíthatók be, ha unc elérési út van megadva a fájlhoz.

Ha a fájl nyers partíción található, os_file_name csak egy meglévő nyers partíció meghajtóbetűjelét kell megadnia. Minden nyers partíción csak egy adatfájl hozható létre.

Jegyzet

A nyers partíciók nem támogatottak az SQL Server 2014 és újabb verzióiban.

Az adatfájlok csak akkor helyezhetők el tömörített fájlrendszereken, ha a fájlok írásvédett másodlagos fájlok, vagy az adatbázis írásvédett. A naplófájlokat soha nem szabad tömörített fájlrendszerekre helyezni.

'filestream_path'

A FILESTREAM-fájlcsoport esetében a FILENAME egy elérési út, ahol a FILESTREAM-adatok tárolódnak. Az utolsó mappához vezető elérési útnak léteznie kell, és az utolsó mappa nem létezhet. Ha például megadja az elérési utat C:\MyFiles\MyFilestreamData, C:\MyFiles léteznie kell az ALTER DATABASE futtatása előtt, de a MyFilestreamData mappa nem létezhet.

A fájlcsoportot és a fájlt (<filespec>) ugyanabban az utasításban kell létrehozni.

A SIZE és a FILEGROWTH tulajdonságok nem vonatkoznak a FILESTREAM-fájlcsoportokra.

MÉRET méret

Megadja a fájl méretét.

A MÉRET nem adható meg, ha a os_file_name UNC elérési útként van megadva. A SIZE nem vonatkozik a FILESTREAM-fájlcsoportra.

méret

A fájl kezdeti mérete.

Ha nem adja meg az elsődleges fájl méretét, az adatbázismotor a model adatbázis elsődleges fájljának méretét használja. A model adatbázis alapértelmezett mérete 8 MB (az SQL Server 2016-tól kezdve (13.x)) vagy 1 MB (korábbi verziók esetén). Ha másodlagos adatfájl vagy naplófájl van megadva, de mérete nincs megadva a fájlhoz, az adatbázismotor 8 MB-ot (az SQL Server 2016-tól kezdve (13.x)) vagy 1 MB-ot (korábbi verziók esetén) készít. Az elsődleges fájlhoz megadott méretnek legalább akkoranak kell lennie, mint a model adatbázis elsődleges fájlja.

A kilobájt (KB), a megabájt (MB), a gigabájt (GB) vagy a terabájt (TB) utótagok használhatók. Az alapértelmezett érték az MB. Adjon meg egy egész számot. Ne tartalmazzon tizedesvesszőt. Méret egész szám. A 2147483647-nél nagyobb értékekhez használjon nagyobb egységeket.

MAXSIZE max_size

Megadja a fájl maximális méretét. A MAXSIZE nem adható meg, ha a os_file_name UNC elérési útként van megadva.

max_size

A maximális fájlméret. A KB, MB, GB és TB utótagok használhatók. Az alapértelmezett érték az MB. Adjon meg egy egész számot. Ne tartalmazzon tizedesvesszőt. Ha max_size nincs megadva, a fájl addig nő, amíg meg nem telik a lemez. Max_size egész szám. A 2147483647-nél nagyobb értékekhez használjon nagyobb egységeket.

KORLÁTLAN

Megadja, hogy a fájl növekedjen, amíg meg nem telik a lemez. Az SQL Serverben a korlátlan növekedéssel megadott naplófájlok maximális mérete 2 TB, az adatfájlok mérete pedig legfeljebb 16 TB.

Jegyzet

Nincs maximális méret, ha ez a beállítás meg van adva egy FILESTREAM-tárolóhoz. A lemez megteltéig folyamatosan nő.

FILEGROWTH growth_increment

A fájl automatikus növekedésnövekedését adja meg. Egy fájl FILEGROWTH beállítása nem haladhatja meg a MAXSIZE beállítást. A FILEGROWTH nem adható meg, ha a os_file_name UNC elérési útként van megadva. A FILEGROWTH nem vonatkozik a FILESTREAM-fájlcsoportra.

growth_increment

A fájlhoz adott hely mennyisége minden alkalommal, amikor új helyre van szükség.

Az érték megadható MB, KB, GB, TB vagy százalék (%). Ha egy szám MB, KB vagy % utótag nélkül van megadva, az alapértelmezett érték a MB. Ha % van megadva, a növekedési növekmény mérete a fájl méretének megadott százalékos aránya a növekmény bekövetkezésekor. A megadott méret a legközelebbi 64 KB-ra van kerekítve, a minimális érték pedig 64 KB.

A 0 érték azt jelzi, hogy az automatikus növekedés ki van kapcsolva, és nincs további hely.

Ha a FILEGROWTH nincs megadva, az alapértelmezett értékek a következők:

Verzió Alapértelmezett értékek
Az SQL Server 2016 kezdete (13.x) Adatok 64 MB. Naplófájlok 64 MB.
Az SQL Server 2005 kezdete (9.x) Adat 1 MB. Naplófájlok 10%.
AZ SQL Server 2005 előtt (9.x) Data 10%. Naplófájlok 10%.

<fájlcsoport>

Szabályozza a fájlcsoport tulajdonságait. A fájlcsoport nem adható meg adatbázis-pillanatképen.

FILEGROUP filegroup_name

A fájlcsoport logikai neve.

filegroup_name

filegroup_name egyedinek kell lennie az adatbázisban, és nem lehet a rendszer által megadott ELSŐDLEGES és PRIMARY_LOG név. A név lehet karakter vagy Unicode-állandó, illetve normál vagy tagolt azonosító. A névnek meg kell felelnie azonosítókszabályainak.

FILESTREAMET TARTALMAZ

Megadja, hogy a fájlcsoport a fájlrendszerben tárolja a FILESTREAM bináris nagy objektumokat (BLOB-okat).

ALAPÉRTELMEZETT

Megadja, hogy a névvel ellátott fájlcsoport az adatbázis alapértelmezett fájlcsoportja.

CONTAINS MEMORY_OPTIMIZED_DATA

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

Megadja, hogy a fájlcsoport memory_optimized adatokat tárol a fájlrendszerben. További információ: In-Memory Optimalizálási áttekintés és használati forgatókönyvek. Adatbázisonként csak egy MEMORY_OPTIMIZED_DATA fájlcsoport engedélyezett. A memóriaoptimalizált adatok tárolására szolgáló fájlcsoportot létrehozó kódmintákért lásd: Memory-Optimized tábla és natívan lefordított tárolt eljárás létrehozása.

database_snapshot_name

Az új adatbázis-pillanatkép neve. Az adatbázis-pillanatképek nevének egyedinek kell lennie az SQL Server egy példányán belül, és meg kell felelnie az azonosítókra vonatkozó szabályoknak. database_snapshot_name legfeljebb 128 karakter hosszúságú lehet.

ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ]

Adatbázis-pillanatkép létrehozásához megadja a forrásadatbázisban lévő fájlok listáját. A pillanatkép működéséhez az összes adatfájlt külön kell megadni. A naplófájlok azonban nem engedélyezettek az adatbázis-pillanatképekhez. A FILESTREAM-fájlcsoportokat az adatbázis-pillanatképek nem támogatják. Ha egy FILESTREAM-adatfájl szerepel a CREATE DATABASE ON záradékban, az utasítás sikertelen lesz, és hibaüzenet jelenik meg.

A NAME és a FILENAME és azok értékeinek leírását az egyenértékű <filepec> értékek leírásában talál.

Jegyzet

Adatbázis-pillanatkép létrehozásakor a rendszer nem engedélyezi a többi <fájlfájl> beállításait és a PRIMARY kulcsszót.

PILLANATKÉP A source_database_name

Azt adja meg, hogy a létrehozott adatbázis a source_database_nameáltal megadott forrásadatbázis adatbázis-pillanatképe. A pillanatképnek és a forrásadatbázisnak ugyanazon a példányon kell lennie.

Az SQL Server 2019 előtt az adatbázis-pillanatkép forrásadatbázisa nem tartalmazhat MEMORY_OPTIMIZED_DATA fájlcsoportot. A memóriabeli adatbázis-pillanatképek támogatása az SQL Server 2019-ben lett hozzáadva.

További információ: Database Snapshots.

Megjegyzések

A főadatbázis- biztonsági másolatot kell készíteni a felhasználói adatbázis létrehozása, módosítása vagy elvetése esetén.

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

Egy CREATE DATABASE utasítással létrehozhat egy adatbázist és az adatbázist tároló fájlokat. Az SQL Server az alábbi lépések végrehajtásával implementálja a CREATE DATABASE utasítást:

  1. Az SQL Server a modelladatbázis egy példányát használja az adatbázis és metaadatainak inicializálásához.
  2. A szolgáltatásközvetítő GUID-azonosítója hozzá van rendelve az adatbázishoz.
  3. Az adatbázismotor ezután üres oldalakkal tölti ki a többi adatbázist, kivéve azokat a lapokat, amelyek belső adatokkal rendelkeznek, amelyek rögzítik, hogyan használják a helyet az adatbázisban.

Az SQL Server egy példányán legfeljebb 32 767 adatbázis adható meg.

Minden adatbázis rendelkezik egy tulajdonossal, amely speciális tevékenységeket végezhet az adatbázisban. A tulajdonos az adatbázist létrehozó felhasználó. Az adatbázis tulajdonosa ALTER AUTHORIZATIONhasználatával módosítható.

Egyes adatbázis-funkciók a fájlrendszerben található funkcióktól és képességektől függenek az adatbázisok teljes funkcionalitása érdekében. Néhány példa a fájlrendszer funkciókészletétől függő funkciókra:

  • DBCC CHECKDB
  • FileStream
  • Online biztonsági mentések VSS és fájlpillanatképek használatával
  • Adatbázis-pillanatkép létrehozása
  • Memóriaoptimalizált adatfájlcsoport

Adatbázisfájlok és fájlcsoportok

Minden adatbázis legalább két fájllal, egy elsődleges és egy tranzakciónapló-fájllalés legalább egy fájlcsoporttal rendelkezik. Minden adatbázishoz legfeljebb 32 767 fájl és 32 767 fájlcsoport adható meg.

Adatbázis létrehozásakor az adatfájlokat a lehető legnagyobb méretűre kell tenni az adatbázisban elvárt maximális adatmennyiség alapján.

Javasoljuk, hogy használjon tárolóhálózatot (SAN), iSCSI-alapú hálózatot vagy helyileg csatlakoztatott lemezt az SQL Server-adatbázisfájlok tárolásához, mivel ez a konfiguráció optimalizálja az SQL Server teljesítményét és megbízhatóságát.

Adatbázis-pillanatképek

A CREATE DATABASE utasítással írásvédett, statikus nézetet, adatbázis-pillanatképet hozhat létre a forrásadatbázis. Az adatbázis-pillanatképek tranzakciós szempontból konzisztensek a forrásadatbázissal, mivel a pillanatkép létrehozásakor léteztek. Egy forrásadatbázis több pillanatképet is tartalmazhat.

Jegyzet

Adatbázis-pillanatkép létrehozásakor a CREATE DATABASE utasítás nem hivatkozhat naplófájlra, offline fájlra, fájlok visszaállítására és megszűnt fájlokra.

Ha egy adatbázis-pillanatkép létrehozása sikertelen, a pillanatkép gyanússá válik, és törölni kell. További információ: DROP DATABASE.

Az egyes pillanatképek mindaddig megmaradnak, amíg az DROP DATABASEhasználatával nem törlődik.

További információ: Adatbázis-pillanatképek és Adatbázis-pillanatkép létrehozása (Transact-SQL).

Adatbázis-beállítások

Adatbázis létrehozásakor több adatbázis-beállítás is automatikusan be van állítva. A beállítások listáját az ALTER DATABASE SET Optionscímű témakörben találja.

A modelladatbázis és az új adatbázisok létrehozása

A modelladatbázis összes felhasználó által definiált objektuma az összes újonnan létrehozott adatbázisba lesz másolva. Bármilyen objektumot, például táblákat, nézeteket, tárolt eljárásokat, adattípusokat stb. hozzáadhat a model adatbázishoz, hogy az összes újonnan létrehozott adatbázis része legyen.

Ha egy CREATE DATABASE <database_name> utasítás további méretparaméterek nélkül van megadva, az elsődleges adatfájl mérete megegyezik a model adatbázis elsődleges fájljának méretével.

Ha nincs megadva FOR ATTACH, minden új adatbázis örökli az adatbázis beállítási beállításait a model adatbázisból. Az adatbázis automatikus zsugorítási beállítás például úgy van beállítva, hogy igaz és a létrehozott új adatbázisokban. Ha módosítja az model adatbázis beállításait, ezek az új beállítási beállítások a létrehozott új adatbázisokban lesznek használva. A model adatbázis műveleteinek módosítása nem érinti a meglévő adatbázisokat. Ha a FOR ATTACH a CREATE DATABASE utasításban van megadva, az új adatbázis örökli az eredeti adatbázis adatbázisbeállítási beállításait.

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. További információ: Rendszernézetek.

Engedélyek

CREATE DATABASE, CREATE ANY DATABASEvagy ALTER ANY DATABASE engedélyt igényel.

Az SQL Server egy példányán a lemezhasználat szabályozásának fenntartása érdekében az adatbázisok létrehozására vonatkozó engedély általában néhány bejelentkezésre korlátozódik.

Az alábbi példa engedélyt ad adatbázis létrehozására az adatbázis felhasználójának Fay.

USE master;
GO
GRANT CREATE DATABASE TO [Fay];
GO

Adatokra és naplófájlokra vonatkozó engedélyek

Az SQL Serverben bizonyos engedélyek vannak beállítva az egyes adatbázisok adataira és naplófájljaira. A következő engedélyek vannak beállítva, amikor a következő műveleteket alkalmazza egy adatbázisra:

  • Csatolt
  • Biztonsági mentés
  • Létrehozott
  • Közönyös
  • Új fájl hozzáadására módosítva
  • Visszaad

Az engedélyek megakadályozzák, hogy a fájlok véletlenül illetéktelenül módosítva legyenek, ha nyitott engedélyekkel rendelkező könyvtárban találhatók.

Jegyzet

A Microsoft SQL Server 2005 Express kiadás nem állít be adatokat és naplófájl-engedélyeket.

Példák

Egy. Adatbázis létrehozása fájlok megadása nélkül

Az alábbi példa létrehozza az adatbázist mytest, és létrehoz egy megfelelő elsődleges és tranzakciós naplófájlt. Mivel az utasítás nem tartalmaz <filepec> elemeket, az elsődleges adatbázisfájl a model adatbázis elsődleges fájljának mérete. A tranzakciónapló a nagyobb értékre van állítva: 512 KB vagy 25% az elsődleges adatfájl mérete. Mivel a MAXSIZE nincs megadva, a fájlok növekedhetnek az összes rendelkezésre álló lemezterület kitöltéséhez. Ez a példa azt is bemutatja, hogyan lehet elvetni a mytest nevű adatbázist, ha létezik, mielőtt létrehozza a mytest adatbázist.

USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B. Adatbázis létrehozása, amely meghatározza az adatokat és a tranzakciós naplófájlokat

Az alábbi példa létrehozza az adatbázist Sales. Mivel a RENDSZER nem használja az ELSŐDLEGES kulcsszót, az első fájl (Sales_dat) lesz az elsődleges fájl. Mivel a Sales_dat fájl SIZE paraméterében sem MB, sem KB nincs megadva, MB-ot használ, és megabájtban van lefoglalva. A Sales_log fájl megabájtban van lefoglalva, mert a MB utótag explicit módon szerepel a SIZE paraméterben.

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

C. Adatbázis létrehozása több adat- és tranzakciónapló-fájl megadásával

Az alábbi példa három Archive adatfájlt és két 100-MB tranzakciónapló-fájlt tartalmazó adatbázis-100-MB hoz létre. Az elsődleges fájl a lista első fájlja, és explicit módon van megadva a PRIMARY kulcsszóval. A tranzakciónapló-fájlok a LOG ON kulcsszavak alapján vannak megadva. Figyelje meg a fájlokhoz használt bővítményeket a FILENAME beállításban: .mdf elsődleges adatfájlokhoz, .ndf a másodlagos adatfájlokhoz, .ldf pedig tranzakciónapló-fájlokhoz. Ez a példa az adatbázist a D:-adatbázis helyett a master meghajtóra helyezi.

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
    (NAME = Arch1,
    FILENAME = 'D:\SalesData\archdat1.mdf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch2,
    FILENAME = 'D:\SalesData\archdat2.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch3,
    FILENAME = 'D:\SalesData\archdat3.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20)
LOG ON
  (NAME = Archlog1,
    FILENAME = 'D:\SalesData\archlog1.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
  (NAME = Archlog2,
    FILENAME = 'D:\SalesData\archlog2.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20) ;
GO

D. Fájlcsoportokat tartalmazó adatbázis létrehozása

Az alábbi példa a következő fájlcsoportokat tartalmazó adatbázis-Sales hozza létre:

  • Az elsődleges fájlcsoport a Spri1_dat és Spri2_datfájlokkal. Ezeknek a fájloknak a FILEGROWTH-növekményei 15%.
  • Egy SalesGroup1 nevű fájlcsoport, amely SGrp1Fi1 és SGrp1Fi2fájlokat tartalmaz.
  • Egy SalesGroup2 nevű fájlcsoport, amely SGrp2Fi1 és SGrp2Fi2fájlokat tartalmaz.

Ez a példa különböző lemezeken helyezi el az adatokat és a naplófájlokat a teljesítmény javítása érdekében.

USE master;
GO
CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
    FILENAME = 'D:\SalesData\SPri1dat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
( NAME = SPri2_dat,
    FILENAME = 'D:\SalesData\SPri2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
    FILENAME = 'D:\SalesData\SG1Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
    FILENAME = 'D:\SalesData\SG1Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
    FILENAME = 'D:\SalesData\SG2Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
    FILENAME = 'D:\SalesData\SG2Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'E:\SalesLog\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

E. Adatbázis csatolása

Az alábbi példa leválasztja a D példában létrehozott Archive adatbázist, majd a FOR ATTACH záradékkal csatolja. Archive több adat- és naplófájllal rendelkezik. Mivel azonban a fájlok helye a létrehozásuk óta nem változott, csak az elsődleges fájlt kell megadni a FOR ATTACH záradékban. Az SQL Server 2005 -től kezdve (9.x) a csatolt adatbázis részét képező teljes szöveges fájlok az adatbázishoz lesznek csatolva.

USE master;
GO
sp_detach_db Archive;
GO
CREATE DATABASE Archive
  ON (FILENAME = 'D:\SalesData\archdat1.mdf')
  FOR ATTACH ;
GO

F. Adatbázis-pillanatkép létrehozása

Az alábbi példa létrehozza az adatbázis pillanatképét sales_snapshot0600. Mivel egy adatbázis-pillanatkép írásvédett, nem adható meg naplófájl. A szintaxisnak megfelelően a forrásadatbázis minden fájlja meg van adva, és a fájlcsoportok nincsenek megadva.

A példa forrásadatbázisa a D példában létrehozott Sales adatbázis.

USE master;
GO
CREATE DATABASE sales_snapshot0600 ON
    ( NAME = SPri1_dat, FILENAME = 'D:\SalesData\SPri1dat_0600.ss'),
    ( NAME = SPri2_dat, FILENAME = 'D:\SalesData\SPri2dt_0600.ss'),
    ( NAME = SGrp1Fi1_dat, FILENAME = 'D:\SalesData\SG1Fi1dt_0600.ss'),
    ( NAME = SGrp1Fi2_dat, FILENAME = 'D:\SalesData\SG1Fi2dt_0600.ss'),
    ( NAME = SGrp2Fi1_dat, FILENAME = 'D:\SalesData\SG2Fi1dt_0600.ss'),
    ( NAME = SGrp2Fi2_dat, FILENAME = 'D:\SalesData\SG2Fi2dt_0600.ss')
AS SNAPSHOT OF Sales ;
GO

G. Adatbázis létrehozása és rendezési név és beállítások megadása

Az alábbi példa létrehozza az adatbázist MyOptionsTest. Meg van adva egy rendezési név, és a TRUSTYWORTHY és DB_CHAINING beállítások ON.

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE French_CI_AI
WITH TRUSTWORTHY ON, DB_CHAINING ON;
GO
--Verifying collation and option settings.
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

H. Áthelyezett teljes szöveges katalógus csatolása

Az alábbi példa csatolja a teljes szöveges katalógust AdvWksFtCat, valamint a AdventureWorks2022 adatokat és naplófájlokat. Ebben a példában a teljes szöveges katalógus átkerül az alapértelmezett helyről egy új helyre c:\myFTCatalogs. Az adatok és naplófájlok az alapértelmezett helyükön maradnak.

USE master;
GO
--Detach the AdventureWorks2022 database
sp_detach_db AdventureWorks2022;
GO
-- Physically move the full text catalog to the new location.
--Attach the AdventureWorks2022 database and specify the new location of the full-text catalog.
CREATE DATABASE AdventureWorks2022 ON
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_data.mdf'),
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_log.ldf'),
    (FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')
FOR ATTACH;
GO

Én. Egy sorfájlcsoportot és két FILESTREAM-fájlcsoportot meghatározó adatbázis létrehozása

Az alábbi példa létrehozza a FileStreamDB adatbázist. Az adatbázis egy sorfájlcsoporttal és két FILESTREAM-fájlcsoporttal jön létre. Minden fájlcsoport egy fájlt tartalmaz:

  • FileStreamDB_data soradatokat tartalmaz. Egy fájlt tartalmaz, FileStreamDB_data.mdf az alapértelmezett elérési úttal.
  • FileStreamPhotos FÁJLSTREAM-adatokat tartalmaz. Két FILESTREAM-adattárolót tartalmaz, FSPhotos, C:\MyFSfolder\Photos és FSPhotos2, D:\MyFSfolder\Photos. Ez az alapértelmezett FILESTREAM-fájlcsoportként van megjelölve.
  • FileStreamResumes FÁJLSTREAM-adatokat tartalmaz. Egy FILESTREAM-adattárolót tartalmaz, FSResumes, amely a C:\MyFSfolder\Resumestalálható.
USE master;
GO
-- Get the SQL Server data path.
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
      FROM master.sys.master_files
      WHERE database_id = 1 AND file_id = 1);

 -- Execute the CREATE DATABASE statement.
EXECUTE ('CREATE DATABASE FileStreamDB
ON PRIMARY
    (
    NAME = FileStreamDB_data
    ,FILENAME = ''' + @data_path + 'FileStreamDB_data.mdf''
    ,SIZE = 10MB
    ,MAXSIZE = 50MB
    ,FILEGROWTH = 15%
    ),
FILEGROUP FileStreamPhotos CONTAINS FILESTREAM DEFAULT
    (
    NAME = FSPhotos
    ,FILENAME = ''C:\MyFSfolder\Photos''
-- SIZE and FILEGROWTH should not be specified here.
-- If they are specified an error will be raised.
, MAXSIZE = 5000 MB
    ),
    (
      NAME = FSPhotos2
      , FILENAME = ''D:\MyFSfolder\Photos''
      , MAXSIZE = 10000 MB
     ),
FILEGROUP FileStreamResumes CONTAINS FILESTREAM
    (
    NAME = FileStreamResumes
    ,FILENAME = ''C:\MyFSfolder\Resumes''
    )
LOG ON
    (
    NAME = FileStream_log
    ,FILENAME = ''' + @data_path + 'FileStreamDB_log.ldf''
    ,SIZE = 5MB
    ,MAXSIZE = 25MB
    ,FILEGROWTH = 5MB
    )'
);
GO

J. Több fájlt tartalmazó FILESTREAM-fájlcsoportot tartalmazó adatbázis létrehozása

Az alábbi példa létrehozza a BlobStore1 adatbázist. Az adatbázis egy sorfájlcsoporttal és egy FILESTREAM fájlcsoporttal jön létre, FS. A FILESTREAM fájlcsoport két fájlt tartalmaz, FS1 és FS2. Ezután az adatbázist úgy módosítja, hogy hozzáad egy harmadik fájlt, FS3a FILESTREAM fájlcsoporthoz.

USE master;
GO

CREATE DATABASE [BlobStore1]
CONTAINMENT = NONE
ON PRIMARY
(
    NAME = N'BlobStore1',
    FILENAME = N'C:\BlobStore\BlobStore1.mdf',
    SIZE = 100MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 1MB
),
FILEGROUP [FS] CONTAINS FILESTREAM DEFAULT
(  
    NAME = N'FS1',
    FILENAME = N'C:\BlobStore\FS1',
    MAXSIZE = UNLIMITED
),
(
    NAME = N'FS2',
    FILENAME = N'C:\BlobStore\FS2',
    MAXSIZE = 100MB
)
LOG ON
(
    NAME = N'BlobStore1_log',
    FILENAME = N'C:\BlobStore\BlobStore1_log.ldf',
    SIZE = 100MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 1MB
);
GO

ALTER DATABASE [BlobStore1]
ADD FILE
(
    NAME = N'FS3',
    FILENAME = N'C:\BlobStore\FS3',
    MAXSIZE = 100MB
)
TO FILEGROUP [FS];
GO

* SQL Database *

felügyelt SQL-példány

 

SQL Database

Áttekintés

Az Azure SQL Database-ben ez az utasítás egy Azure SQL-kiszolgálóval használható egyetlen adatbázis vagy adatbázis rugalmas készletben való létrehozásához. Ezzel az utasítással megadhatja az adatbázis nevét, rendezési módját, maximális méretét, kiadását, szolgáltatási célját, és adott esetben az új adatbázis rugalmas készletét. Az adatbázis rugalmas készletben való létrehozásához is használható. Emellett egy másik SQL Database-kiszolgálón is létrehozhatja az adatbázis másolatát.

Szintaxis

Adatbázis létrehozása

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

CREATE DATABASE database_name [ COLLATE collation_name ]
{
  (<edition_options> [, ...n])
}
[ WITH <with_options> [,..n]]
[;]

<with_options> ::=
{
    CATALOG_COLLATION = { DATABASE_DEFAULT | SQL_Latin1_General_CP1_CI_AS }
  | BACKUP_STORAGE_REDUNDANCY = { 'LOCAL' | 'ZONE' | 'GEO' | 'GEOZONE' }
  | LEDGER = {ON | OFF }
}

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | ( EDITION = { 'Basic' | 'Standard' | 'Premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale' }
  | 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>) } })
}

Adatbázis másolása

CREATE DATABASE database_name
    AS COPY OF [source_server_name.] source_database_name
    [ ( SERVICE_OBJECTIVE =
      { 'Basic' |'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
      | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_Gen5_n'
      | 'GP_Fsv2_n'
      | 'GP_S_Gen5_n'
      | 'BC_Gen5_n'
      | 'BC_M_n'
      | 'HS_Gen5_n'
      | 'HS_S_Gen5_n'
      | 'HS_PRMS_n'
      | 'HS_MOPRMS_n'
      | { ELASTIC_POOL(name = <elastic_pool_name>) } })
   ]
   [ WITH ( BACKUP_STORAGE_REDUNDANCY = { 'LOCAL' | 'ZONE' | 'GEO' } ) ]
[;]

Érvek

database_name

Az új adatbázis neve. Ennek a névnek egyedinek kell lennie az SQL Serveren, és meg kell felelnie az azonosítókRA vonatkozó SQL Server-szabályoknak. További információ: Azonosítók.

Collation_name

Megadja az adatbázis adatainak alapértelmezett rendezést. Adja meg CATALOG_COLLATION a rendszer metaadatait, például az objektumazonosítókat.

A rendezés neve lehet Windows-rendezési név vagy SQL-rendezés neve. Ha nincs megadva, a rendszer az adatbázishoz rendeli hozzá az alapértelmezett rendezést, amely SQL_Latin1_General_CP1_CI_AS.

A Windows és az SQL-rendezés nevével kapcsolatos további információkért COLLATE (Transact-SQL).

CATALOG_COLLATION

A metaadatkatalógus alapértelmezett rendezési értékét adja meg. A CATALOG_COLLATION argumentum csak az adatbázis létrehozásakor érhető el, és a létrehozás után nem módosítható.

Alapértelmezés szerint a rendszerobjektumok nevének metaadatkatalógusa SQL_Latin1_General_CP1_CI_AS rendezésbe van rendezve. Ez az alapértelmezett beállítás az Azure SQL Database-ben, ha a CATALOG_COLLATION nincs meghatározva.

DATABASE_DEFAULT megadja, hogy a rendszernézetekhez és rendszertáblákhoz használt metaadatkatalógus az adatbázis rendezési rendszerének megfelelően legyen rendezve. Ha azt szeretné, hogy a rendszer metaadataiban szereplő objektumazonosítók ugyanazt az rendezést kövessék, mint az adatok, akkor létre kell hoznia az adatbázist WITH CATALOG_COLLATION = DATABASE_DEFAULT.

  • Előfordulhat, hogy az adatok és az objektumazonosítók különböző rendezési módokra van szüksége. Az alábbi példa a soradatok kis- és nagybetűk megkülönböztetésével hozza létre az adatbázist, de az objektumazonosítók esetében az alapértelmezett SQL_Latin1_General_CP1_CI_AS kis- és nagybetűk megkülönböztetése lesz.

    CREATE DATABASE [different-collations] COLLATE SQL_Latin1_General_CP1_CS_AS
    
  • Ha azt szeretné, hogy az adatok és a rendszer metaadatai is ugyanazt a rendezést használják, adja meg a WITH CATALOG_COLLATION = DATABASE_DEFAULT. Az alábbi példa egy kis- és nagybetűket megkülönböztető rendezéssel hozza létre az adatbázist, amelyet az objektumazonosítókhoz használunk.

    CREATE DATABASE [same-collations] COLLATE SQL_Latin1_General_CP1_CS_AS
    WITH CATALOG_COLLATION = DATABASE_DEFAULT
    

BACKUP_STORAGE_REDUNDANCY = {'LOCAL' | "ZONE" | 'GEO'}

Megadja, hogyan replikálódnak az adatbázisok időponthoz kötött visszaállítási és hosszú távú megőrzési biztonsági másolatai. A georedundáns visszaállítás vagy a regionális kimaradásból való helyreállítás csak akkor érhető el, ha az adatbázis GEO biztonsági mentési tár redundanciájával jön létre. Ha nincs explicit módon megadva, a T-SQL-lel létrehozott adatbázisok georedundáns biztonsági mentési tárolót használnak.

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.

Ha egy adatbázist egy másik adatbázis másolataként hoz létre AS COPY OF, a beállítások megadása támogatott, és zárójelbe kell burkolni. Például WITH (BACKUP_STORAGE_REDUNDANCY = 'LOCAL');.

LEDGER = {ON | KI }

Ha ONértékre van állítva, létrehoz egy főkönyv-adatbázist, amelyben az összes felhasználói adat integritása védett. A főkönyv-adatbázisban csak a főkönyvtáblák hozhatók létre. Az alapértelmezett érték a OFF. A LEDGER beállítás értéke nem módosítható az adatbázis létrehozása után. További információ: Főkönyvi adatbázis konfigurálása.

MAXSIZE

Az adatbázis maximális méretét adja meg. A MAXSIZE-nek érvényesnek kell lennie a megadott EDITION (szolgáltatási szint) esetében.

Az alábbiakban a szolgáltatásszintek támogatott MAXSIZE értékeit és alapértelmezett értékeit (D) követjük.

Jegyzet

A MAXSIZE argumentum nem vonatkozik a rugalmas skálázású szolgáltatási szint egyetlen adatbázisára. Az egyszintű rugalmas skálázású 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.

egy- és készletezett adatbázisok DTU-modellje SQL Database-kiszolgálón

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

* A P11 és a P15 max. 4 TB-os MAXSIZE használatát teszi lehetővé, alapértelmezett mérete 1024 GB. 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 információké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álismag-modell erőforráskorlátairól további információt virtuálismag-erőforráskorlátokról.

KIADÁS

Megadja az adatbázis szolgáltatási szintjét.

Önálló és készletezett adatbázisok. A rendelkezésre álló értékek a következők: "Basic", "Standard", "Premium", "GeneralPurpose", "BusinessCritical" és "Rugalmas skálázás".

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

  • Ha az EDITION van megadva, de a MAXSIZE nincs megadva, a kiadás alapértelmezett értékét használja a rendszer. Ha 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 értéke GeneralPurpose, a MAXSIZE értéke pedig 32 GB.

SERVICE_OBJECTIVE

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

  • DTU-vásárlási modell esetén: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15
  • A legújabb virtuális mag vásárlási modellhez 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ó adatbázisok vagy rugalmas készletek erőforráskorlátait.
    • 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.

A szolgáltatás célkitűzésének leírását és a méretekkel, kiadásokkal és a szolgáltatáscélok kombinációival kapcsolatos további információkat az Azure SQL Database szolgáltatásszintjeinek című cikkben talál. Ha az EDITION nem támogatja a megadott SERVICE_OBJECTIVE, hibaüzenet jelenik meg. Ha az SERVICE_OBJECTIVE értékét egyik rétegről a másikra szeretné módosítani (például S1-ről P1-re), akkor az EDITION értéket is módosítania kell. A PRS szolgáltatás célkitűzéseinek támogatása el lett távolítva.

ELASTIC_POOL (név = <elastic_pool_name>)

Csak az önálló és a készletezett adatbázisokra vonatkozik:. Nem vonatkozik a rugalmas skálázási szolgáltatási szinten lévő adatbázisokra. Ha új adatbázist szeretne létrehozni egy rugalmas adatbáziskészletben, állítsa be az adatbázis SERVICE_OBJECTIVE ELASTIC_POOL, és adja meg a készlet nevét. További információ: Rugalmas SQL Database-készlet létrehozása és kezelése.

[source_server_name.] MÁSOLATAKÉNTsource_database_name

Csak az önálló és a készletezett adatbázisokra vonatkozik:.

Az AS COPY OF használatával egy adatbázist másolhat ugyanarra vagy egy másik SQL Database-kiszolgálóra.

Ha egy adatbázist egy másik adatbázis másolataként hoz létre AS COPY OF, a beállítások megadása támogatott, és zárójelbe kell burkolni. Például WITH (BACKUP_STORAGE_REDUNDANCY = 'LOCAL');.

source_server_name Annak az SQL Database-kiszolgálónak a neve, ahol a forrásadatbázis található. Ez a paraméter nem kötelező, ha a forrásadatbázis és a céladatbázis ugyanazon az SQL Database-kiszolgálón található.

Jegyzet

A AS COPY OF argumentum nem támogatja a teljes tartományneveket. Más szóval, ha a kiszolgáló teljes tartományneve serverName.database.windows.net, csak serverName használjon az adatbázis másolása során.

source_database_name

A másolandó adatbázis neve.

Megjegyzések

Az Azure SQL Database-adatbázisok számos alapértelmezett beállítással rendelkeznek, amelyek az adatbázis létrehozásakor vannak beállítva. Az alapértelmezett beállításokkal kapcsolatos további információkért tekintse meg az DATABASEPROPERTYEXértékeinek listáját.

MAXSIZE lehetővé teszi az adatbázis méretének korlátozását. Ha az adatbázis mérete eléri a MAXSIZE, a 40544-es hibakód jelenik meg. Ilyen esetben nem szúrhat be vagy frissíthet adatokat, és nem hozhat létre új objektumokat (például táblákat, tárolt eljárásokat, nézeteket és függvényeket). Azonban továbbra is olvashat és törölhet adatokat, csonkíthatja a táblákat, elvetheti a táblákat és indexeket, és újraépítheti az indexeket. Ezután frissítheti a MAXSIZE az aktuális adatbázisméretnél nagyobb értékre, vagy törölhet néhány adatot a tárterület felszabadításához. Az új adatok beszúrása akár tizenöt perces késéssel is járhat.

A méret, a kiadás vagy a szolgáltatás objektív értékeinek későbbi módosításához használja ALTER DATABASE (Azure SQL Database).

Adatbázis-másolatok

Csak az önálló és a készletezett adatbázisokra vonatkozik:.

Az adatbázis CREATE DATABASE utasítással történő másolása aszinkron művelet. Ezért nincs szükség az SQL Database-kiszolgálóval való kapcsolatra a másolási folyamat teljes időtartama alatt. A CREATE DATABASE utasítás a sys.databases bejegyzés létrehozása után, de az adatbázis másolási művelete előtt adja vissza a felhasználónak a vezérlést. Más szóval a CREATE DATABASE utasítás sikeresen visszaadja, ha az adatbázis másolása még folyamatban van.

  • A másolási folyamat figyelése SQL Database-kiszolgálón: A percentage_completereplication_state_desc vagy oszlopainak lekérdezése, illetve a state nézet oszlopának lekérdezése. A sys.dm_operation_status nézet használható, valamint visszaadja az adatbázis-műveletek állapotát, beleértve az adatbázis-másolást is.

A másolási folyamat sikeres befejezésekor a céladatbázis tranzakciós szempontból konzisztens a forrásadatbázissal.

A AS COPY OF argumentum használatára az alábbi szintaxis és szemantikai szabályok vonatkoznak:

  • Előfordulhat, hogy a forráskiszolgáló neve és a másolási cél kiszolgálóneve azonos vagy eltérő. Ha megegyeznek, ez a paraméter nem kötelező, és alapértelmezés szerint az aktuális munkamenet kiszolgálókörnyezetét használja a rendszer.
  • A forrás- és céladatbázis nevét meg kell adni, egyedinek kell lennie, és meg kell felelnie az azonosítók SQL Server-szabályainak. További információ: Azonosítók.
  • A CREATE DATABASE utasítást azon SQL Database-kiszolgáló master adatbázisának környezetében kell végrehajtani, ahol az új adatbázis létrejön.
  • A másolás befejezése után a céladatbázist független adatbázisként kell kezelni. A ALTER DATABASE és DROP DATABASE utasításokat a forrásadatbázistól függetlenül hajthatja végre az új adatbázison. Az új adatbázist másik új adatbázisba is másolhatja.
  • Előfordulhat, hogy a forrásadatbázis továbbra is elérhető lesz, amíg az adatbázis másolása folyamatban van.

További információ: Azure SQL-adatbázis másolatának létrehozása Transact-SQLhasználatával.

Fontos

Alapértelmezés szerint az adatbázis-másolat a forrásadatbáziséval megegyező biztonsági mentési tárredundanciával jön létre.

Engedélyek

Adatbázis létrehozásához a bejelentkezésnek a következő tagok egyikének kell lennie:

CREATE DATABASE ... AS COPY OF szintaxis használatának további követelményei: A helyi kiszolgálón az utasítást végrehajtó bejelentkezésnek is legalább a forráskiszolgáló db_owner kell lennie. Ha a bejelentkezés SQL Server-hitelesítésen alapul, a helyi kiszolgálón az utasítást végrehajtó bejelentkezésnek egyező bejelentkezéssel kell rendelkeznie a forrás SQL Database-kiszolgálón, azonos névvel és jelszóval.

Példák

Egyszerű példa

Egy egyszerű példa egy adatbázis létrehozására.

CREATE DATABASE TestDB1;

Egyszerű példa kiadással

Egy egyszerű példa egy általános célú adatbázis létrehozására.

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

Példa további beállításokkal

Több lehetőséget használó példa.

CREATE DATABASE hito
COLLATE Japanese_Bushu_Kakusu_100_CS_AS_KS_WS
( MAXSIZE = 500 MB, EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_Gen5_8' ) ;

Adatbázis-másolat létrehozása

Példa egy adatbázis másolatának létrehozására.

Csak az önálló és a készletezett adatbázisokra vonatkozik:.

CREATE DATABASE escuela
AS COPY OF school;

Adatbázis létrehozása rugalmas készletben

Új adatbázist hoz létre az S3M100 nevű készletben:

Csak az önálló és a készletezett adatbázisokra vonatkozik:.

CREATE DATABASE db1 ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = S3M100 ) ) ;

Adatbázis másolatának létrehozása egy másik logikai kiszolgálón

Az alábbi példa egy db_original nevű db_copy-adatbázis másolatát hozza létre egyetlen adatbázis általános célú szolgáltatási célkitűzésében. Ez attól függetlenül igaz, hogy a db_original rugalmas készletben vagy számítási méretben (szolgáltatási célkitűzés) található-e egyetlen adatbázishoz.

Csak az önálló és a készletezett adatbázisokra vonatkozik:.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original ( EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_Gen5_8' );

Az alábbi példa egy db_original adatbázis egy db_copy nevű példányát hozza létre egy ep1nevű rugalmas készletben. Ez attól függetlenül igaz, hogy a db_original rugalmas készletben vagy számítási méretben (szolgáltatási célkitűzés) található-e egyetlen adatbázishoz. Ha db_original egy másik nevű rugalmas készletben van, akkor db_copy továbbra is létrejön ep1.

Csak az önálló és a készletezett adatbázisokra vonatkozik:.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original
  (SERVICE_OBJECTIVE = ELASTIC_POOL( name = ep1 ) ) ;

Adatbázis létrehozása a katalógus megadott rendezési értékével

Az alábbi példa DATABASE_DEFAULT állítja be a katalógus rendezését az adatbázis létrehozása során, amely a katalógus rendezést az adatbázis-rendezéssel megegyezőre állítja.

CREATE DATABASE TestDB3 COLLATE Japanese_XJIS_140 (MAXSIZE = 100 MB, EDITION = 'Basic')
  WITH CATALOG_COLLATION = DATABASE_DEFAULT;

Adatbázis létrehozása zónaredundanciával biztonsági mentésekhez

Az alábbi példa zónaredundanciát állít be az adatbázis-biztonsági mentésekhez. Az időponthoz kötött visszaállítási biztonsági mentések és a hosszú távú megőrzési biztonsági mentések (ha konfigurálva van) ugyanazt a biztonsági mentési tár redundanciát használják.

CREATE DATABASE test_zone_redundancy 
  WITH BACKUP_STORAGE_REDUNDANCY = 'ZONE';

Főkönyv-adatbázis létrehozása

CREATE DATABASE MyLedgerDB ( EDITION = 'GeneralPurpose' ) WITH LEDGER = ON;

Adatbázis másolása a beállítások módosítása közben

Az alábbi példa különböző beállításokat állít be az adatbázis új példányához, beleértve egy másik szolgáltatási szintet és a biztonsági mentési tár redundanciabeállításait. Alapértelmezés szerint az adatbázis-másolat ugyanazokkal a beállításokkal jön létre, mint a forrásadatbázis.

CREATE DATABASE copy_testdb
AS COPY OF [test_db]
  (EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_Gen5_8')
  WITH (BACKUP_STORAGE_REDUNDANCY = 'LOCAL');

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

 

Felügyelt Azure SQL-példány

Áttekintés

A felügyelt Azure SQL-példányban ez az utasítás egy adatbázis létrehozásához használható. Ha felügyelt példányon hoz létre adatbázist, meg kell adnia az adatbázis nevét és rendezési módját.

Szintaxis

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

CREATE DATABASE database_name [ COLLATE collation_name ]
[ WITH <with_options> [,..n]]
[;]

<with_options> ::=
{
  LEDGER = { ON | OFF }
}

Fontos

Ha egy felügyelt példányban lévő adatbázis fájljait vagy elszigetelését szeretné beállítani, használja az ALTER DATABASE utasítást.

Felügyelt SQL-példányok esetén a kezdeti MAXSIZE implicit módon az aktuális lemezméretre van állítva, és nem változik automatikusan, amikor kiterjeszti a lemezméretet az Azure Portalról. A lemez kiterjesztése után a MAXSIZE-t is ki kell terjesztenie ALTER DATABASE az adatbázisfájl teljes hibáinak elkerülése érdekében.

Érvek

database_name

Az új adatbázis neve. Ennek a névnek egyedinek kell lennie az SQL Serveren, és meg kell felelnie az azonosítókRA vonatkozó SQL Server-szabályoknak. További információ: Azonosítók.

Collation_name

Az adatbázis alapértelmezett rendezési értékét adja meg. A rendezés neve lehet Windows-rendezési név vagy SQL-rendezés neve. Ha nincs megadva, a rendszer az adatbázishoz rendeli hozzá az alapértelmezett rendezést, amely SQL_Latin1_General_CP1_CI_AS.

A Windows és az SQL-rendezés nevével kapcsolatos további információkért COLLATE (Transact-SQL).

LEDGER = {ON | OFF }

Ha ONértékre van állítva, létrehoz egy főkönyv-adatbázist, amelyben az összes felhasználói adat integritása védett. A főkönyv-adatbázisban csak a főkönyvtáblák hozhatók létre. Az alapértelmezett érték a OFF. A LEDGER beállítás értéke nem módosítható az adatbázis létrehozása után. További információ: Főkönyvi adatbázis konfigurálása.

Megjegyzések

Az Azure SQL Database-adatbázisok számos alapértelmezett beállítással rendelkeznek, amelyek az adatbázis létrehozásakor vannak beállítva. Az alapértelmezett beállításokkal kapcsolatos további információkért tekintse meg az DATABASEPROPERTYEXértékeinek listáját.

Fontos

A CREATE DATABASE utasításnak kell lennie az egyetlen utasításnak egy Transact-SQL kötegben.

A következők CREATE DATABASE korlátozások:

  • Fájlokat és fájlcsoportokat nem lehet definiálni.

  • WITHbeállítások nem támogatottak, kivéve WITH LEDGER.

    Borravaló

    Kerülő megoldásként használja ALTER DATABASE. CREATE DATABASE után adja meg az adatbázis beállításait és adja hozzá a fájlokat.

Engedélyek

Adatbázis létrehozásához a bejelentkezésnek az alábbiak egyikének kell lennie:

Példák

Egyszerű példa

Egy egyszerű példa egy adatbázis létrehozására.

CREATE DATABASE TestDB1;

Főkönyv-adatbázis létrehozása

CREATE DATABASE MyLedgerDB WITH LEDGER = ON;

felügyelt SQL-példány

* Azure Synapse
Elemzés *

 

Azure Synapse Analytics

Áttekintés

Az Azure Synapse-ban ez az utasítás egy Azure SQL Database-kiszolgálóval használható dedikált SQL-készlet létrehozásához. Ezzel az utasítással megadhatja az adatbázis nevét, rendezési módját, maximális méretét, kiadását és szolgáltatáscélját.

  • A CREATE DATABASE a Gen2 szolgáltatásszinteket használó különálló dedikált SQL-készletek (korábbi nevén SQL DW) esetében támogatott.
  • A CREATE DATABASE nem támogatott dedikált SQL-készletekhez egy Azure Synapse Analytics-munkaterületen. Ehelyett az Azure Portal.
  • A CREATE DATABASE az Azure Synapse Analytics kiszolgáló nélküli SQL-készleteihez támogatott.

Szintaxis

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

CREATE DATABASE database_name [ COLLATE collation_name ]
(
    [ MAXSIZE = {
          250 | 500 | 750 | 1024 | 5120 | 10240 | 20480 | 30720
        | 40960 | 51200 | 61440 | 71680 | 81920 | 92160 | 102400
        | 153600 | 204800 | 245760
      } GB ,
    ]
    EDITION = 'datawarehouse',
    SERVICE_OBJECTIVE = {
          'DW100c' | 'DW200c' | 'DW300c' | 'DW400c' | 'DW500c'
        | 'DW1000c' | 'DW1500c' | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c'
        | 'DW6000c' | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
    }
)
[;]

Érvek

database_name

Az új adatbázis neve. Ennek a névnek egyedinek kell lennie az SQL Serveren, amely mindkét adatbázist üzemeltetheti az Azure SQL Database-ben és az Azure Synapse Analytics-adatbázisokban, és meg kell felelnie az azonosítókRA vonatkozó SQL Server-szabályoknak. További információ: Azonosítók.

collation_name

Az adatbázis alapértelmezett rendezési értékét adja meg. A rendezés neve lehet Windows-rendezési név vagy SQL-rendezés neve. Ha nincs megadva, a rendszer az adatbázishoz rendeli hozzá az alapértelmezett rendezést, amely SQL_Latin1_General_CP1_CI_AS.

A Windows- és SQL-rendezési nevekről további információt a COLLATE (Transact-SQL)című témakörben talál.

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 egy fürtözött oszlopcentrikus indexen lévő nemclustered indexben tárolt adatok nem növekedhetnek a MAXSIZE értéken túl. Az oszlopcentrikus formátumba tömörített adatok nem rendelkeznek méretkorláttal, és a MAXSIZE nem korlátozza őket.

EDITION

Megadja az adatbázis szolgáltatási szintjét. Az Azure Synapse Analyticshez használja a datawarehouse.

SERVICE_OBJECTIVE

Megadja a számítási méretet (szolgáltatási célkitűzés). A Gen2 szolgáltatási szintjei számítási adattárház egységekben (cDWU) vannak mérve, például DW2000c. A Gen1 szolgáltatásszinteket dWU-kban mérik, például DW2000. Az Azure Synapse szolgáltatáscéljaival kapcsolatos további információkért lásd adattárházegységek (DWU-k). A Gen1 szolgáltatás célkitűzései (már nem szerepelnek a listában) már nem támogatottak, hibaüzenet jelenhet meg: Azure SQL Data Warehouse Gen1 has been deprecated in this region. Please use SQL Analytics in Azure Synapse.

Megjegyzések

Az adatbázis tulajdonságainak megtekintéséhez használja DATABASEPROPERTYEX.

Az ALTER DATABASE – Azure Synapse Analytics használatával később módosíthatja a maximális méretet vagy a szolgáltatás objektív értékeit.

Az Azure Synapse 130-COMPATIBILITY_LEVEL van beállítva, és nem módosítható. További információ: Továbbfejlesztett lekérdezési teljesítmény az Azure SQL Database130-es kompatibilitási szinttel.

Engedélyek

Szükséges engedélyek:

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

Hibakezelés

Ha az adatbázis mérete eléri a MAXSIZE-t, a 40544-es hibakód jelenik meg. Ilyen esetben nem szúrhat be és frissíthet adatokat, és nem hozhat létre új objektumokat (például táblákat, tárolt eljárásokat, nézeteket és függvényeket). Továbbra is olvashat és törölhet adatokat, csonkíthatja a táblákat, elvetheti a táblákat és indexeket, és újraépítheti az indexeket. Ezután frissítheti a MAXSIZE-t az aktuális adatbázisméretnél nagyobb értékre, vagy törölhet néhány adatot a tárterület felszabadításához. Az új adatok beszúrása akár tizenöt perces késéssel is járhat.

Korlátozások

Új adatbázis létrehozásához csatlakoznia kell a master adatbázishoz.

A CREATE DATABASE utasításnak kell lennie az egyetlen utasításnak egy Transact-SQL kötegben.

Az adatbázis rendezése az adatbázis létrehozása után nem módosítható.

Példák: Azure Synapse Analytics

Egy. Egyszerű példa

Egy egyszerű példa különálló dedikált SQL-készlet (korábbi nevén SQL DW) létrehozására. Ez létrehozza az adatbázist a legkisebb maximális mérettel (10 240 GB), az alapértelmezett rendezéssel (SQL_Latin1_General_CP1_CI_AS) és a legkisebb Gen2 szolgáltatás célkitűzéssel (DW100c).

CREATE DATABASE TestDW
(EDITION = 'datawarehouse', SERVICE_OBJECTIVE='DW100c');

B. Adattárház-adatbázis létrehozása az összes lehetőséggel

Példa egy 10 terabájtos különálló dedikált SQL-készlet (korábbi nevén SQL DW) létrehozására.

CREATE DATABASE TestDW COLLATE Latin1_General_100_CI_AS_KS_WS
(MAXSIZE = 10240 GB, EDITION = 'datawarehouse', SERVICE_OBJECTIVE = 'DW1000c');

C. Egyszerű példa a Synapse Analytics kiszolgáló nélküli SQL-készletében

Ez létrehozza az adatbázist a kiszolgáló nélküli készletben, és megad egy rendezést (Latin1_General_100_CI_AS_KS_WS).

CREATE DATABASE TestDW COLLATE Latin1_General_100_CI_AS_KS_WS

felügyelt SQL-példány

* Elemzési platform
System (PDW) *

 

Elemzési platformrendszer

Áttekintés

Az Analytics Platform Systemben ez az utasítás egy új adatbázis létrehozására szolgál egy Analytics Platform System-berendezésen. Ezzel az utasítással létrehozhatja a berendezés-adatbázishoz társított összes fájlt, és beállíthatja az adatbázistáblák és a tranzakciónapló maximális méretét és automatikus növekedési lehetőségeit.

Szintaxis

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

CREATE DATABASE database_name
WITH (
    [ AUTOGROW = ON | OFF , ]
    REPLICATED_SIZE = replicated_size [ GB ] ,
    DISTRIBUTED_SIZE = distributed_size [ GB ] ,
    LOG_SIZE = log_size [ GB ] )
[;]

Érvek

database_name

Az új adatbázis neve. Az engedélyezett adatbázisnevekről további információt az Analytics Platform System (PDW) termékdokumentációjábanaz "Objektumelnevezési szabályok" és a "Fenntartott adatbázisnevek" című témakörben talál.

AUTOGROW = BE | KI

Megadja, hogy az adatbázis replicated_size, distributed_sizeés log_size paramétere szükség szerint automatikusan növekedni fog-e a megadott méreten túl. Az alapértelmezett érték KI.

Ha az AUTOGROW be van kapcsolva, a replicated_size, a distributed_sizeés a log_size igény szerint növekedni fog (nem a kezdeti méret blokkjában), minden adatbeszúrással, frissítéssel vagy más művelettel, amely a lefoglaltnál több tárterületet igényel.

Ha az AUTOGROW ki van kapcsolva, a méretek nem fognak automatikusan növekedni. Az Analytics Platform System (PDW) hibát ad vissza, ha olyan műveletet kísérel meg, amely megköveteli, hogy replicated_size, distributed_sizevagy log_size növekedjen a megadott értéken.

Az AUTOGROW be van kapcsolva minden mérethez, vagy ki van kapcsolva minden mérethez. Az AUTOGROW BE beállítása például nem lehetséges log_sizeesetén, de nem állítható be replicated_size.

replicated_size [ GB ]

Pozitív szám. Beállítja a replikált táblákhoz lefoglalt teljes terület méretét (egész számban vagy decimális gigabájtban), valamint az egyes számítási csomópontokon kapcsolódó adatokat. A minimális és maximális replicated_size követelményekről a Analytics Platform System (PDW) termékdokumentációjábana "Minimum és maximális értékek" című témakörben olvashat.

Ha az AUTOGROW be van kapcsolva, a replikált táblák száma túllépi ezt a korlátot.

Ha az AUTOGROW ki van kapcsolva, a rendszer hibát ad vissza, ha egy felhasználó új replikált táblát próbál létrehozni, adatokat szúr be egy meglévő replikált táblába, vagy egy meglévő replikált táblát úgy frissít, hogy az a replicated_sizemeghaladó méretre növelné a méretet.

distributed_size [ GB ]

Pozitív szám. Az elosztott tábláknak (és a kapcsolódó adatoknak) lefoglalt teljes terület mérete egész számban vagy tizedesjegyben a berendezés. A minimális és maximális distributed_size követelményekről a Analytics Platform System (PDW) termékdokumentációjábana "Minimum és maximális értékek" című témakörben olvashat.

Ha az AUTOGROW be van kapcsolva, az elosztott táblák száma túllépheti ezt a korlátot.

Ha az AUTOGROW ki van kapcsolva, a rendszer hibát ad vissza, ha egy felhasználó új elosztott táblát próbál létrehozni, adatokat szúr be egy meglévő elosztott táblába, vagy egy meglévő elosztott táblát úgy frissít, hogy az distributed_sizemeghaladja a méretet.

log_size [ GB ]

Pozitív szám. A tranzakciónapló mérete (egész számban vagy decimális gigabájtban) a berendezés.

A minimális és maximális log_size követelményekről a Analytics Platform System (PDW) termékdokumentációjában"Minimális és maximális értékek" című témakörben olvashat.

Ha az AUTOGROW be van kapcsolva, a naplófájl mérete meghaladhatja ezt a korlátot. A DBCC SHRINKLOG (Azure Synapse Analytics) utasítással csökkentheti a naplófájlok eredeti méretét.

Ha az AUTOGROW ki van kapcsolva, a rendszer hibát ad vissza a felhasználónak minden olyan műveletnél, amely növeli az egyes számítási csomópontok naplóméretét log_size.

Engedélyek

A CREATE ANY DATABASE adatbázis master engedélyére vagy a sysadmin rögzített kiszolgálói szerepkör tagságára van szükség.

Az alábbi példa engedélyt ad arra, hogy adatbázist hozzon létre Fay adatbázis-felhasználónak.

USE master;
GO
GRANT CREATE ANY DATABASE TO [Fay];
GO

Megjegyzések

Az adatbázisok a 120-es adatbázis-kompatibilitási szinttel jönnek létre, amely az SQL Server 2014 (12.x) kompatibilitási szintje. Ez biztosítja, hogy az adatbázis használni tudja az SQL Server 2014 (12.x) összes funkcióját, amelyet a PDW használ.

Korlátozások és korlátozások

A CREATE DATABASE utasítás explicit tranzakcióban nem engedélyezett. További információ: Utasítások.

Az adatbázisok minimális és maximális korlátozásáról a Analytics Platform System (PDW) termékdokumentációjában"Minimális és maximális értékek" című témakörben talál információt.

Az adatbázis létrehozásakor elegendő szabad helynek kell lennie az egyes számítási csomópontokon az alábbi méretek összesített összegének lefoglalásához:

  • SQL Server-adatbázis replicated_table_sizeméretű táblákkal.
  • SQL Server-adatbázis a (distributed_table_size/számítási csomópontok száma) méretű táblákkal.
  • Az SQL Server naplózza a számítási csomópontok méretét (log_size/ számát).

Zár

Megosztott zárolást hoz létre a DATABASE objektumon.

Metaadatok

A művelet sikeres végrehajtása után az adatbázis bejegyzése megjelenik a sys.databases és sys.objects metaadat-nézetekben.

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

Egy. Egyszerű adatbázis-létrehozási példák

Az alábbi példa létrehoz egy adatbázis-mytest, amely számítási csomópontonként 100 GB tárterületet biztosít replikált táblákhoz, berendezésenként 500 GB elosztott táblákhoz, és 100 GB-ot a tranzakciónaplóhoz. Ebben a példában az AUTOGROW alapértelmezés szerint ki van kapcsolva.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB );

Az alábbi példa létrehozza az adatbázist mytest a fenti paraméterekkel, azzal a különbséggel, hogy az AUTOGROW be van kapcsolva. Ez lehetővé teszi, hogy az adatbázis a megadott méretparamétereken kívül növekedjen.

CREATE DATABASE mytest
  WITH
    (AUTOGROW = ON,
    REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB);

B. Adatbázis létrehozása részleges gigabájtméretekkel

Az alábbi példa létrehozza az adatbázist mytestaz AUTOGROW kikapcsolásával, amely számítási csomópontonként 1,5 GB tárterületet biztosít replikált táblákhoz, 5,25 GB-ot az elosztott táblákhoz, és 10 GB-ot berendezésenként a tranzakciónaplóhoz.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 1.5 GB,
    DISTRIBUTED_SIZE = 5.25 GB,
    LOG_SIZE = 10 GB);