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


ADATBÁZIS LÉTREHOZÁSA

Új adatbázist hoz létre.

Válassza az alábbi fülek 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

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_name tag 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 nincs megadva adatfájlnév, az SQL Server database_namelogical_file_name ésos_file_name is használ. 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.
  • PARTIAL = 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. ON akkor szükséges, ha az elsődleges fájlcsoport adatfájljait meghatározó elemek vesszővel tagolt listája <filespec> következik. Az elsődleges fájlcsoportban lévő fájlok listáját a felhasználói fájlcsoportokat és fájljaikat meghatározó elemek opcionális, vesszővel tagolt listája <filegroup> követheti.

ELSŐDLEGES

Megadja, hogy a társított <filespec> lista határozza meg az elsődleges fájlt. Az elsődleges fájlcsoport bejegyzésében megadott <filespec> 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 PRIMARY nincs megadva, az utasításban CREATE DATABASE szereplő 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. LOG ON a naplófájlokat meghatározó elemek vesszővel tagolt listája <filespec> követi. Ha 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 adatok és naplófájlok alapértelmezett helyének megtekintése vagy módosítása című témakörben talál.

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. Az adatbázis-pillanatképeken nem adható meg rendezési név.

A rendezés neve nem adható meg a FOR ATTACH záradékokkal együtt FOR ATTACH_REBUILD_LOG . A csatolt adatbázisok rendezésének módosításáról az adatbázis-rendezés beállítása vagy módosítása című témakörben olvashat bővebben.

A Windows és az SQL-rendezés nevével kapcsolatos további információkért lásd a COLLATE cí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 opció <>

<filestream_option>

  • NON_TRANSACTED_ACCESS = { KI | READ_ONLY | FULL }

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

    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.

    A következő beállítások csak akkor engedélyezettek, ha CONTAINMENT be van állítva.PARTIAL Ha CONTAINMENT be van állítva 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 lásd : Kiszolgálókonfiguráció: alapértelmezett teljes szöveges nyelv .

DEFAULT_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 lásd : Kiszolgálókonfiguráció: alapértelmezett nyelv .

NESTED_TRIGGERS = { KI | ON }

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

A beállítás teljes leírását lásd : Kiszolgálókonfiguráció: beágyazott eseményindítók .

TRANSFORM_NOISE_WORDS = { KI | ON }

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

A beállítás teljes leírását lásd : Kiszolgálókonfiguráció: zajszavak átalakítása .

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. A beállítás teljes leírását lásd : Kiszolgálókonfiguráció: kétjegyű évkizártság .

DB_CHAINING { KI | ON }

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

Amikor OFFaz adatbázis nem tud részt venni az adatbázis-tulajdonjogok közötti láncolásban. Az alapértelmezett érték a OFF.

Fontos

Az SQL Server példánya akkor ismeri fel ezt a beállítást, ha az adatbázis tulajdonjogának láncoló kiszolgálója 0 (OFF). Ha az adatbázisközi tulajdonjog-láncolás 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.

MEGBÍZHATÓ { KI | BE }

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

Amikor OFFegy megszemélyesítési környezetben lévő adatbázismodulok nem férnek hozzá az adatbázison kívüli erőforrásokhoz. Az alapértelmezett érték a OFF.

TRUSTWORTHY beállítás az OFF adatbázis csatolásakor van beállítva.

Alapértelmezés szerint az adatbázis kivételével az msdb összes rendszeradatbázis a következőre TRUSTWORTHYvan OFF állítva: . Az érték nem módosítható az és az modeltempdb adatbázisok esetében. Javasoljuk, hogy soha ne állítsa be az TRUSTWORTHY adatbázis beállítását ONmaster .

PERSISTENT_LOG_BUFFER = BE ( DIRECTORY_NAME = "directory_name" )

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

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 beállítás értéke LEDGER 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 . Kell lennie egy <filespec> bejegyzésnek, amely meghatározza az elsődleges fájlt. Csak <filespec> azokhoz a fájlokhoz kell bejegyzéseket bevinni, amelyek elérési útja eltér az adatbázis első létrehozásának vagy utolsó csatolásának időpontjától. Ezekhez a fájlokhoz meg kell adni egy <filespec> bejegyzést.

FOR ATTACH Megköveteli:

  • 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 FOR ATTACH záradékban lévő fájlokat.

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 vannak 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ó: Példák.

A "Könyvtárnév" FILESTREAM beállítást tartalmazó adatbázis csatolása arra kéri az SQL Servert, hogy ellenőrizze, hogy a Database_Directory név egyedi-e. Ha nem, a ATTACH művelet a következő 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.

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

FOR ATTACH megadhatja a RESTRICTED_USER beállítást. RESTRICTED_USER Csak a db_owner rögzített adatbázis-szerepkör és a dbcreator és a sysadmin rögzített kiszolgálói szerepkörök tagjai csatlakozhatnak 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 Broker, használja a WITH <service_broker_option> záradékban a következőtFOR ATTACH:

Szabályozza a Service Broker üzenetkézbesítését és az adatbázis Service Broker-azonosítóit. Service Broker opciók csak a FOR ATTACH záradék használata esetén 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. A vardecimális tárolási formátumról további információt az Adattömörítés című témakörben talál.

Amikor egy adatbázist először csatolnak vagy visszaállítanak az SQL Server új példányára, az adatbázis főkulcsának (a szolgáltatás főkulcsa által titkosított) másolatát még nem tárolja a rendszer a kiszolgálón. 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ázisok 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ással cí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 adatbázisok csatolásakor a beállításoknak és DB_CHAINING a beállításoknak nincs hatása.

MERT 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. Kell lennie egy <filespec> bejegyzésnek, amely meghatározza az elsődleges fájlt. 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 adatok é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.

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 azonnal készítsen teljes biztonsági másolatot az adatbázisról. További információ: BACKUP.

Általában akkor használatos, FOR ATTACH_REBUILD_LOG ha egy nagy naplót tartalmazó olvasási/írási adatbázist másol egy másik kiszolgálóra, ahol a másolatot többnyire vagy csak olvasási műveletekhez használják, és ezért kevesebb naplóterületet igényel, mint az eredeti adatbázis.

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

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ása (SQL Server) című témakörben talál.

<fájlspecifikáció>

Szabályozza a fájltulajdonságokat.

NÉV logical_file_name

Megadja a fájl logikai nevét. NAME kötelező, ha FILENAME meg van adva, kivéve, ha az FOR ATTACH egyik záradékot megadja. A FILESTREAM fájlcsoport nem nevezhető el PRIMARY.

  • 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ó.

FÁJLNÉV { '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 az 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.

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

    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 (12.x) és újabb verzióiban.

    Az adatfájlokat csak akkor szabad tömörített fájlrendszerekre helyezni, 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

    FILESTREAM-fájlcsoport FILENAME esetén a FÁJLSTREAM-adatok tárolásának elérési útja. 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 a futtatás ALTER DATABASEelőtt léteznie kell, 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 tulajdonságok nem FILEGROWTH vonatkoznak a FILESTREAM-fájlcsoportra.

MÉRET méret

Megadja a fájl méretét.

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

  • méret

    A fájl kezdeti mérete.

    Ha nem adja meg a méretet az elsődleges fájlhoz, az adatbázismotor az adatbázis elsődleges fájljának model 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ájlt vagy naplófájlt ad meg, de a méret 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. a méret egész szám. A 2 147 483 647-nél nagyobb értékeknél használjon nagyobb egységeket.

MAXSIZE max_size

Megadja a fájl maximális méretét. 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ő.

FÁJLNÖVEKEDÉS growth_increment

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

  • growth_increment

    A fájlhoz adott térköz minden alkalommal, amikor új tárhelyre van szükség.

    Az érték megadható a , KB, MB, GBvagy százalék (TB) értékben%. Ha egy szám egy , KBvagy MB utótag nélkül %van megadva, az alapértelmezett érték.MB Ha % meg van adva, 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 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) Adat 10%. Naplófájlok 10%.

<fájlcsoport>

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

FÁJLCSOPORT filegroup_name

A fájlcsoport logikai neve.

  • filegroup_name

    filegroup_name egyedinek kell lennie az adatbázisban, és nem lehetnek a rendszer által megadott nevek PRIMARY és PRIMARY_LOG. 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.

  • TARTALMAZ MEMORY_OPTIMIZED_DATA

    : 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 OLTP áttekintése és használati forgatókönyvei. 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 egy CREATE DATABASE ON záradékban, az utasítás meghiúsul, és hiba lép fel.

A leírásokat NAME és FILENAME azok értékeit az egyenértékű <filespec> értékek leírásában tekinthetik meg.

Jegyzet

Adatbázis-pillanatkép létrehozásakor a rendszer nem engedélyezi a többi <filespec> lehetőséget és kulcsszót PRIMARY .

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 2017 (14.x) és korábbi verzióiban az adatbázis-pillanatkép forrásadatbázisa nem tartalmazhat fájlcsoportot MEMORY_OPTIMIZED_DATA . Az SQL Server 2019-ben (15.x) hozzáadták a memórián belüli adatbázis-pillanatképek támogatását.

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.

Az CREATE DATABASE utasításnak automatikus kiegészítési módban (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 CREATE DATABASE alábbi lépések végrehajtásával implementálja az 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
  • Fájlfolyam
  • 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 az 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 a rendszer nem törli őket a használatával DROP DATABASE.

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

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. Ezeknek a beállításoknak a listáját az ALTER DATABASE SET beállításai között 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. Az adatbázis műveleteinek módosítása nincs hatással a model meglévő adatbázisokra. Ha a FOR ATTACH meg van adva az CREATE DATABASE utasításban, 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ájlengedé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 <filespec> tartalmaz elemeket, az elsődleges adatbázisfájl mérete megegyezik az model adatbázis elsődleges fájljával. A tranzakciónapló a nagyobb értékre van állítva: 512 KB vagy 25% az elsődleges adatfájl mérete. Mivel MAXSIZE nincs megadva, a fájlok növekedhetnek, hogy kitöltsék az összes rendelkezésre álló lemezterületet. 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 kulcsszó PRIMARY nincs használatban, az első fájl (Sales_dat) lesz az elsődleges fájl. Mivel a fájl paraméterében SIZESales_dat sem MB, sem KB nincs megadva, megabájtban van MB 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 = 5 MB,
    MAXSIZE = 25 MB,
    FILEGROWTH = 5 MB
);
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 = 100 MB,
    MAXSIZE = 200,
    FILEGROWTH = 20
), (
    NAME = Arch2,
    FILENAME = 'D:\SalesData\archdat2.ndf',
    SIZE = 100 MB,
    MAXSIZE = 200,
    FILEGROWTH = 20
), (
    NAME = Arch3,
    FILENAME = 'D:\SalesData\archdat3.ndf',
    SIZE = 100 MB, MAXSIZE = 200,
    FILEGROWTH = 20
)
LOG ON (
    NAME = Archlog1,
    FILENAME = 'D:\SalesData\archlog1.ldf',
    SIZE = 100 MB,
    MAXSIZE = 200,
    FILEGROWTH = 20
), (
    NAME = Archlog2,
    FILENAME = 'D:\SalesData\archlog2.ldf',
    SIZE = 100 MB,
    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 FILEGROWTH a fájloknak a növekményei a következőképpen vannak megadva 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 = 5 MB,
    MAXSIZE = 25 MB,
    FILEGROWTH = 5 MB
);
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 (9.x) verziótól kezdődően a csatolt adatbázis részét képező teljes szöveges fájlok az adatbázishoz lesznek csatolva.

USE master;
GO

EXECUTE 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 az 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, a fájlcsoportok pedig 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 AdventureWorks2025 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
EXECUTE 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 AS 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 = 10 MB,
    MAXSIZE = 50 MB,
    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 is 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 = 5 MB,
    MAXSIZE = 25 MB,
    FILEGROWTH = 5 MB
);');
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 = 100 MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 1 MB
),
FILEGROUP [FS] CONTAINS FILESTREAM DEFAULT
    (NAME = N'FS1', FILENAME = N'C:\BlobStore\FS1', MAXSIZE = UNLIMITED),
    (NAME = N'FS2', FILENAME = N'C:\BlobStore\FS2', MAXSIZE = 100 MB)
LOG ON (
    NAME = N'BlobStore1_log',
    FILENAME = N'C:\BlobStore\BlobStore1_log.ldf',
    SIZE = 100 MB,
    MAXSIZE = 1 GB,
    FILEGROWTH = 1 MB
);
GO

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

* SQL adatbázis *

felügyelt SQL-példány

SQL adatbázis

Á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' | 'GEOZONE' } ) ]
[ ; ]

É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ó: Adatbázis-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 a következő SQL_Latin1_General_CP1_CI_AS: .

A Windows és az SQL-rendezés nevével kapcsolatos további információkért tekintse meg a COLLATE parancsot.

CATALOG_COLLATION

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

Alapértelmezés szerint a rendszerobjektumok nevének metaadatkatalógusa rendezésbe SQL_Latin1_General_CP1_CI_AS van rendezve. Ez az alapértelmezett beállítás az Azure SQL Database-ben, ha 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űs rendezést használja.

    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 objektumazonosítókhoz használnak.

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

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

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.

Geo-zóna redundáns tároláshoz használható GEOZONE . A geozóna redundáns tárolása (GZRS) a legmagasabb szintű védelmet nyújtja a zónakimaradások, valamint a regionális kimaradások ellen bármely számítási feladathoz.

Ha t-SQL használatával hoz létre adatbázist, LOCAL használja vagy ZONE adja meg a paraméter bemeneteként az BACKUP_STORAGE_REDUNDANCY adattárolást.

Ha egy adatbázist egy másik adatbázis AS COPY OFmásolataként hoz létre a , a beállítások megadása támogatott, és zárójelbe kell tenni. 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 beállítás értéke LEDGER 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. MAXSIZE érvényesnek kell lennie a megadott EDITION (szolgáltatási szint) értékre.

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

Jegyzet

Az 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 1
100 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 Nincs adat. Igen Igen Igen Igen
10 GB Nincs adat. Igen Igen Igen Igen
20 GB Nincs adat. Igen Igen Igen Igen
30 GB Nincs adat. Igen Igen Igen Igen
40 GB Nincs adat. Igen Igen Igen Igen
50 GB Nincs adat. Igen Igen Igen Igen
100 GB Nincs adat. Igen Igen Igen Igen
150 GB Nincs adat. Igen Igen Igen Igen
200 GB Nincs adat. Igen Igen Igen Igen
250 GB Nincs adat. Igen (D) Igen (D) Igen Igen
300 GB Nincs adat. Nincs adat. Igen Igen Igen
400 GB Nincs adat. Nincs adat. Igen Igen Igen
500 GB Nincs adat. Nincs adat. Igen Igen (D) Igen
750 GB Nincs adat. Nincs adat. Igen Igen Igen
1024 GB Nincs adat. Nincs adat. Igen Igen Igen (D)
1024 GB-tól 4096 GB-ig 256 GB-os lépésekben Nincs adat. Nincs adat. Nincs adat. Nincs adat. Igen

1 P11 és P15 lehetővé teszi MAXSIZE , hogy akár 4 TB 1024 GB az alapértelmezett méret. A P11 és a P15 legfeljebb 4 TB beépített tárterületet használhat fel díjmentesen. A Prémium szinten MAXSIZE jelenleg több mint 1 TB érhető el a következő régiókban: 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átairól további információt a DTU vásárlási modellt használó önálló adatbázisok erőforráskorlátai – Azure SQL Database – című témakörben talál.

Ha MAXSIZE meg van adva, a DTU-modell értékének érvényesnek 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".

Az alábbi szabályok érvényesek és MAXSIZEEDITION argumentumok:

  • Ha EDITION meg van adva, de MAXSIZE nincs megadva, a kiadás alapértelmezett értékét használja a rendszer. Ha például a EDITION standard érték van beállítva, és nincs MAXSIZE megadva, akkor a MAX'SIZE értéke automatikusan 250 MB lesz.

  • Ha nincs megadva MAXSIZE , EDITION akkor a EDITION "GeneralPurpose" értékre van állítva, és MAXSIZE 32 GB-ra van állítva.

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 a megadott értéket a program SERVICE_OBJECTIVE nem támogatja EDITION, hibaüzenet jelenik meg. Ha az értéket egy SERVICE_OBJECTIVE szintről egy másikra szeretné módosítani (például S1-ről P1-re), 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ású szolgáltatási szinten lévő adatbázisokra.

Ha új adatbázist szeretne létrehozni egy rugalmas adatbáziskészletben, állítsa be az SERVICE_OBJECTIVE adatbázist ELASTIC_POOL , és adja meg a készlet nevét. További információkat lásd: A rugalmas készletek segítenek több adatbázis kezelésében és méretezésében az Azure SQL Database-ben.

[ source_server_name MÁSOLATAKÉNT. ] source_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

    Az AS COPY OF argumentum nem támogatja a teljes mértékben minősített egyedi 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. Akár 15 perces késleltetés is előfordulhat, mielőtt új adatokat szúrhat be.

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: Kérdezze le a percentage_completereplication_state_descdm_database_copies vagy state oszlopait vagy a sys.databases nézet oszlopát. 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.

Ha a másolási folyamat sikeresen befejeződött, a céladatbázis tranzakciós szempontból konzisztens lesz 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ó: Adatbázis-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ó: Adatbázis tranzakciósan konzisztens másolatának másolása az Azure SQL Database-ben.

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

Alapszintű 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 <database>.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 <database>.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 a katalógus rendezést DATABASE_DEFAULT az adatbázis létrehozása során állítja be, amely úgy állítja be a katalógus rendezését, hogy megegyezik az adatbázis-rendezéssel.

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ú adatmegő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 *

Azure SQL Managed Instance

Á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 érték implicit módon az aktuális lemezméretre van állítva, és nem változik automatikusan, ha a lemezméretet az Azure Portalról bővíti. A lemez kiterjesztése után az MAXSIZE is ki kell terjesztenie, hogy elkerülje az adatbázisfájl teljes hibáit.

É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ó: Adatbázis-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 a következő SQL_Latin1_General_CP1_CI_AS: .

A Windows és az SQL-rendezés nevével kapcsolatos további információkért tekintse meg a COLLATE parancsot.

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 beállítás értéke LEDGER 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:

  • A fájlok és fájlcsoportok nem határozhatók meg.

  • WITH beállítások nem támogatottak, kivéve a 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 a következő rendszerbiztonsági tagok 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.

  • 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.
  • CREATE DATABASE Az Azure Synapse Analytics-munkaterület dedikált SQL-készletei nem támogatottak. Ehelyett az Azure Portal.
  • CREATE DATABASE az Azure Synapse Analytics kiszolgáló nélküli SQL-készletei esetében 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ó: Adatbázis-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 a következő SQL_Latin1_General_CP1_CI_AS: .

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

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 tovább MAXSIZE.

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 oszlopcentrikus indexek nemclustered indexében tárolt adatok nem növekedhetnek tovább MAXSIZE. Az oszlopcentrikus formátumba tömörített adatok nem rendelkeznek méretkorláttal, és nem korlátozzák őket MAXSIZE.

KIADÁS

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 be van állítva, COMPATIBILITY_LEVEL 130 és nem módosítható. További információ: ALTER DATABASE kompatibilitási szint.

Engedélyek

Szükséges engedélyek:

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

Hibakezelés

Ha az adatbázis mérete eléri MAXSIZE, az SQL Server a 40544-es hibakódot eredményezi. 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 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és 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 ö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
Rendszer (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 = { ON | KI }

Megadja, hogy a replicated_size, distributed_size és log_size paraméterek szükség szerint automatikusan növekedjenek-e a megadott méretükön túlra. Az alapértelmezett érték a OFF.

Ha AUTOGROW igen ON, akkor a replicated_size, a distributed_size és a log_size igény szerint növekszik minden olyan adatbeszúrással, frissítéssel vagy más művelettel, amely a már lefoglaltnál több tárterületet igényel.

Ha AUTOGROW igen OFF, a méretek nem nőnek automatikusan. Az Analytics Platform System (PDW) hibát ad vissza, ha olyan műveletet kísérel meg, amely megköveteli, hogy replicated_size, distributed_size vagy log_size növekedjen a megadott értéken.

AUTOGROW ON vagy minden méretre vagy OFF minden méretre. Például nem állítható be AUTOGROW ONlog_size, 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 AUTOGROW igen, akkor a ONreplikált táblák túlléphetik ezt a korlátot.

Ha AUTOGROW igen OFF, akkor 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_size meghaladó méretre növelné a méretet.

distributed_size [ HU ]

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 AUTOGROW igen ON, az elosztott táblák száma túllépheti ezt a korlátot.

Ha AUTOGROW igen OFF, akkor 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 a distributed_size meghaladó méretre növelné 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 AUTOGROW igen ON, a naplófájl mérete túlléphető ezen a korláton. A DBCC SHRINKLOG – Analytics Platform System (PDW) utasítással csökkentheti a naplófájlok méretét az eredeti méretre.

Ha AUTOGROW igen OFF, 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 az SQL Server 2014 (12.x) összes funkcióját használni tudja, amelyet a PDW használ.

Korlátozások

Az CREATE DATABASE utasítás nem engedélyezett explicit tranzakcióban. További információ: Transact-SQL 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 az DATABASE objektumon.

Metaadatok

A művelet sikeres végrehajtása után az adatbázis bejegyzése megjelenik a sys.databases és a 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 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 ugyanazokkal a paraméterekkel hozza létre az adatbázist mytest , kivéve, hogy be AUTOGROW 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 mytestkikapcsolva AUTOGROW , számítási csomópontonként 1,5 GB tárterület-lefoglalást replikált táblákhoz, 5,25 GB-ot berendezésenként 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);