Sie sind auf Seite 1von 7

CREATE DATABASE

A.Cration d'une base de donnes sans spcifier de fichiers


Cet exemple cre une base de donnes appele mytest et cre un fichier primaire et un fichier
de journal des transactions correspondants. L'instruction ne disposant pas d'lments
<filespec>, le fichier primaire de la base de donnes a la taille du fichier primaire de la base
de donnes model. Le journal des transactions est dfini la plus grande de ces valeurs :
512 Ko ou 25 % de la taille du fichier de donnes primaire. Puisque MAXSIZE n'est pas spcifi,
la taille des fichiers peut s'accrotre jusqu' occuper tout l'espace disque disponible. Cet
exemple montre galement comment supprimer la base de donnes nomme mytest, si elle
existe, avant de crer la base de donnesmytest.

USE master;
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.Cration d'une base de donnes qui spcifie les fichiers de


donnes et les fichiers journaux de transactions
L'exemple suivant cre la base de donnes Sales. Le mot cl PRIMARY n'tant pas utilis, le
premier fichier (Sales_dat) devient le fichier primaire. Le paramtre SIZE n'tant spcifi ni en
Mo ni en Ko pour le fichier Sales_dat, la valeur par dfaut est Mo et il est allou en
mgaoctets. Le fichier Sales_log est allou en mgaoctets car le suffixe MB est dfini
explicitement dans le paramtre SIZE.

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

C.Cration d'une base de donnes en spcifiant plusieurs fichiers


de donnes et plusieurs fichiers journaux de transactions
Cet exemple cre une base de donnes appele Archive qui comprend trois fichiers de
donnes de 100-MB et deux fichiers du journal des transactions de 100-MB. Le fichier primaire
est le premier fichier dans la liste et il est spcifi de manire explicite l'aide du mot
cl PRIMARY. Les fichiers du journal des transactions sont spcifis la suite des mots
cls LOG ON. Notez les extensions utilises pour les fichiers dans
l'option FILENAME : .mdf pour les fichiers de donnes primaires, .ndf pour les fichiers de
donnes secondaires et .ldf pour les fichiers journaux de transactions. Cet exemple place la
base de donnes sur le lecteur D: plutt qu'avec la base de donnes master.

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.Cration d'une base de donnes possdant des groupes de


fichiers
L'exemple suivant cre la base de donnes Sales qui possde les groupes de fichiers suivants :

Le groupe de fichiers primaire avec les fichiers Spri1_dat et Spri2_dat. Les incrments
FILEGROWTH de ces fichiers sont spcifis 15%.

Un groupe de fichiers nomm SalesGroup1 avec les fichiers SGrp1Fi1 et SGrp1Fi2.

Un groupe de fichiers nomm SalesGroup2 avec les fichiers SGrp2Fi1 et SGrp2Fi2.

Cet exemple place les fichiers de donnes et les fichiers journaux sur des disques diffrents
afin d'amliorer les performances.

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.Attachement d'une base de donnes


L'exemple ci-dessous dtache la base de donnes Archive cre dans l'exemple D, puis
l'attache l'aide de la clause FOR ATTACH. Archive a t dfini de manire possder

plusieurs fichiers de donnes et fichiers journaux. Cependant, l'emplacement des fichiers


n'ayant pas t modifi depuis leur cration, seuls les fichiers primaires doivent tre spcifis
dans la clause FOR ATTACH. compter de SQL Server 2005, tout fichier de texte intgral
appartenant la base de donnes qui est attache est attach avec la base de donnes.

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

F.Cration d'un instantan de base de donnes


L'exemple suivant cre l'instantan de base de donnes sales_snapshot0600. Un instantan
de base de donnes tant en lecture seule, un fichier journal ne peut pas tre
spcifi. Conformment la syntaxe, chaque fichier de la base de donnes source est spcifi
et les groupes de fichiers ne sont pas spcifis.
La base de donnes source dans cet exemple est la base de donnes Sales cre dans
l'exemple D.

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.Cration d'une base de donnes et spcification d'un nom de


classement et d'options
L'exemple suivant cre la base de donnes MyOptionsTest. Un nom de classement est spcifi
et les options TRUSTYWORTHY et DB_CHAINING ont la valeur 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.Attachement d'un catalogue de texte intgral qui a t dplac


L'exemple suivant attache le catalogue de texte intgral AdvWksFtCat ainsi que les fichiers de
donnes et fichiers journaux de AdventureWorks2012. Dans cet exemple, le catalogue de
texte intgral est dplac de son emplacement par dfaut vers un nouvel
emplacement c:\myFTCatalogs. Les fichiers de donnes et les fichiers journaux restent dans
leurs emplacements par dfaut.

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

I.Cration d'une base de donnes qui spcifie un groupe de


fichiers de ligne et deux groupes de fichiers FILESTREAM
L'exemple ci-dessous cre la base de donnes FileStreamDB. La base de donnes est cre
avec un groupe de fichiers de ligne et deux groupes de fichiers FILESTREAM.Chaque groupe de
fichiers contient un fichier :

FileStreamDB_data contient des donnes de ligne. Il contient un seul


fichier, FileStreamDB_data.mdf avec le chemin d'accs par dfaut.

FileStreamPhotos contient des donnes FILESTREAM. Il contient deux conteneurs de


donnes FILESTREAM, FSPhotos, qui se trouve dansC:\MyFSfolder\Photos et FSPhotos2,
qui se trouve dans D:\MyFSfolder\Photos. Il est marqu comme groupe de fichiers
FILESTREAM par dfaut.

FileStreamResumes contient des donnes FILESTREAM. Il contient un seul conteneur


de donnes FILESTREAM, FSResumes, qui se trouve dansC:\MyFSfolder\Resumes.

USE master;
GO
-- Get the SQL Server data path.
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1,

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

J.Cration d'une base de donnes disposant d'un groupe de


fichiers FILESTREAM avec de nombreux fichiers
L'exemple ci-dessous cre la base de donnes BlobStore1. La base de donnes est cre avec
un groupe de fichiers de ligne et un groupe de fichiers FILESTREAM, FS. Le groupe de fichiers
FILESTREAM contient deux fichiers, FS1 et FS2. Puis la base de donnes est modifie par
l'ajout d'un troisime fichier, FS3, au groupe de fichiers FILESTREAM.

USE [master]
GO

CREATE DATABASE [BlobStore1]


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

CREATE FUNCTION