Création d`une base de données Syntaxe CREATE DATABASE

publicité
Création d'une base de données
Syntaxe
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'
[ , 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 [ 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
[;]
--EXPLE1
CREATE DATABASE Personnel
ON PRIMARY
(NAME = N'PersData1', FILENAME = N'C:\DemoProject\PersData1.mdf',
SIZE = 5 MB, MAXSIZE = 10 MB, FILEGROWTH = 0),
FILEGROUP PersDefFilegroup DEFAULT
(NAME = N'PersData2', FILENAME = N'C:\DemoProject\Persdata2.ndf',
SIZE = 100 MB, MAXSIZE = 200 MB, FILEGROWTH = 0),
(NAME = N'PersData3', FILENAME = N'C:\DemoProject\PersData3.ndf',
SIZE = 100 MB, MAXSIZE = 200 MB, FILEGROWTH = 0)
LOG ON
(NAME = N'PersLog', FILENAME =N'C:\DemoProject\PersLog.ldf',
SIZE = 25 MB, MAXSIZE = 50 MB, FILEGROWTH = 0)
--EXPLE2
CREATE DATABASE [AW_Marketing] ON PRIMARY
( NAME = N'AW_Marketing_Data1', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\AW_Marketing_Data1.mdf' , SIZE = 10240KB , FILEGROWTH = 0),
FILEGROUP [ArchivedData]
( NAME = N'AW_Marketing_Data3', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\AW_Marketing_Data3.ndf' , SIZE = 25600KB , FILEGROWTH = 0),
FILEGROUP [CurrentData]
( NAME = N'AW_Marketing_Data2', FILENAME = N'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\AW_Marketing_Data2.ndf' , SIZE = 10240KB , FILEGROWTH = 0)
LOG ON
( NAME = N'AW_Marketing_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AW_Marketing_log.ldf'
, SIZE = 10240KB , FILEGROWTH = 0)
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'AW_Marketing', @new_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [AW_Marketing].[dbo].[sp_fulltext_database] @action = 'disable'
end
GO
ALTER DATABASE [AW_Marketing] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [AW_Marketing] SET ANSI_NULLS OFF
GO
ALTER DATABASE [AW_Marketing] SET ANSI_PADDING OFF
GO
ALTER DATABASE [AW_Marketing] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [AW_Marketing] SET ARITHABORT OFF
GO
ALTER DATABASE [AW_Marketing] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [AW_Marketing] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [AW_Marketing] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [AW_Marketing] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [AW_Marketing] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [AW_Marketing] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [AW_Marketing] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [AW_Marketing] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [AW_Marketing] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [AW_Marketing] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [AW_Marketing] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [AW_Marketing] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [AW_Marketing] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [AW_Marketing] SET READ_WRITE
GO
ALTER DATABASE [AW_Marketing] SET RECOVERY FULL
GO
ALTER DATABASE [AW_Marketing] SET MULTI_USER
GO
ALTER DATABASE [AW_Marketing] SET PAGE_VERIFY CHECKSUM
GO
USE [AW_Marketing]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE
[AW_Marketing] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
TRUSTWORTHY { ON | OFF }
Lorsque ON est spécifié, les modules de base de données (par exemples les vues, les fonctions définies par l'utilisateur ou les procédures stockées)
utilisant le contexte d'emprunt d'identité peuvent accéder à des ressources en dehors de la base de données.
Lorsque OFF est spécifié, les modules de base de données dans le contexte d'emprunt d'identité ne peuvent pas accéder à des ressources en dehors
de la base de données. La valeur par défaut est OFF.
TRUSTWORTHY prend la valeur OFF à chaque fois que la base de données est attachée.
Par défaut, pour toutes les bases de données système, sauf pour la base msdb, l'option TRUSTWORTHY est définie à OFF (désactivé). La valeur
ne peut pas être modifiée pour les bases de données model et tempdb. Nous vous recommandons de ne jamais définir l'option TRUSTWORTHY à
ON (activé) pour la base de données master
ENABLE_BROKER
Spécifie que Service Broker est activé pour la base de données spécifiée. Cependant, is_broker_enabled a la valeur True dans l'affichage catalogue
sys.databases et la remise des messages est démarrée.
NEW_BROKER
Crée une nouvelle valeur service_broker_guid dans sys.databases et les bases restaurées, et termine tous les points de terminaison de conversation
avec un nettoyage. Service Broker est activé, mais aucun message n'est envoyé aux points de terminaison de conversation distants.
ERROR_BROKER_CONVERSATIONS
Termine toutes les conversations avec une erreur indiquant que la base de données est attachée ou restaurée. Service Broker est désactivé jusqu'à
la fin de l'opération, puis il est activé.
FULLTEXTSERVICEPROPERTY
Renvoie des informations concernant les propriétés du niveau de service du texte intégral. Les recherches de texte intégral sont assurées par les
services Microsoft SQL Server (MSSQLSERVER) et Microsoft Search (MSFTESQL). Ces propriétés peuvent être définies et récupérées à l'aide
de sp_fulltext_service.
sp_dbcmptlevel
Pour déterminer certains comportements de la base de données et les rendre compatibles avec une précédente version définie de Microsoft SQL
Server.
MODIFICATION DE LA TAILLE DE BASE DE DONNEES
ALTER DATABASE database_name
MODIFY FILE
( NAME = logical_file_name,
SIZE = size [ KB | MB | GB | TB ] )
REDUDCTION DE LA TAILLE DU FICHIER DE BASE DE DONNEES
USING TestDB
DBCC SHRINKFILE
(N'TestDB_Data’, 8)
Numéro d'identification de fichier pour une base de données
USE AdventureWorks;
GO
SELECT FILE_IDEX('AdventureWorks_Data')AS 'File ID';
GO
SCHEMA
Syntaxe
CREATE SCHEMA
schema_name | AUTHORIZATION owner_name | schema_name AUTHORIZATION owner_name
[ table_definition | view_definition | grant_statement | revoke_statement |
deny_statement ]
Affectation d'un schéma par défaut
ALTER USER Anders
WITH DEFAULT_SCHEMA = sales
ATELIER :
USE AW_Marketing
GO
CREATE SCHEMA Promotions
CREATE TABLE ProductDiscounts
(ProductID int PRIMARY KEY,
Discount decimal,
Description nvarchar(50))
ON CurrentData
GO
CREATE SCHEMA Sponsorship
CREATE TABLE SponsorshipDeals
(SponsorshipID int IDENTITY PRIMARY KEY,
Description nvarchar(200))
ON CurrentData
GO
CREATE SCHEMA PastPromotions
CREATE TABLE ProductDiscounts
(ProductID int,
Discount decimal,
Description nvarchar(50))
ON ArchivedData
GO
CREATE SCHEMA PastSponsorship
CREATE TABLE SponsorshipDeals
(SponsorshipID int,
Description nvarchar(200))
ON ArchivedData
GO
DEMONSTRATION
Utiliser des procédures stockées système pour récupérer les métadonnées d'une base de données
USE AdventureWorks
GO
EXEC sp_help 'Sales.SalesPerson'
GO
USE AdventureWorks
GO
EXEC sp_helpfilegroup 'PRIMARY'
GO
Interroger les affichages catalogue pour récupérer les métadonnées de base de données
USE AdventureWorks
GO
SELECT df.[name], df.physical_name, df.[size], df.growth, f.[name] [filegroup]
FROM sys.database_files df
JOIN sys.filegroups f
ON df.data_space_id = f.data_space_id
GO
SQLCMD
USE AdventureWorks
SELECT firstname FROM person.contact WHERE contactid < 10
GO
LISTE DE SERVEURS
:serverlist
Téléchargement