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