SQL Server

Published on May 2016 | Categories: Documents | Downloads: 47 | Comments: 0 | Views: 530
of 9
Download PDF   Embed   Report

Comments

Content

- A. Créer une base de données sans spécifier de fichiers USE master GO CREATE DATABASE mytest B. Créer une base de données simple USE master GO CREATE DATABASE Products ON ( NAME = prods_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\prods.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = 1 ) GO C. Créer une base de données sans spécifier SIZE USE master GO CREATE DATABASE Products2 ON ( NAME = prods2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\prods2.mdf' ) GO D. Créer une base de données qui spécifie les fichiers de données et les fichiers du journal des transactions USE master GO CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'c:\program files\microsoft SQL Server\mssql\data\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Sales_log', FILENAME = 'c:\program files\microsoft SQL Server\mssql\data\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO E. Créer une base de données en spécifiant plusieurs fichiers de données et plusieurs fichiers du journal des transactions USE master GO CREATE DATABASE Archive ON PRIMARY ( NAME = Arch1, FILENAME = 'c:\program files\microsoft SQL Server\mssql\data\archdat1.mdf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), 1

( NAME = Arch2, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat2.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch3, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat3.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) LOG ON ( NAME = Archlog1, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog1.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Archlog2, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog2.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) GO F. Créer une base de données avec des groupes de fichiers USE master GO CREATE DATABASE Sales ON PRIMARY ( NAME = SPri1_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SPri1dat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ), ( NAME = SPri2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SPri2dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ), FILEGROUP SalesGroup1 ( NAME = SGrp1Fi1_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG1Fi1dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = SGrp1Fi2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG1Fi2dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), FILEGROUP SalesGroup2 ( NAME = SGrp2Fi1_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG2Fi1dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = SGrp2Fi2_dat, 2

FILENAME = 'c:\program files\microsoft sql server\mssql\data\SG2Fi2dt.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Sales_log', FILENAME = 'c:\program files\microsoft sql server\mssql\data\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO

G. Attacher une base de données sp_detach_db Archive GO CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1.mdf') FOR ATTACH GO

- CREATE TABLE TCOMMANDE (CMD_ID INT NOT NULL PRIMARY KEY, FRN_NOM CHAR(16), FRN_PRENOM CHAR(16), CONSTRAINT FK_ TCOMMANDE_NOM_PRENOM FOREIGN KEY (FRN_NOM, FRN_PRENOM) REFERENCES TFOURNISSEUR (FRN_NOM, FRN_PRENOM) ON DELETE CASCADE)

- CREATE PROCEDURE proc2 AS DECLARE @NumDept INT DECLARE @NombreEmp INT SELECT @NumDept = job_id, @NombreEmp = count(*) FROM employee GROUP BY job_id PRINT @NumDept PRINT @NombreEmp GO

CREATE FUNCTION FN_ENTIERS (@MAXINT integer, @NATUREL bit = 0) RETURNS @integers TABLE (N int PRIMARY KEY NOT NULL) AS BEGIN DECLARE @N INT DECLARE @T TABLE (N int) 3

SET @N = 0 -- insertion des 10 premiers chiffres de 0 à 9 WHILE @N < 10 BEGIN INSERT INTO @T VALUES (@N) SET @N = @N + 1 END SET @N = @N -1 -- si @N est supérieur à 9, alors supprimer les valeurs en trop IF @N > @MAXINT DELETE FROM @T WHERE N > @MAXINT ELSE INSERT INTO @T SELECT DISTINCT 1 * T1.N + 10 * T2.N + + 100 * T3.N + 1000 * T4.N FROM @T AS T1 CROSS JOIN @T AS T2 CROSS JOIN @T AS T3 CROSS JOIN @T AS T4 WHERE 1 * T1.N + 10 * T2.N + + 100 * T3.N + 1000 * T4.N BETWEEN 10 AND @MAXINT -- s'il s'agit d'entiers naturels, supprimer le zéro IF @NATUREL = 1 DELETE FROM @T WHERE N = 0 -- insertion dans la variable de retour INSERT INTO @integers SELECT DISTINCT N FROM @T RETURN END SELECT * FROM dbo.FN_ENTIERS (13, 1)

CREATE VIEW V_DATEHEURE_COURANTE AS SELECT CURRENT_TIMESTAMP AS DHC

CREATE FUNCTION FN_DELTA_MONTH (@MaDate DATETIME) RETURNS INT AS BEGIN DECLARE @N INT 4

SELECT @N = DATEDIFF(MONTH, @MaDate, DHC) FROM V_DATEHEURE_COURANTE RETURN @N END

SELECT dbo.FN_DELTA_MONTH('20020101')

CREATE TRIGGER Prs_upd1 ON [dbo].[Tpersonne] FOR UPDATE AS DECLARE @prs_id int DECLARE @prs_id_old int DECLARE @prs_nom char(50) DECLARE @prs_nom_old char(50) select @prs_id=prs_id , @prs_nom= prs_nom from inserted DECLARE MyCUS CURSOR for select prs_id , prs_nom from deleted Open MyCUS Fetch MyCUS Into @prs_id_old , @prs_nom_old while @@Fetch_Status = 0 begin if update(prs_id) begin insert into TLog (Num, nom_col, nom_table, old_val, new_val, user_I, date_I, type) values (@prs_id_old, 'prs_id', 'TPersonne', @prs_id_old, @prs_id, user_name(), getdate(), 'Modification') end if update(prs_nom) begin insert into TLog (Num, nom_col, nom_table, old_val, new_val, user_I, date_I, type) values (@prs_id_old, 'prs_nom', 'TPersonne', @prs_nom_old, @prs_nom, user_name(), getdate(), 'Modification') end Fetch MyCUS Into @prs_id_old , @prs_nom_old End

Les privileges : sp_grantlogin :

L'exemple suivant autorise l'utilisateur Windows 2000 Corporate\BobJ à se connecter à SQL Server. EXEC sp_grantlogin 'Corporate\BobJ' ou EXEC sp_grantlogin [Corporate\BobJ] sp_revokelogin 5

Syntaxe sp_revokelogin [ @loginame = ] 'login' Exemple Dans cet exemple, les entrées de connexion de l'utilisateur Windows NT Corporate\MollyA sont supprimées. EXEC sp_revokelogin 'Corporate\MollyA' ou EXEC sp_revokelogin [Corporate\MollyA] sp_denylogin Syntaxe sp_denylogin [ @loginame = ] 'login' Exemple L'exemple ci-dessous empêche l'utilisateur Corporate\GeorgeW de se connecter à SQL Server. EXEC sp_denylogin 'Corporate\GeorgeW' ou EXEC sp_denylogin [Corporate\GeorgeW] sp_addlogin :

A. Création d'un ID de connexion sans mot de passe avec la base de données master par défaut Cet exemple crée une connexion d'accès SQL Server pour l'utilisateur Victoria, sans spécifier de mot de passe ou de base de données par défaut. EXEC sp_addlogin 'Victoria' B. Création d'un ID de connexion et une base de données par défaut Cet exemple crée une connexion d'accès SQL Server pour l'utilisateur Albert, avec le mot de passe " food " et la base de données par défaut corporate. EXEC sp_addlogin 'Albert', 'food', 'corporate' C. Création d'un ID de connexion avec une langue par défaut différente Cet exemple crée une connexion d'accès SQL Server pour l'utilisateur Claire Picard, avec le mot de passe " caniche ", la base de données par défaut public_db et la langue " french " (Français) par défaut. EXEC sp_addlogin 'Claire Picard', 'caniche', 'public_db', 'french' D. Création d'un ID de connexion avec un SID spécifique Cet exemple crée une connexion d'accès SQL Server pour l'utilisateur Michael, avec le mot de passe " chocolate ", la base de données pubs par défaut, la langue " us_english " (anglais US) par défaut et le numéro SID 0x0123456789ABCDEF0123456789ABCDEF. EXEC sp_addlogin 'Michael', 'chocolate', 'pubs', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF E. Création d'un ID de connexion sans cryptage du mot de passe Cet exemple crée une connexion d'accès SQL Server pour l'utilisateur Margaret avec le mot de passe " Rose " sur Server1, extrait le mot de passe crypté, ajoute la connexion d'accès pour l'utilisateur Margaret à Server2 en utilisant le mot de passe précédemment crypté, mais ne le crypte pas à nouveau. L'utilisateur Margaret peut se connecter à Server2 avec le mot de passe " Rose ". -- Server1 6

EXEC sp_addlogin Margaret, Rose --Results New login created. -- Extract encrypted password for Margaret SELECT CONVERT(VARBINARY(32), password) FROM syslogins WHERE name = 'Margaret' --Results -----------------------------------------------------------------0x2131214A212B57304F5A552A3D513453 (1 row(s) affected) -- Server2 EXEC sp_addlogin 'Margaret', 0x2131214A212B57304F5A552A3D513453, @encryptopt = 'skip_encryption'

-

sp_password :

sp_password [ [ @old = ] 'old_password' , ] { [ @new =] 'new_password' } [ , [ @loginame = ] 'login' ] Exemples A. Modification du mot de passe d'une connexion sans disposer de l'ancien Dans cet exemple le mot de passe de la connexion Victoria est transformé en ok. EXEC sp_password NULL, 'ok', 'Victoria' B. Modification d'un mot de passe Dans cet exemple, le mot de passe de la connexion Victoria est transformé de ok en coffee. EXEC sp_password 'ok', 'coffee'

-

GRANT :

GRANT SELECT ON EMP TO DUBOIS REVOKE :

REVOKE SELECT ON EMP FROM DUBOIS

Sauvegarde : 7

USE master EXEC sp_addumpdevice 'disk', 'MyNwind_1', DISK ='c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_1.dat' BACKUP DATABASE MyNwind TO MyNwind_1 USE master EXEC sp_addumpdevice 'disk', 'MyNwind_2', 'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_2.dat' USE master EXEC sp_addumpdevice 'disk', 'MyNwindLog1', 'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwindLog1.dat' BACKUP DATABASE MyNwind TO MyNwind_2 BACKUP LOG MyNwind TO MyNwindLog1 BACKUP LOG MyNwind TO MyNwind_log3 WITH NO_TRUNCATE GO USE MyNwind GO BACKUP DATABASE MyNwind TO TAPE = '\\.\Tape0' WITH FORMAT, NAME = 'Full Backup of MyNwind' GO BACKUP DATABASE MyNwind TO MyNwind_1 WITH DIFFERENTIAL GO BACKUP DATABASE MyNwind TO MyNwind_1 WITH INIT GO BACKUP DATABASE MyNwind FILE = 'MyNwind_data_1', FILEGROUP = 'new_customers', FILE = 'MyNwind_data_2', FILEGROUP = 'first_qtr_sales' TO MyNwind_1 GO ------USE master GO RESTORE DATABASE MyNwind FROM MyNwind_1 8

WITH STANDBY = 'c:\undo.ldf' GO RESTORE LOG MyNwind FROM MyNwind_log1 WITH STANDBY = 'c:\undo.ldf' GO RESTORE LOG MyNwind FROM MyNwind_log2 WITH STANDBY = 'c:\undo.ldf' GO RESTORE LOG MyNwind FROM MyNwind_log3 WITH STANDBY = 'c:\undo.ldf' GO RESTORE DATABASE MyNwind WITH RECOVERY GO

9

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close