alter database dosya ve dosya grubu seçenekleri (Transact-sql)

Veritabanı ile ilişkili filegroups ve değiştirir. Ekler veya filegroups ve bir veritabanından kaldırır ve veritabanını veya dosyaları ve filegroups özniteliklerini değiştirir. Diğer alter database seçenekleri için bkz: alter veritabanı (Transact-sql).

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

ALTER DATABASE database_name 
{
    <add_or_modify_files>
  | <add_or_modify_filegroups>
}
[;]

<add_or_modify_files>::=
{
    ADD FILE <filespec> [ ,...n ] 
        [ TO FILEGROUP { filegroup_name } ]
  | ADD LOG FILE <filespec> [ ,...n ] 
  | REMOVE FILE logical_file_name 
  | MODIFY FILE <filespec>
}

<filespec>::= 
(
    NAME = logical_file_name  
    [ , NEWNAME = new_logical_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| % ] ] 
    [ , OFFLINE ]
) 

<add_or_modify_filegroups>::=
{
    | ADD FILEGROUP filegroup_name 
        [ CONTAINS FILESTREAM ]
    | REMOVE FILEGROUP filegroup_name 
    | MODIFY FILEGROUP filegroup_name
        { <filegroup_updatability_option> 
        | DEFAULT
        | NAME = new_filegroup_name 
        }
}
<filegroup_updatability_option>::=
{
    { READONLY | READWRITE } 
    | { READ_ONLY | READ_WRITE }
}

Bağımsız değişkenler

<add_or_modify_files>:: =

Eklediyseniz, kaldırdıysanız veya güncellenmiştir dosyayı belirtir.

  • database_name
    Değiştirilmesi için veritabanı adıdır.

  • DOSYA EKLEME
    Bir dosyayı veritabanına ekler.

    • FILEGROUP için { filegroup_name}
      Belirtilen dosyaya eklenecek filegroup belirtir. Geçerli filegroups ve hangi filegroup geçerli varsayılan değeri görüntülemek için filegroup_namesys.filegroups Katalog görünümü.
  • GÜNLÜK DOSYA
    Günlük dosyası belirtilen veritabanına eklenebilir ekler.

  • DOSYA KALDIRlogical_file_name
    Mantıksal dosya açıklamalarının bir örneği kaldırır SQL Serverve fiziksel dosya siler. Boş olmadığı sürece dosya kaldırılamıyor.

    • logical_file_name
      Kullanılan mantıksal bir ad SQL Serverdosyayı başvururken.
  • DOSYAYI DEĞİŞTİRME
    Değiştirilmesi gereken dosyayı belirtir. Tek bir <filespec> özelliği, bir seferde değiştirilebilir. ADI her zaman belirtilmelidir <filespec> Değiştirilecek dosyayı tanımlamak için. BÜYÜKLÜK belirtilmezse, yeni boyutu geçerli dosya boyutundan daha büyük olmalıdır.

    Bir veri dosyası veya günlük dosyası mantıksal adını değiştirmek için içinde yeniden adlandırılması mantıksal dosya adını belirtmeniz NAMEyan tümcesi ve dosyayı yeni mantıksal adını belirtin NEWNAMEyan. Örneğin:

    MODIFY FILE ( NAME = logical_file_name, NEWNAME = new_logical_name ) 
    
    MODIFY FILE ( NAME = logical_file_name, NEWNAME = new_logical_name ) 
    

    Bir veri dosyası veya günlük dosyası için yeni bir konuma taşımak için geçerli mantıksal dosya adını belirtmek NAMEyan tümcesi ve yeni yol ve işletim sistemi dosya adı belirtmek FILENAMEyan. Örneğin:

    MODIFY FILE ( NAME = logical_file_name, FILENAME = ' new_path/os_file_name ' )
    
    MODIFY FILE ( NAME = logical_file_name, FILENAME = ' new_path/os_file_name ' )
    

    Bir tam metin kataloğu taşıdığınızda, sadece yeni bir yol dosya adı yan tümcesinde belirtin. İşletim sistemi dosya adını belirtin.

    Daha fazla bilgi için, bkz. Veritabanı dosyaları taşıma.

    FILESTREAM filegroup için çevrimiçi adı değiştirilebilir. Dosya online değiştirilebilir; Ancak, değişim kadar sonra kabı fiziksel taşındı ve sunucu kapatma ve sonra yeniden etkili olmaz.

    FILESTREAM dosya OFFLINE olarak ayarlayabilirsiniz. FILESTREAM dosya çevrimdışı olduğunda, onun üst filegroup dahili olarak çevrimdışı olarak işaretlenir; Bu nedenle, tüm bu filegroup FILESTREAM veri erişim başarısız olur.

[!NOT]

<add_or_modify_files > seçenekleri bulunan bir veritabanında kullanılabilen değildir.

<filespec>:: =

Dosya özelliklerini denetler.

  • @name = logical_file_name ''
    Dosyanın mantıksal adını belirtir.

    • logical_file_name
      Örneği kullanılan mantıksal bir ad SQL Serverdosyayı başvururken.
  • YENİ ADnew_logical_file_name
    Dosyayı yeni bir mantıksal adını belirtir.

    • new_logical_file_name
      Varolan bir mantıksal dosya adını değiştirmek için adıdır. Adı veritabanı içinde benzersiz olmalı ve için olan kurallara uymak tanımlayıcıları. Ad, bir karakter veya Unicode sabit, düzenli bir tanımlayıcı veya ayrılmış tanımlayıcı olabilir.
  • Dosya adı { 'os_file_name' | 'filestream_path' }
    İşletim sistemi (fiziksel) dosya adını belirtir.

    • ' os_file_name '
      Standart (satırlar) filegroup için bu dosyayı oluşturduğunuzda, işletim sistemi tarafından kullanılan yolu ve dosya adıdır. Dosyanın hangi sunucuda bulunması SQL Serveryüklenir. Belirtilen yol, alter database deyimini yürütmeden önce varolmalıdır.

      Dosya için bir unc yolu belirtilmediğinde SIZE, MAXSIZE ve FILEGROWTH parametreleri ayarlanamıyor.

      [!NOT]

      Sistem veritabanları unc paylaşımına dizinlerde bulunan olamaz.

      Veri dosyaları sıkıştırılmış dosya sistemlerinde dosyaları salt okunur ikincil dosyaları sürece ya da veritabanı salt okunur ise koymak değil. Günlük dosyaları hiçbir zaman sıkıştırılmış dosya sistemlerinde koymak gerekir.

      Dosya ham bir bölüme ise os_file_nameHam bir bölüm yalnızca sürücü harfini belirtmeniz gerekir. Tek bir dosya ham her bölüme koyabilirsiniz.

    • 'filestream_path'
      FILESTREAM filegroup için DosyaAdı FILESTREAM verilerin saklanacağı bir yola başvurur. Son klasörü kadar yolu var olmalıdır ve son klasörü değil bulunmalıdır. Örneğin, C:\MyFiles\MyFilestreamData yolu belirtirseniz, C:\MyFiles alter database çalıştırmanızdan önce bulunmalıdır, ancak MyFilestreamData klasörü olmaması gereken.

      Dosya ve filegroup (<filespec>) aynı deyiminde oluşturulmalıdır.

      Size FILEGROWTH özelliklerini FILESTREAM filegroup için geçerli değildir.

  • BOYUTUsize
    Dosya boyutunu belirtir. Boyut FILESTREAM filegroups için geçerli değildir.

    • size
      Dosya boyutudur.

      Dosya eklemek, belirtilen sizedosyasının başlangıç boyutu. DEĞİŞTİRMEK dosya ile belirtilen sizedosyası için yeni boyutu ve geçerli dosya boyutundan büyük olması gerekir.

      Ne zaman sizebirincil dosya için sağlanan SQL Serverbirincil dosya boyutunu kullanır modeli veritabanı. Ne zaman bir ikincil veri dosyası veya günlük dosyası belirtilen ama size Dosya için belirtilen Veritabanı AltyapısıDosya yapar 1 mb.

      kb, mb, gb, tb ve sonekler kilobayt, megabayt, gigabayt veya terabayt belirtmek için kullanılır. Varsayılan değer MB'dir. Bir tamsayı belirtirseniz ve ondalık eklemeyin. Bir megabayt bir kısmını belirlemek için 1024 ile sayı çarpılarak kilobayt için değeri dönüştürün. Örneğin, 1.5 mb (1.5 x 1024 = 1536) yerine 1536 kb belirtin.

  • MAXSIZE { max_size| UNLIMITED}
    Dosyasının büyüyebileceği maksimum dosya boyutunu belirtir.

    • max_size
      En büyük dosya boyutundadır. kb, mb, gb, tb ve sonekler kilobayt, megabayt, gigabayt veya terabayt belirtmek için kullanılır. Varsayılan değer MB'dir. Bir tamsayı belirtirseniz ve ondalık eklemeyin. Eğer max_sizebelirtilmezse, dosya boyutu disk dolu olduğu kadar artacak.

    • SINIRSIZ
      Disk dolu olduğu kadar dosya büyüdükçe belirtir. De SQL Server, sınırsız büyüme ile belirtilen günlük dosyası boyutu 2 olan tb ve bir veri dosyası olan en büyük boyutu 16 tb. Orada hiçbir boyutu bu seçenek için FILESTREAM kapsayıcı belirtildiğinde. Disk dolu olduğu kadar büyümeye devam ediyor.

  • FILEGROWTHgrowth_increment
    Otomatik büyüme artışı dosyası belirtir. FILEGROWTH ayar dosyasının MAXSIZE ayarı geçemez. FILEGROWTH FILESTREAM filegroups için geçerli değildir.

    • growth_increment
      Yeni alanı her zaman dosyaya eklenen boşluk miktarıdır.

      Değer, mb, kb, gb, tb veya yüzde (%) olarak belirtilebilir. Bir sayıyı bir mb, kb veya % sonek belirtilirse, varsayılan değer MB'dir. % Belirtildiğinde, büyüme artışı dosyasının boyutunu belirtilen yüzdesi artışı gerçekleşir zaman boyutudur. Belirtilen boyutta yakın 64 kb olarak yuvarlanır.

      0 Değeri otomatik büyüme kapalı olarak ayarlanır ve ek boşluk izin verilmez gösterir.

      FILEGROWTH belirtilmezse, varsayılan değer 1 mb veri dosyalarının ve günlük dosyalarının % 10, ve minimum değeri 64 KB'dir.

      [!NOT]

      Başlangıç SQL Server 2005, veri dosyaları için varsayılan büyüme artışı % 10 için 1 mb değişti. % 10 Günlük dosyası varsayılan değişmeden kalır.

  • ÇEVRİMDIŞI
    Dosyayı çevrimdışı ayarlar ve filegroup tüm nesneleri erişilemez yapar.

    Dikkat notuDikkat

    Yalnızca dosya bozulmuş ve geri bu seçeneği kullanın. OFFLINE olarak ayarlamak dosya yalnızca dosyayı yedekten geri yükleme çevrimiçi ayarlanabilir. Tek bir dosya geri yükleme hakkında daha fazla bilgi için bkz: RESTORE (Transact-SQL).

[!NOT]

<filespec > seçenekleri bulunan bir veritabanında kullanılabilen değildir.

<add_or_modify_filegroups>:: =

Ekleme, değiştirme veya filegroup veritabanından kaldırın.

  • ADD FILEGROUPfilegroup_name
    Bir filegroup veritabanına ekler.

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

  • FILEGROUP KALDIRMAfilegroup_name
    Bir filegroup veritabanından kaldırır. Boş olmadığı sürece filegroup kaldırılamaz. Tüm dosyaları filegroup önce kaldırın. Daha fazla bilgi için bkz: "remove dosya logical_file_name," Bu konunun önceki kısımlarında.

    [!NOT]

    FILESTREAM çöp toplayıcısını tüm dosyaları bir FILESTREAM kapsayıcı kaldırdığı sürece, FILESTREAM kapsayıcı kaldırmak için alter veritabanı dosyasını kaldırma işlemi başarısız ve bir hata döndürür. Bkz: "Remove FILESTREAM kapsayıcı" daha sonra bu konudaki açıklamalar bölümünde.

  • Değiştir FILEGROUP { filegroup_name } <filegroup_updatability_option > | VARSAYILAN | NAME **=**new_filegroup_name }
    Filegroup read_only veya READ_WRITE durumu ayarlama, veritabanı için varsayılan filegroup filegroup yapma veya filegroup adı değiştirerek değiştirir.

    • <filegroup_updatability_option>
      Filegroup salt okunur veya okuma/yazma özelliğini ayarlar.

    • DEFAULT
      Varsayılan veritabanı filegroup için değiştirir filegroup_name. Yalnızca veritabanındaki bir filegroup varsayılan filegroup olabilir. Daha fazla bilgi için, bkz. Veritabanı dosyaları ve Filegroups.

    • NAME = new_filegroup_name
      Filegroup adı değiştirir new_filegroup_name.

<filegroup_updatability_option>:: =

Filegroup salt okunur veya okuma/yazma özelliğini ayarlar.

  • READ_ONLY | SALT OKUNUR
    Filegroup salt okunur olduğunu belirtir. Bu nesneler için izin verilmez. Birincil filegroup salt okunur yapılamaz. Bu durumu değiştirmek için veritabanına özel kullanım erişimi olması gerekir. Daha fazla bilgi için bkz: SINGLE_USER yan tümcesi.

    Salt okunur bir veritabanı veri değişiklikleri izin vermediği için:

    • Otomatik Kurtarma, sistem başlangıcında atlanır.

    • Veritabanı daraltma mümkün değildir.

    • Hiçbir kilitleme salt veritabanları oluşur. Bu daha hızlı sorgu performansı neden olabilir.

    [!NOT]

    Salt okunur bir gelecek sürümünde kaldırılacak anahtar Microsoft SQL Server. Yeni geliştirme çalışmalarında salt okunur kullanmaktan kaçının ve şu anda salt okunur kullanan uygulamaları değiştirmek planlıyoruz. read_only kullanın.

  • READ_WRITE | READWRITE
    READ_WRITE grubunu belirtir. Güncelleştirmeler için filegroup nesneleri etkinleştirilir. Bu durumu değiştirmek için veritabanına özel kullanım erişimi olması gerekir. Daha fazla bilgi için bkz: SINGLE_USER yan tümcesi.

    [!NOT]

    READWRITE bir gelecek sürümünde kaldırılacak anahtar Microsoft SQL Server. Yeni geliştirme çalışmalarında READWRITE kullanmaktan kaçının ve şu anda READWRITE kullanan uygulamaları değiştirmek planlıyoruz. READ_WRITE kullanın.

Bu seçenek durumunu incelenerek belirlenebilir is_read_only sütununda sys.databases Katalog görünümü veya güncelleştirilebilme işlevi özelliği.

Açıklamalar

Veritabanı boyutunu azaltmak için dbcc SHRINKDATABASE.

Ekleyemez veya backup deyimi çalışırken bir dosyayı kaldırın.

En fazla 32.767 dosyaları ve 32.767 filegroups her veritabanı için belirtilebilir.

De SQL Server 2005ya da daha sonra bir veritabanı dosyası (örneğin, çevrimiçi veya çevrimdışı), devlet korunur bağımsız veritabanı devlet. Daha fazla bilgi için, bkz. Dosya Birleşik. Filegroup içindeki durumunu tüm filegroup uygunluğunu belirler. Bir filegroup kullanılabilmesini filegroup içindeki tüm dosyaları çevrimiçi olması gerekir. Bir filegroup çevrimdışıysa, filegroup bir sql deyimi tarafından erişim çalışın herhangi bir hata ile başarısız olur. select deyimi için sorgu planları oluştururken, query optimizer kümelendirilmemiş dizinleri ve dizin oluşturulmuş görünümler çevrimdışı filegroups bulunan önler. Bu, başarılı olmak bu ifadeler sağlar. Ancak, çevrimdışı filegroup yığın veya hedef tablo kümelenmiş bir dizin varsa, select deyimleri başarısız. Ayrıca, çevrimdışı bir dosya grubu her dizinde bir tabloyu değiştirir INSERT, update veya delete deyimi başarısız olur.

Dosyaları taşıma

De SQL Server 2005ya da daha sonra sistem veya kullanıcı tanımlı veri ve günlük dosyaları yeni bir konuma dosya adını belirterek taşıyabilir. Bu aşağıdaki senaryolarda yararlı olabilir:

  • Hata kurtarma. Örneğin, şüpheli modunda veya donanım hatası nedeniyle kapanma veritabanıdır

  • Planlı yerleştirme

  • Zamanlanmış disk bakım için yerleştirme

Daha fazla bilgi için, bkz. Veritabanı dosyaları taşıma.

Dosyalar başlatılıyor

Varsayılan olarak, veri ve günlük dosyaları aşağıdaki işlemlerden birini gerçekleştirdiğinizde dosyaları sıfırlarla doldurarak başlatılır:

  • Bir veritabanı oluşturmak

  • Dosyaları varolan bir veritabanına ekleyin.

  • Varolan bir dosyanın boyutunu büyütür

  • Veritabanı veya filegroup geri

Veri dosyalarını anında başlatılabilir. Bu, bu dosya işlemleri için hızlı yürütülmesini sağlar.

FILESTREAM kapsayıcı kaldırma

FILESTREAM kapsayıcı "dbcc SHRINKFILE" işlemini kullanarak boşaltma olsa da, veritabanı hala başvurular için çeşitli sistem bakım neden silinmiş dosyaları korumak gerekebilir. sp_filestream_force_garbage_collection (Transact-sql)güvenli olduğunda bu dosyaları kaldırmak için FILESTREAM çöp toplayıcısını çalıştırır. FILESTREAM çöp toplayıcısını tüm dosyaları bir FILESTREAM kapsayıcı kaldırdığı sürece, databaseremove dosya değiştirme işlemi bir FILESTREAM kapsayıcı kaldırmak başarısız olur ve bir hata döndürecektir. Aşağıdaki işlem, FILESTREAM kapsayıcı kaldırmak için önerilir.

  1. Koşmak DBCC SHRINKFILE (Transact-SQL)diğer kaplar için etkin Bu kapsayıcının içeriğini taşımak için EMPTYFILE seçeneği ile.

  2. Günlük yedeklemeler, tam veya bulk_logged kurtarma modeli almış emin olun.

  3. Çoğaltma günlük Okuyucu iş çalıştırılmış olabilir ki, varsa emin olun.

  4. Koşmak sp_filestream_force_garbage_collection (Transact-sql)Bu kapsayıcı içinde artık gerekli olmayan dosyaları silmek için çöp toplayıcı zorlamak için.

  5. alter database bu kap kaldırmak için remove FILE seçeneği ile çalıştırın.

  6. 2-4 Kez daha çöp toplama tamamlamak için adımları tekrarlayın.

  7. alter veritabanı kullanın...KALDIRIN Bu kap kaldırmak için dosya.

Örnekler

A.Bir veritabanı için bir dosya ekleme

Aşağıdaki örnek, 5 mb veri dosyasına ekler AdventureWorks2012veritabanı.

USE master;
GO
ALTER DATABASE AdventureWorks2012 
ADD FILE 
(
    NAME = Test1dat2,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat2.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
);
GO

B.Bir filegroup iki dosya ile bir veritabanı ekleme

Aşağıdaki örnek, filegroup oluşturur Test1FG1de AdventureWorks2012veritabanı ve filegroup için iki 5 mb dosya ekler.

USE master
GO
ALTER DATABASE AdventureWorks2012
ADD FILEGROUP Test1FG1;
GO
ALTER DATABASE AdventureWorks2012 
ADD FILE 
(
    NAME = test1dat3,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat3.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
),
(
    NAME = test1dat4,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\t1dat4.ndf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
)
TO FILEGROUP Test1FG1;
GO

C.Bir veritabanını iki günlük dosyaları ekleme

Aşağıdaki örnek, iki 5 mb günlük dosyalarına ekler AdventureWorks2012 veritabanı.

USE master;
GO
ALTER DATABASE AdventureWorks2012 
ADD LOG FILE 
(
    NAME = test1log2,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test2log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
),
(
    NAME = test1log3,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test3log.ldf',
    SIZE = 5MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 5MB
);
GO

D.Dosya bir veritabanı kaldırma

Aşağıdaki örnek, Örnek b. eklenen dosyaların birini kaldırır

USE master;
GO
ALTER DATABASE AdventureWorks2012
REMOVE FILE test1dat4;
GO

E.Bir dosyayı değiştirme

Aşağıdaki örnek bir örnek b. eklenen dosyaların boyutunu artırır

USE master;
GO
ALTER DATABASE AdventureWorks2012 
MODIFY FILE
    (NAME = test1dat3,
    SIZE = 20MB);
GO

F.Bir dosyayı yeni bir konuma taşıma

Aşağıdaki örnek Test1dat2örnek a yeni bir dizin için oluşturulan dosya.

[!NOT]

Fiziksel olarak bu örneği çalıştırmadan önce yeni dizine dosya taşımanız gerekir. Daha sonra durdurmak ve başlatmak SQL Serverya AdventureWorks2012 veritabanı çevrimdışı ve sonra çevrimiçi değişikliği uygulamak için.

USE master;
GO
ALTER DATABASE AdventureWorks2012
MODIFY FILE
(
    NAME = Test1dat2,
    FILENAME = N'c:\t1dat2.ndf'
);
GO

USE master;
GO
ALTER DATABASE AdventureWorks2012
MODIFY FILE
(
    NAME = Test1dat2,
    FILENAME = N'c:\t1dat2.ndf'
);
GO

G.Tempdb yeni bir konuma taşıma

Aşağıdaki örnek tempdbiçin başka bir disk konumunu diskteki geçerli konumundan. Çünkü tempdbsizde olmayan fiziksel veri ve günlük dosyaları mssqlserver hizmeti, her başlatıldığında yeniden oluşturulur. 3. Adımda hizmet yeniden başlatıldığında dosyalar oluşturulur. Hizmet yeniden başlatılıncaya kadar tempdbmevcut konumunda çalışmaya devam eder.

  1. Mantıksal dosya adlarını tempdbveritabanı ve diskteki geçerli konumlarına.

    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
    GO
    
    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
    GO
    
  2. Her dosyanın konumunu kullanarak değiştirmek ALTER DATABASE.

    USE master;
    GO
    ALTER DATABASE tempdb 
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
    GO
    ALTER DATABASE  tempdb 
    MODIFY FILE (NAME = templog, FILENAME = 'E:\SQLData\templog.ldf');
    GO
    
    USE master;
    GO
    ALTER DATABASE tempdb 
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
    GO
    ALTER DATABASE  tempdb 
    MODIFY FILE (NAME = templog, FILENAME = 'E:\SQLData\templog.ldf');
    GO
    
  3. Örneğini yeniden başlatın SQL Server.

  4. Dosya değişikliği doğrulayın.

    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
    
    SELECT name, physical_name
    FROM sys.master_files
    WHERE database_id = DB_ID('tempdb');
    
  5. Özgün konumlarından tempdb.mdf ve templog.ldf dosyalarını silin.

H.Varsayılan filegroup yapma

Aşağıdaki örnek Test1FG1 filegroup oluşturulan örnekte b varsayılan filegroup. Ardından, varsayılan filegroup sıfırlanır PRIMARYfilegroup. Dikkat PRIMARYparantez veya tırnak işaretleri ile ayrılmış gerekir.

USE master;
GO
ALTER DATABASE AdventureWorks2012 
MODIFY FILEGROUP Test1FG1 DEFAULT;
GO
ALTER DATABASE AdventureWorks2012 
MODIFY FILEGROUP [PRIMARY] DEFAULT;
GO

I.Bir Filegroup alter database kullanarak ekleme

Aşağıdaki örnek bir FILEGROUPiçeren FILESTREAMyan FileStreamPhotoDBveritabanı.

--Create and add a FILEGROUP that CONTAINS the FILESTREAM clause to
--the FileStreamPhotoDB database.
ALTER database FileStreamPhotoDB
ADD FILEGROUP TodaysPhotoShoot
CONTAINS FILESTREAM
GO

--Add a file for storing database photos to FILEGROUP 
ALTER database FileStreamPhotoDB
ADD FILE
(
    NAME= 'PhotoShoot1',
    FILENAME = 'C:\Users\Administrator\Pictures\TodaysPhotoShoot.ndf'
)
TO FILEGROUP TodaysPhotoShoot
GO

--Create and add a FILEGROUP that CONTAINS the FILESTREAM clause to
--the FileStreamPhotoDB database.
ALTER database FileStreamPhotoDB
ADD FILEGROUP TodaysPhotoShoot
CONTAINS FILESTREAM
GO

--Add a file for storing database photos to FILEGROUP 
ALTER database FileStreamPhotoDB
ADD FILE
(
    NAME= 'PhotoShoot1',
    FILENAME = 'C:\Users\Administrator\Pictures\TodaysPhotoShoot.ndf'
)
TO FILEGROUP TodaysPhotoShoot
GO

Ayrıca bkz.

Başvuru

Veritabanı (Transact-sql) oluştur

databasepropertyex (Transact-sql)

Veritabanı (Transact-sql) bırak

sp_spaceused (Transact-sql)

sys.Databases (Transact-sql)

sys.database_files (Transact-sql)

sys.data_spaces (Transact-sql)

filegroup_namesys.Filegroups (Transact-sql)

sys.master_files (Transact-sql)

DBCC SHRINKFILE (Transact-SQL)

sp_filestream_force_garbage_collection (Transact-sql)

Kavramlar

İkili büyük nesne (Blob) veri (SQL Server)