Като минимум една база данни на SQL Server има два файла на операционната система; файла с данни и регистрационния файл.
Файлът с данни съдържа действителните данни в базата данни, както и обекти като таблици, индекси, съхранени процедури и изгледи. Регистрационният файл съдържа информацията, която е необходима за възстановяване на всички транзакции в базата данни.
Когато създавате база данни, като използвате опциите по подразбиране, се създават и двата файла. Тези файлове се създават в основната файлова група. Тази файлова група съдържа основния файл с данни и всички вторични файлове, които не са поставени в други файлови групи. Така че основната файлова група е файловата група по подразбиране (освен ако не е променена с помощта на ALTER DATABASE
изявление).
Когато създавате множество файлове с данни, имате и възможността да ги групирате в дефинирана от потребителя файлова група. Това ви позволява да групирате логически файлове в тяхната собствена файлова група, която сте създали. След това тази файлова група ще съществува в допълнение към основната файлова група. Обектите на базата данни ще останат и ще останат в основната файлова група.
Тази статия демонстрира как да създадете дефинирана от потребителя файлова група и да добавите някои файлове с данни към нея.
Пример
Ето пример за използване на T-SQL за добавяне на файлова група към съществуваща база данни:
USE master GO ALTER DATABASE Solutions ADD FILEGROUP Solutions1Filegroup1; GO ALTER DATABASE Solutions ADD FILE ( NAME = Solutions_dat_2, FILENAME = 'D:\mssql\data\Solutions_dat2.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ), ( NAME = Solutions_dat_3, FILENAME = 'D:\mssql\data\Solutions_dat3.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ) TO FILEGROUP Solutions1Filegroup1; GO
Този пример създава файлова група, наречена Solutions1Filegroup1
и добавя два файла с данни към него. Посочваме обичайните неща за всеки файл, като логическото му име, физически път на файл, размер и т.н.
Предположението с този пример е, че вече има файл с данни, наречен Solutions_dat_1
. Затова ние именуваме тези файлове еднакво, но просто увеличаваме номера за всеки файл.
Също така, в този пример ние именуваме файловата група, сякаш е само една от многото. Можем да създадем множество файлови групи, ако е необходимо, и ако го направим, вероятно ще искаме конвенция за именуване, която улеснява разграничаването на всяка файлова група.
Преглед на файловите групи
Можете да видите файловите групи за дадена база данни, като потърсите sys.filegroups
изглед на каталог.
Пример:
USE Solutions; SELECT name, type_desc FROM sys.filegroups;
Резултат:
name type_desc -------------------- -------------- PRIMARY ROWS_FILEGROUP Solutions1Filegroup1 ROWS_FILEGROUP
Можете също да използвате звездичка (*), за да върнете всички редове, ако е необходимо.