DATABASE (Transact-SQL) CREATE

Yeni bir veritabanı ve veritabanı depolamak için kullanılan dosyalar oluşturur, veritabanını anlık görüntü oluşturur veya önceden oluşturulmuş bir veritabanı ayrılmış dosyalarından bir veritabanına ekler.

Topic link iconTransact-SQL sözdizimi kuralları

CREATE DATABASE database_name 
    [ ON 
        [ PRIMARY ] [ <filespec> [ ,...n ] 
        [ , <filegroup> [ ,...n ] ] 
    [ LOG ON { <filespec> [ ,...n ] } ] 
    ] 
    [ COLLATE collation_name ]
    [ WITH <external_access_option> ]
]
[;]

To attach a database
CREATE DATABASE database_name 
    ON <filespec> [ ,...n ] 
    FOR { ATTACH [ WITH <service_broker_option> ]
        | ATTACH_REBUILD_LOG }
[;]

<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 | % ] ]
) [ ,...n ]
}

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

<external_access_option> ::=
{
  [ DB_CHAINING { ON | OFF } ]
  [ , TRUSTWORTHY { ON | OFF } ]
}
<service_broker_option> ::=
{
    ENABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
}

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

Bağımsız değişkenler

  • database_name
    Yeni veritabanının adıdır.Veritabanı adları bir örneğini içinde benzersiz olmalıdırSQL Serverve kuralları ile uyumlutanımlayıcılar.

    database_name Günlük dosyası için bir mantıksal ad belirtilmediği sürece, en fazla 128 karakter olabilir.Bir mantıksal bir günlük dosyası adı belirtilmediSQL Serveroluşturduğulogical_file_nameveos_file_namegünlük için bir sonek ekleyerek tarafındandatabase_name.Bu sınırlardatabase_nameiçin oluşturulan mantıksal dosya adı en fazla 128 karakter. böylece 123 karakter

    Veri dosyası adı belirtilmediSQL Serverkullanırdatabase_nameher ikisi olaraklogical_file_nameve asos_file_name.

  • AÇIK
    Veritabanı, veri dosyalarını, veri bölümlerini depolamak için kullanılan disk dosyalarını açıkça tanımlanmış belirtir.Açık, virgülle ayrılmış bir listesini ve ardından gerekli<dosyabelirtimi>öğeleri tanımlamak, veri dosyalarını birincil dosya grubu.Birincil dosya grubu dosyalarının listesi arkasından isteğe bağlı, virgülle ayrılmış listesi<Dosya grubu>öğeleri, tanımlayan kullanıcı dosya gruplarını ve bunların dosyaları.

  • BİRİNCİL
    Belirleyen ilişkili<dosyabelirtimi>liste tanımlar birincil dosya.Belirtilen ilk dosyanın<dosyabelirtimi>birincil dosya grubu girdi olur birincil dosya.Bir veritabanı, yalnızca bir birincil dosya olabilir.Daha fazla bilgi için bkz:Dosya ve Filegroups mimarisi.

    PRIMARY belirtilmezse, CREATE DATABASE deyiminde listelenen ilk dosya birincil dosya olur.

  • GÜNLÜK ÜZERİNDE
    Veritabanı günlüğü, günlük dosyalarını depolamak için kullanılan disk dosyalarını açıkça tanımlanmış belirtir.LOG ON virgülle ayrılmış bir listesini sonra<dosyabelirtimi>öğeleri tanımlamak, günlük dosyaları.LOG ON belirtilmediği takdirde, tek bir günlük dosyası boyutu 512 KB veya veritabanı için tüm veri dosyalarının boyutunu toplamının yüzde 25 olan otomatik olarak oluşturulur, hangisi daha büyük.LOG ON üzerinde belirtilemez bir veritabanı anlık görüntü görüntü görüntü.

  • collation_name HARMANLAMA
    Veritabanı için varsayılan harmanlama belirtir.Harmanlama adı, bir Windows harmanlaması adı veya bir SQL Harmanlaması adı olabilir.Değil belirtilmezse, veritabanının varsayılan harmanlama örneğinin atanırSQL Server.Bir harmanlama adı üzerinde belirtilemez bir veritabanı anlık görüntü görüntü görüntü.

    FOR ATTACH veya ATTACH_REBUILD_LOG için yan tümceleri ile bir harmanlama adı belirtilemez.Ekli bir veritabanının harmanlama değiştirme hakkında bilgi için bu ziyaretMicrosoft Office 2010 Suite Web sitesi.

    Windows ve SQL Harmanlaması adları hakkında daha fazla bilgi için(Transact-SQL) HARMANLA.

  • İÇİN EKLE
    İşletim sistemi dosyalarının varolan bir kümesini ekleyerek veritabanı oluşturulduğunu belirtir.Olmalı bir<dosyabelirtimi>Giriş belirleyen birincil dosya.Yalnızca diğer<dosyabelirtimi>gerekli girişleri olan olanlar için veritabanı ilk [NULL]'den farklı bir yol olan tüm dosyaların oluşturulma veya son bağlı.A<dosyabelirtimi>giriş için bu dosyaları belirtilmelidir

    FOR ATTACH aşağıdakileri gerektirir:

    • Tüm veri dosyaları (MDF ve NDF) bulunması gerekir.

    • Birden çok günlük dosyası varsa, tüm kullanılabilir olmaları gerekir.

    Bir okuma/yazma izinli bir veritabanı şu anda kullanılabilir olan tek bir günlük dosyası varsa ve veritabanı kullanıcılar ya da açık hareketleri Ekle işlemi önce kapatıldı, FOR ATTACH otomatik olarak günlük dosyası oluşturur ve birincil dosya güncelleştirir.Birincil dosya güncelleştirilemedi çünkü aksine, salt okunur veritabanı için günlük yeniden oluşturulması olamaz.Bu nedenle, günlük kullanılamaz salt okunur bir veritabanı eklediğinizde, günlük dosyalarını veya dosyaları FOR ATTACH yan tümcesinde sağlamanız gerekir.

    Not

    Bir veritabanını daha yeni sürüm tarafından oluşturulmuşSQL Serveryapamıyor bağlı önceki sürümleri.The source database must be at least version 80 (SQL Server 2000) to attach to SQL Server 2008.SQL Server 2000 or SQL Server 2005 databases that have a compatibility level less than 80 will be set to compatibility 80 when they are attached.

    InSQL Servertam metin dosyaları, şu anda bağlı veritabanının bir parçası olan bağlı veritabanı.Tam metin Kataloğu yeni bir yol belirtmek için yeni konumun tam-metin işletim sistemi dosya adı belirtin.Daha fazla bilgi için örnekleri bölümüne bakın.

    FOR ATTACH belirtilemez veritabanını anlık görüntü.

    Security noteSecurity Note:

    Veritabanı Bilinmeyen veya güvenilmeyen kaynaklardan gelen eklediğiniz değil, öneririz.Bu tür veritabanlarına yürütmek kötü amaçlı kod içerebilir istenmeyenTransact-SQLkod veya neden hata değiştirerek şemayı veya fiziksel veritabanı yapısı.Önce Bilinmeyen veya güvenilmeyen kaynak veritabanından kullanınDBCC CHECKDB nonproduction sunucusundaki veritabanında ve ayrıca saklı yordam veya diğer kullanıcı tanımlı kod, veritabanına. biçiminde kodunu inceleyin

    Ekleme ve veritabanları, ayırma hakkında daha fazla bilgi için bkz:Ayırma ve veritabanları ekleme.

    Not

    Veritabanını kullanırService BrokerAyrıca bkz:<service_broker_option>.

    Her bir veritabanı ilişkisi kesildi ve bağlı, küme dosya izinleri hakkında bilgi için bkz:Veri ve günlük dosyalarının güvenliğini sağlama.

    İlişkisi kesildi yerine, kopyalanan çoğaltılmış bir veritabanını iliştirdiğinizde, aşağıdakileri dikkate alın:

    • Veritabanını aynı sunucuya eklerseniz örnek ve sürüm özgün veritabanı olarak, hiçbir ek işlem gereklidir.

    • Veritabanı aynı sunucuya eklerseniz örnek yükseltilmiş bir sürüm ile çalıştırmak gerekir, ancaksp_vupgrade_replication bağlama işlemi tamamlandıktan sonra çoğaltma yükseltmek için.

    • Veritabanı sürüm ne olursa olsun bir farklı bir sunucu örneğine eklediğiniz, gereken yürütmeksp_removedbreplication Çoğaltma Ekle işlemi tamamlandıktan sonra kaldırmak için.

    Not

    Eklemek işe yararvardecimaldepolama biçimi, ancakSQL Server Database Enginegereken yükseltme için en azSQL Server 2005hizmet Pack 2.Önceki sürüm için vardecimal saklama biçimi kullanan bir veritabanını iliştirmek olamazSQL Server.Hakkında daha fazla bilgi içinvardecimaldepolama biçimi, bkz:Decimal veri değişken uzunluk depolama.

    Kullanarak bir veritabanı yükseltme hakkında bilgi eklemek için bkz:Nasıl Yapılır: Yükseltme, bir veritabanı kullanma ve Ayır (Transact-SQL) Ekle.

  • ATTACH_REBUILD_LOG İÇİN
    İşletim sistemi dosyalarının varolan bir kümesini ekleyerek veritabanı oluşturulduğunu belirtir.Bu seçenek veritabanı okuma/yazma sınırlıdır.Bir veya daha fazla işlem günlüğü dosyaları eksikse, günlük dosyası yeniden oluşturulur.Olmalı bir<dosyabelirtimi>Giriş belirleyen birincil dosya.

    Not

    Günlük dosyaları kullanılabiliyorsa,Database EngineBu dosyaları yeniden yerine kullanacak günlük dosyaları.

    Bir FOR ATTACH_REBUILD_LOG aşağıdakileri gerektirir:

    • Veritabanının temiz bir kapatma.

    • Tüm veri dosyaları (MDF ve NDF) bulunması gerekir.

    Important noteImportant Note:

    Bu işlem günlüğü yedek zincirini keser.Tam veritabanı yedek işlemi tamamlandıktan sonra yapılması önerilir.Daha fazla bilgi için bkz:yedek (Transact-SQL).

    Genellikle, başka bir sunucuya kopyalama çoğunlukla kullanılacağı veya yalnızca okuma işlemleri için büyük bir günlük bir okuma/yazma veritabanıyla kopyalayın ve bu nedenle özgün veritabanına daha az alanı gerektirir ATTACH_REBUILD_LOG için kullanılır.

    ATTACH_REBUILD_LOG için bir veritabanını anlık görüntü üzerinde belirtilemez.

    Ekleme ve veritabanları, ayırma hakkında daha fazla bilgi için bkz:Ayırma ve veritabanları ekleme.

  • <dosyabelirtimi>
    Dosya özelliklerini denetler.

  • logical_file_name NAME
    Dosyanın mantıksal adını belirtir.ADI DosyaAdı FOR ATTACH yan birini belirleyerek, dışında belirtilirse gereklidir.FILESTREAM dosya grubu PRIMARY adlandırılamaz.

    • logical_file_name
      Is the logical name used in SQL Server when referencing the file.Logical_file_name must be unique in the database and comply with the rules for identifiers.Ad, bir karakter veya Unicode sabit bir normal veya sınırlandırılmış tanımlayıcı olabilir.
  • FILENAME {'os_file_name' | 'filestream_path'}
    İşletim sistemi (fiziksel) dosyasının adını belirtir.

    • 'os_file_name'
      Dosyayı oluşturduğunuzda, yol ve dosya adı işletim sistemi tarafından kullanılır.Dosyası aşağıdaki aygıtlardan birini bulunması gerekir: yerel sunucuda hangi SQL Serveryüklü olduğu bir depolama alan ağı [SAN] ya da bir iSCSI tabanlı ağ.Belirtilen yol, CREATE DATABASE ifadesini çalıştırmadan önce varolmalıdır.Daha fazla bilgi için bkz: Notlar bölümünde "veritabanı dosyaları ve Filegroups".

      SIZE, MAXSIZE ve FILEGROWTH parametreleri ayarlanamaz, bir UNC yol belirtilen dosya.

      Ham bir bölüme dosya iseos_file_namebir varolan ham bölüm. yalnızca sürücü harfini belirtmeniz gerekirHam her bölümüne yalnızca bir veri dosyası oluşturulabilir.

      Veri dosyaları sıkıştırılmış dosya sistemlerinde dosyalar salt okunur ikincil dosyaları veya veritabanını salt okunur konması değil.Günlük dosyaları sıkıştırılmış dosya sistemlerinde hiçbir zaman koymak.Daha fazla bilgi için bkz:Salt okunur Filegroups ve sıkıştırma.

    • 'filestream_path'
      FILESTREAM dosya grubu için dosyaadı FILESTREAM verilerin depolanacağı yol belirtir.En çok son klasör yol var olmalıdır ve son klasörü var olmalıdır.Örneğin, C:\MyFiles\MyFilestreamData yol belirtirseniz, C:\MyFiles, ALTER DATABASE çalıştırılmadan önce olması gerekir, ancak MyFilestreamData klasörü var olmalıdır.

      Dosya ve dosya grubu ( <filespec>) aynı deyim. oluşturulmalıdırTek bir dosya olabilir<filespec>,FILESTREAM bir dosya grubu.

      SIZE MAXSIZE ve FILEGROWTH özelliklerini FILESTREAM bir dosya grubu için geçerli değildir.

  • size SIZE
    Boyutunu belirtir dosyayı.

    SIZE olamaz, belirtilenos_file_namebir UNC yol olarak belirtilenSIZE FILESTREAM bir dosya grubu için geçerli değildir.

    • size
      İş başlangıç boyutu dosya.

      Zamansizebirincil dosya için sağlananDatabase Enginemodel veritabanı. birincil dosya boyutunu kullanır.Ne zaman bir ikincil veri dosyası veya günlük dosyası belirtilen ancaksize dosya için belirtilenDatabase EngineDosya yaptığı 1 MB.Birincil dosya için belirtilen boyutu en az büyük model veritabanı birincil dosyası olması gerekir.

      Kilobayt (KB), megabayt (MB), gigabayt (GB) veya terabyte (TB) sonekleri kullanılabilir.Varsayılan değer MB'dir.Specify a whole number; do not include a decimal.Size is an integer value.2147483647 Büyük değerler için daha büyük birimler kullanın.

  • MAXSIZE max_size
    Dosyasının büyüyebileceği maksimum boyutu belirtir.MAXSIZE olamaz, belirtilenos_file_namebir UNC yol olarak belirtilenMAXSIZE FILESTREAM bir dosya grubu için geçerli değildir.

    • max_size
      En büyük dosya boyutudur.KB, MB, GB ve TB son kullanılabilir.Varsayılan değer MB'dir.Bir tam sayı belirtin; ondalık içermez.If max_size is not specified, the file grows until the disk is full.Max_size is an integer value.2147483647 Büyük değerler için daha büyük birimler kullanın.
  • SINIRSIZ
    Disk dolu olduğu kadar dosya büyüklüğü belirtir.InSQL Server, sınırsız büyüme ile belirtilen günlük dosyası en büyük boyutu 2 olan TB ve bir veri dosyası olan bir en büyük boyutu 16 TB.

  • growth_increment FILEGROWTH
    Otomatik büyüme artışı dosyasını belirtir.Dosya FILEGROWTH ayarı MAXSIZE ayarı geçemez.FILEGROWTH olamaz, belirtilenos_file_namebir UNC yol olarak belirtilenFILEGROWTH FILESTREAM bir dosya grubu için geçerli değildir.

    • growth_increment
      Yeni bir alan gerekli olan her dosyaya eklenen boşluk miktarıdır.

      Değer, MB, KB, GB, TB veya yüzde (%) belirtilebilir.Bir sayıyı bir MB, KB veya % soneki belirtilmezse, varsayılan değer MB'dir.% Belirtildiğinde, büyüme artışı belirtilen dosyanın boyutunu yüzdesi artış oluşur saat boyutudur.Belirtilen boyut en yakın 64 KB olarak yuvarlanır.

      0 Değeri, otomatik büyüme ise devre dışı ve ek boşluk verileceğini gösterir.

      FILEGROWTH belirtilmemişse, varsayılan değer 1 MB veri dosyalarının ve günlük dosyaları için % 10, en düşük değer 64 KB.

      Not

      InSQL Server% 10'dan veri dosyaları için varsayılan büyüme artışı değişti 1 MB. içinGünlük dosyasının varsayılan % 10 değişmeden kalır.

  • <dosya grubu>
    Dosya grubu özelliklerini denetler.dosya grubu veritabanı anlık görüntü görüntü görüntü görüntüsü görüntüsü üzerinde belirtilemez.

  • filegroup_name dosya grubu
    Mantıksal dosya grubu adıdır.

    • filegroup_name
      filegroup_name veritabanı içinde benzersiz olmalı ve sistem tarafından sağlanan ad PRIMARY ve PRIMARY_LOG olamaz.Ad, bir karakter veya Unicode sabit bir normal veya sınırlandırılmış tanımlayıcı olabilir.Adı kuralları ile uyumlu olmalıdırtanımlayıcılar.

    • FILESTREAM İÇERİR
      dosya grubu FILESTREAM ikili büyük nesneleri (BLOB'lar) dosya sisteminde depolar belirtir.

    • Varsayılan
      Adlandırılmış dosya grubu veritabanında varsayılan dosya grubunu belirtir.

  • <external_access_option>
    Ve veritabanından dış erişimi kontrol eder.

    • DB_CHAINING {ON | Kapalı }
      Açık, belirtilen, veritabanı olabilir kaynak veya hedef veritabanları arası sahiplik zincirinin.

      Ne zaman OFF, veritabanı veritabanları arası sahiplik zincirleme yer alamaz.Varsayılan değer kapalı'dır.

      Important noteImportant Note:

      örnekSQL Serversunucu seçeneğini zincirleme çapraz db sahipliği 0 (kapalı), bu ayarı tanır.Çapraz db Sahiplik zincirleme 1 (ON) olduğunda, tüm kullanıcı veritabanları bu seçeneğin değeri ne olursa olsun, veritabanları arası sahiplik zincirleri katılabilirsiniz.Bu seçenek kullanılarak kümesp_configure.

      İçin küme bu seçenek sysadmin sabit sunucu rolü üyesi olmak gerekir.The DB_CHAINING seçeneği bu sistem veritabanları ayarlanamaz: Master, model, tempdb.

      Daha fazla bilgi için bkz:Sahiplik chains.

    • TRUSTWORTHY {ON | Kapalı }
      Açık, belirtilen, veritabanı Modülü (örneğin, görünüm, kullanıcı tanımlı işlevler veya saklı yordamlar) kullanan bir kimliğe bürünme içerik kaynakları dışında erişebilirsiniz veritabanını.

      Ne zaman OFF, bir kimliğe bürünme içerik veritabanı modüllerinde veritabanının dışındaki kaynaklara erişemez.Varsayılan değer kapalı'dır.

      TRUSTWORTHY olan küme için veritabanına bağlı olduğu zaman kapalı.

      Varsayılan olarak, msdb veritabanını dışında tüm sistem veritabanları TRUSTWORTHY kapalı küme vardır.Model ve tempdb veritabanları için değer değiştirilemez.Önerilir, hiçbir zaman küme asıl veritabanının TRUSTWORTHY seçeneği açık.

      İçin küme bu seçenek sysadmin sabit sunucu rolü üyesi olmak gerekir.

  • <service_broker_option>
    Hizmet Aracısı denetim seçenekleri veritabanı.

    Hizmet Aracısı seçenekleri yalnızca FOR ATTACH yan tümcesinde kullanıldığında belirtilebilir.

    • ENABLE_BROKER
      BelirtirService Brokerbelirtilen veritabanı. etkinDiğer bir deyişle, is_broker_enabled ayarı true sys.databases Katalog görünümü ve ileti teslimi, başlatıldığında.

    • NEW_BROKER
      Yeni bir service_broker_guid değeri sys.databases ve geri yüklenen veritabanı hem ile tüm konuşma bitiş noktası temizleme sona erer oluşturur.The broker etkinleştirilir, ancak uzaktan konuşma uç için herhangi bir ileti gönderilir.

    • ERROR_BROKER_CONVERSATIONS
      Tüm görüşmeler veritabanına eklenen veya geri bildiren bir hata ile sona erer.Bu işlem tamamlandı ve sonra etkin kadar aracının devre dışı bırakılır.

  • database_snapshot_name
    Yeni veritabanı anlık görüntü görüntü görüntü görüntüsü görüntüsü adıdır.Database snapshot names must be unique within an instance of SQL Server and comply with the rules for identifiers.database_snapshot_name can be a maximum of 128 characters.

  • ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ]
    Oluşturmak için bir veritabanı anlık görüntü görüntü görüntü, kaynak veritabanında dosyaların listesini belirtir.İçin anlık görüntü çalışmak için tüm veri dosyaları tek tek belirtilmesi gerekir.Ancak, günlük dosyalarını veritabanına anlık görüntüler için izin verilmez.

    Ad ve değerlerini dosyaadı açıklamaları eşdeğeri açıklamalarını görmek<dosyabelirtimi>değerleri.

    Not

    Oluşturduğunuzda bir veritabanı anlık görüntü görüntü görüntü, diğer<dosyabelirtimi>seçenekleri ve anahtar sözcük PRIMARY verilmiyor.

  • source_database_name anlık görüntü görüntü OF AS
    Kaynak veritabanı tarafından belirtilen bir veritabanı görüntüsünü, oluşturulmuş veritabanını belirtirsource_database_name.Anlık görüntü ve kaynak veritabanı aynı olması gerekir örnek.

    Daha fazla bilgi için anlık "veritabanı görüntü" Açıklamalar bölümüne bakın.

Remarks

The master database should be backed up whenever a user database is created, modified, or dropped.

CREATE DATABASE deyim autocommit modunda (varsayılan işlem yönetim modu) çalıştırmalısınız ve açık veya kapalı bir işlemde izin verilmez.Daha fazla bilgi için bkz:Autocommit hareketleri.

You can use one CREATE DATABASE statement to create a database and the files that store the database.SQL Server implements the CREATE DATABASE statement by using the following steps:

  1. The SQL Server uses a copy of the model database to initialize the database and its metadata.

  2. Servis aracının GUID veritabanına atanır.

  3. The Database Engine then fills the rest of the database with empty pages, except for pages that have internal data that records how the space is used in the database.Daha fazla bilgi için bkz:Veritabanı dosyası başlatma.

En fazla 32.767 veritabanı örneğinde belirtilebilirSQL Server.

Her veritabanı veritabanına özel etkinlikler gerçekleştirmek isteyebileceğiniz bir sahibi vardır.Sahibinin veritabanını oluşturan kullanıcıdır.Veritabanı sahibi olarak değiştirilebilirsp_changedbowner.

Veritabanı dosyaları ve Filegroups

Her veritabanının en az 2 dosyalar, birincil dosya ve bir işlem günlük dosyası en az bir dosya grubu vardır.En fazla 32.767 dosyaları 32.767 dosya gruplarını ve her veritabanı için belirtilebilir.Daha fazla bilgi için bkz:Dosya ve Filegroups mimarisi.

Bir veritabanı oluşturduğunuzda, veri dosyalarını mümkün olduğu kadar büyük veritabanında beklediğiniz verileri en temel olun.Daha fazla bilgi için bkz:Veritabanı büyüme yönetmek için dosya ve Filegroups kullanma.

Depolama için bir depolama alanı ağı (SAN), iSCSI tabanlı ağ veya yerel olarak bağlı disk kullanmanız önerilir,SQL Serververitabanı dosyaları, çünkü bu yapılandırma en iyi duruma getirirSQL ServerPerformans ve güvenilirlik.Varsayılan olarak, ağ veritabanı dosyalarının (depolama bir ağ sunucusunda veya ağa bağlı depolama) kullanarak etkinleştirilmez içinSQL Server.Ancak, izleme bayrağı 1807 kullanarak ağ tabanlı veritabanı dosyalarını içeren bir veritabanı oluşturabilirsiniz.Bu izleme bayrağı ve önemli performans ve Bakım konuları için bkz: Bu bilgiMicrosoft Office 2010 Suite Web sitesi.

Veritabanı Snapshot'ları

, CREATE DATABASE kullanabilirsiniz deyim salt okunur, statik bir görünüm oluşturmak için birveritabanını anlık görüntükaynak veritabanı varolan bir veritabanının. A veritabanı anlık görüntü görüntü görüntü anlık görüntü görüntü görüntüsünü ne saat oluşturulduğu saat, varolan kaynak veritabanı ile işlem tutarlı gibidir.kaynak veritabanı birden çok anlık görüntüleri içerebilir.

Not

CREATE DATABASE bir veritabanını anlık görüntü oluştururken deyim günlük, geri yükleme dosyaları, çevrimdışı dosyalar ve dosyalarını geçersiz başvuru yapamazsınız.

Bir veritabanını anlık görüntü oluşturma başarısız olursa, rapor anlık görüntüsünü şüpheli hale gelir ve silinmesi gerekir.Daha fazla bilgi için bkz:DROP DATABASE Transact-SQL).

Her anında, DROP DATABASE kullanarak silinene kadar kalır.

Daha fazla bilgi için bkz:Veritabanı anlık görüntü.

Veritabanı Seçenekleri

Birden fazla veritabanı seçenekleri, her bir veritabanı oluşturduğunuzda otomatik olarak küme.Bu seçenek varsayılan ayarlarına ve bir listesi için bkz:Veritabanı seçeneklerini ayarlama.Bu seçenekler kullanılarak değiştirilebilirALTER DATABASE deyim.

Yeni veritabanı oluşturmak ve model veritabanı

Kullanıcı tanımlı tüm nesnelerimodel veritabanı , tüm yeni oluşturulan veritabanlarını. için kopyalanır Model veritabanı tüm yeni oluşturulan veritabanlarında dahil edilecek tabloları, görünümleri, saklı yordamlar, veri türleri ve benzeri gibi tüm nesneleri ekleyebilirsiniz.

CREATE DATABASEdatabase_namedeyim belirtilen ek boyutu parametresiz birincil veri dosyası, model veritabanı. birincil dosya ile aynı boyutta yapılır

FOR ATTACH belirtilmediği sürece, her yeni veritabanı veritabanı seçenek ayarlarını devralır model veritabanı.Örneğin, veritabanı seçeneği otomatik küçültme kümetruemodeli ve oluşturduğunuz tüm yeni veritabanları.Model veritabanının seçeneklerini değiştirirseniz, bu yeni seçenek ayarları, oluşturduğunuz tüm yeni veritabanları kullanılır.Varolan veritabanları model veritabanı işlemleri değiştirme etkilemez.CREATE DATABASE ifadesini FOR ATTACH belirtilmezse, veritabanının seçenek ayarları özgün veritabanının yeni veritabanına alır.

Veritabanı bilgileri görüntüleme

Veritabanı dosyaları ve dosya grupları hakkında bilgi için katalog görünümleri, sistem işlevleri ve Sistem saklı yordamları kullanabilirsiniz.Daha fazla bilgi için bkz:Veritabanı meta veriler görüntüleme.

İzinler

CREATE DATABASE gerektirir, ANY DATABASE, CREATE veya ALTER ANY DATABASE izni.

Disk kullanımını örneğinde kontrolünü sağlamak içinSQL Serververitabanı oluşturma izni olduğundan, genellikle sınırlı birkaç oturum açma hesapları.

Veri ve günlük dosyaları izinlerini

InSQL Server, belirli izinler küme veri ve günlük dosyaları her veritabanının.Veritabanına aşağıdaki işlemleri uygulandığında aşağıdaki izinleri küme:

Oluşturulma

Yeni bir dosya ekleme, değiştirme

Bağlı

Yedeği

İlişkisi kesildi

Geri

İzinler, açık izne sahip bir dizinde bulunuyorsa yanlışlıkla üzerinde oynama gelen dosyaları engeller.Daha fazla bilgi için bkz:Veri ve günlük dosyalarının güvenliğini sağlama.

Not

Microsoft SQL Server 2005 Express Edition değil Küme veri ve günlük dosya izinleri.

Örnekler

C.Dosya belirtmeden veritabanı oluşturma

Aşağıdaki örnek, veritabanı oluştururmytestve bir karşılık gelen birincil ve işlem günlük dosyası.Çünkü deyim yok yok<dosyabelirtimi>öğeleri, birincil veritabanı dosyası boyutudur model veritabanı birincil dosya.İşlem günlüğü için daha büyük olarak ayarlanmışsa, bu değerleri: 512 KB veya % 25 boyutu birincil veri dosyası. MAXSIZE belirtilmediği için dosyaları tüm kullanılabilir disk alanı dolduracak şekilde büyüyebilir.Bu örnek, nasıl adlı veritabanı bırak da gösterirmytest, oluşturmadan önce varsa,mytestveritabanı.

B.Veri ve işlem günlük dosyaları, veritabanı oluşturma belirtir

Aşağıdaki örnek, veritabanı oluştururSales.Kullanılan PRIMARY değil anahtar olduğundan, ilk dosya ( Sales_ dat) birincil dosya. olurMB ya da KB SIZE parametresi için belirtilen içinSales_datdosyasını kullanır ve megabayt. tahsis edilenThe Sales_log file is allocated in megabytes because the MB suffix is explicitly stated in the SIZE parameter.

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

C.Birden çok veri ve işlem günlüğü dosyalarını belirterek veritabanı oluşturma

Aşağıdaki örnek, veritabanı oluştururArchiveüç olan100-MBveri dosyalarını ve iki100-MBişlem günlüğü dosyaları.Birincil dosya listesindeki ilk dosyayı ve ile açıkça belirtilenPRIMARYanahtar sözcük.İşlem günlüğü dosyalarını aşağıdaki belirtilenLOG ONanahtar sözcükler.Dosyaları için kullanılan uzantılar NotFILENAMEseçeneği: .mdf is used for primary data files, . ndf is used for the secondary data files, and .ldf is used for transaction log files.This example places the database on the D drive instead of with the master database.

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.Dosya grupları olan bir veritabanı oluşturma

Aşağıdaki örnek, veritabanı oluştururSalesAşağıdaki dosya grupları olan:

  • Dosyaların birincil dosya grubuSpri1_datveSpri2_dat.Bu dosyalar için the FILEGROWTH katları olarak belirtilen15%.

  • Bir dosya grubu adıSalesGroup1dosyalarlaSGrp1Fi1veSGrp1Fi2.

  • Bir dosya grubu adıSalesGroup2dosyalarlaSGrp2Fi1veSGrp2Fi2.

Bu örnekte, veri ve günlük dosyaları performansı artırmak için farklı disklerde yerleştirir.

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.Bir veritabanını iliştirmek

The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause.Archive was defined to have multiple data and log files.Dosyalarının konumunu oluşturuldukları bu yana değişmedi çünkü ancak yalnızca birincil dosya olarak belirtilmesi gerekenFOR ATTACHyan tümce.BaşlayarakSQL Server 2005tam metin dosyaları, şu anda bağlı veritabanının bir parçası olan bağlı veritabanı.

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

F.Oluşturma bir veritabanı anlık görüntü görüntü görüntü

Aşağıdaki örnek, veritabanı anlık görüntü görüntü görüntü oluşturur.sales_snapshot0600.Bir veritabanını anlık görüntü görüntü salt okunur olduğundan, bir günlük dosyasına belirtilemez.Uyumluluk sözdizimi, kaynak veritabanında bulunan her dosya belirlenir ve dosya grupları belirtilmedi.

Bu örnek için kaynak veritabanıSalesörnek d oluşturulan veritabanı

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.Bir veritabanı oluşturmak ve bir harmanlama adı ve seçeneklerini belirleme

Aşağıdaki örnek, veritabanı oluştururMyOptionsTest.Bir harmanlama adı veTRUSTYWORTHYveDB_CHAININGseçeneklerini ayarlamakON.

H.Ekleme bir tam metin kataloğu, taşındı

Aşağıdaki örnekte tam metin kataloğu ekler.AdvWksFtCatile birlikteAdventureWorksveri ve günlük dosyaları.Bu örnekte, tam metin kataloğunun taşınabilir varsayılan konumundan yeni bir konumac:\myFTCatalogs.Veri ve günlük dosyaları, varsayılan konumlarında kalır.

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

I.Bir satır dosya grubu ve iki FILESTREAM dosya gruplarını belirtir, veritabanı oluşturma

Aşağıdaki örnek oluştururFileStreamDBveritabanı.Veritabanına satır dosya grubu ve iki FILESTREAM dosya grupları oluşturulur.Her dosya grubu, bir dosya içerir:

  • FileStreamDB_data satır verileri içerir.Bir dosyayı içerirFileStreamDB_data.mdfvarsayılan yol ile

  • FileStreamPhotos FILESTREAM veri içeriyor.Bir FILESTREAM veri kapsayıcı içerirFSPhotosadresinde bulunan,C:\MyFSfolder\Photos.Bu, varsayılan FILESTREAM dosya grubu işaretlenir.

  • FileStreamResumesFILESTREAM veri içeren bir FILESTREAM veri kapsayıcı, IT içerenFSResumesadresinde bulunan,C:\MyFSfolder\Resumes.

USE master;
GO
IF DB_ID (N'FileStreamDB') IS NOT NULL
DROP DATABASE FileStreamDB;
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, MAXSIZE, FILEGROWTH should not be specified here.
-- If they are specified an error will be raised.
    ),
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