dbms ไทย บทที่ 04...

74
บบบบบ4 บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ ใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใ SQL Server ใใใใ DBMS ใใใใ ใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใ ใ ใใใใใใใใใ ใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใ ใใใใใใใใ ใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใ ใใใใใใใใใใใใใ ใ ใใใใใใใใใใ ใใใใใใใใใใใใใใ ใใใใใใใใใใ ใ ใใใใใใใใใใใใใใใ ใใใใ ใใใใ ใใใใ, ใใใใใใใใ, ใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใ ใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใ ใใใใใใใใใใใใใใใใใ, ใใใใใใใใใใใใใใ ใใใใใใ ใใใใใใใ Transact-SQL ใใใ SQL Server Management Studio ใใใใใใใใใใใใใใใใใใ ใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใ ใ ใใใใใใใใใใใใใใใ ใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ SQL Server 2005 ใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใ

Upload: know2pro

Post on 11-Nov-2015

47 views

Category:

Documents


10 download

DESCRIPTION

DBMS ไทย บทที่ 04 การจัดการกับฐานข้อมูลเบื้องต้น

TRANSCRIPT

4

4

SQL Server DBMS , ,

, Transact-SQL SQL Server Management Studio SQL Server 2005 SQL Server

SQL Server

1. User View Logical Implementation (DBA: Data base Administrator) , , , Stored Procedure User View

2. Physical Implementation DBA DBA

SQL Server 2 (Data File) (Transaction Log File) 1

2

Primary File Secondary File Primary File Primary File .mdf

Secondary File Primary file

Secondary File .ndf

Note

(Page) 8 (KB) Extent 8 Extent SQL Server

SQL Server

(File Group) SQL Server Primary

3

.ldf Primary (Transaction)

1. 2.

SQL Server Rollback

SQL Server 2

SQL Server DBMS 4 Master Database DBMS , , , , System Stored Procedure Model Database TblProducts Msdb Database SQL Server Agent alerts jobs Tempdb Database Stored Procedure Clustered Index SQL Server

SQL Server 2 1. SQL Server Management Studio , Transact-SQL SQL Server Management Studio Transact-SQL SQL Server Management Studio Transact-SQL SQL Server Management Studio 2. Transact-SQL , , SQL Server Database Engine Query Transact-SQL SQL Server Management

SQL Server Management Studio SQL Server Management Studio ( Orders )1. SQL Server Management Studio Start

Programs>Microsoft SQL Server 2005>SQL Server Management Studio

SQL Server Management Studio Connect to

Server Server name

Authentication Windows Authentication (User Account) SQL Server Authentication SQL Server SQL Server SQL Server Management Studio Login Password Connect

2. KIM (SQL Server 9.0.247 SA)

3. Database New Database

4. New Database General Database name Database files

5. , , 7 ( Primary File ) 1 Logical Name Database name _log 2 File Type 3 Filegroup Not Applicable

4 Initial Size (MB) 5 Autogrowth

... 3

Enable Autogrowth File Growth In Percent In Megabytes

Maximum File Size 2 Restricted File Growth (MB) Unrestricted File Growth 6 Path 7 File name SQL Server Logical Name 6. Add Remove

7. Options Collation, Recovery mode Options Options Help

8. Filegroups Add Remove

9. OK

Transact-SQL

SQL Server Management Studio Transact-SQL Database Engine Query Transact-SQL Database Engine Query

Database Engine Query Transact-SQL SQL Server SQL Server Database Engine Query Transact-SQL Database Engine Query Object Explorer Database Engine Query

Transact-SQL

Database Engine Query

Analysis Services MDX Query

Analysis Services DMX Query

Analysis Services XMLA Query

SQL Server Mobile Query

Transact-SQL

Transact-SQL

Transact-SQL

Registered Servers

Summary

Object Explorer

Template Explorer

(Properties) Transact-SQL

Transact-SQL

Transact-SQL

Execution Plan

Database Engine Tuning Advisor

Transact-SQL

Query Deginer

Transact-SQL

Transact-SQL

Transact-SQL

Transact-SQL Database Engine Query

Transact-SQL Database Engine Query Database Engine Query, Transact-SQL, Transact-SQL Transact-SQL

SQL Server Management Studio Database Engine Query, Transact-SQL ( Transact-SQL ) Transact-SQL ORDERS USE ( Execute Transact-SQL Note Transact-SQL CREATE DATABASE ORDERS USE

Transact-SQL Execute

Transact-SQL

Database Engine Query Transact-SQL Transact-SQL CREATE DATABASE

CREATE DATABASE database_name

[ ON

[ < filespec > [ n ] ]

[ , < filespec > [ n ] ] ]

[ LOG ON { < filespec > [ n ] } ]

4

1 database_name

2 ON Primary [ < filespec > [ n ] ] [PRIMARY]

Primary File

( [ NAME = logical_file_name , ]

FILENAME = os_file_name

[ , SIZE = size ]

[ , MAXSIZE = { max_size |UNLIMITED } ][ , FILEGROWTH = growth_increment ] )Note

[ ] SQL Server () | [ ,..n ] ,

FILENAME = os_file_name E:\SQLData\OrdersData.mdf SQLData

3 [ , < filegroup > [ n ] ] Primary FILEGROUP filegroup_nam

< filegroup > [ n ] ]

4 LOG ON [ , < filegroup > [ n ] ]

Transact-SQL Database Engine Query Transact-SQL 1. Database Engine Query SQL Server Management Studio Database Engine Query 2. Transact-SQL Orders Primary File OrdersData.mdf Primary 3MB, 5MB, 10% OrdersLog.ldf 3MB 100MB 50MB

Note SQL Data E 3. ( Transact-SQL Execute Transact-SQL

4. Order EXEC System Stored Procedure sp_helpdb EXEC sp_helpdb Execute

NoteSystem Stored Procedure SQL Server SQL Server System Stored Procedures Stored Procedure

SQL Server Management Studio 1. Object Explorer Delete 2. ( ) OK

Transact-SQL

DROP DATABASE (Restore) (Backup) DROP DATABASE

DROP DATABASE database_name [ ,.n ]

database_name [ ,n ] DROP DATABASE Note DROP DATABASE

Orders Database Engine Query Execute

Object Explorer

Transact-SQL , ,

Object Explorer Object Browser SQL Server 2000 Object Explorer Object Explorer

1 2 +

SQL Server , ,

SQL Server SQL Server Management Studio Transact-SQL SQL Server Management Studio

SQL Server Management Studio Properties

Database Properties Files, Permissions

General Files , FileGroups 2 1. Read-Only 2. Default SQL Server Default

Transact-SQL

SQL Server Management Studio ALTER DATABASE ALTER DATABASE database_name

{ ADD FILE < filespec > [ ,n ] [ TO FILEGROUP filegoup_name ] | ADD LOG FILE < filespec > [ ,n ]

| ADD FILEGROUP filegoup_name

| REMOVE FILE logical_file_name

| REMOVE FILEGROUP filegoup_name| MODIFY FILE < filespec >

| MODIFY NAME = new_dbname

| COLLATE collation_name

| MODIFY FILEGOUP fg_name { fp_property |NAME = new_fp_name } }

ALTER DATABASE 3 1. ADD , 2. REMOVE , 3. MODIFY , Fg_property READONLY READWRITE DEFAULT Default SQL Server Default new_fg_name new_dbname collation_name ALTER DATABASE

ALTER DATABASE 3 Order Stored Procedure sp_helpdb, sp_helpfile

New_Orders_Group New OrdrsFile Orders Database Engine Query Execute

Database Engine Query Execute

New_Orders_Group Old_Orders_Group READ ONLY NewOrdersFile , Database Engine Query Execute

Note ALTER DATABASE READONLY ALTER DATABASE NewOrdersFile New_Group_Database READONLY NewOrdersFile New_Group_Database

, 2

Shrink 2

1 Shrink File

2 Shrink Database SQL Server Management Studio

SQL Server Management Studio 2 Shrink File Shrink Database 2 1. Orders 2 Orders GroupPrimary1 OrderGroupPrimary2 10 5 MB 2 OrdersLog1 OrderLog2 10 MB 2. Orders Report Disk Usage ( SQL Server 2005 Service Park 2 Orders Reports > Standard Reports > Disk Usage)

3. + Disk Space Used by Data Files OrdersGroupPrimary1 1.50 MB OrderGroupPrimay2 576 KB 75%

Shrink Database

Shrink Database 1. Orders Tasks > Shrink > Database

Shrink Database

1 Orders

2 3 Maximum free spece in files after shrinking (Target Size) Shrink Database 2 Target Size A 10 MB 6 MB 4 MB ( 4/10*100=40%) Target Size 25% A 8 MB 2 MB 25% 8 MB ( 2/8*100=25%) 2 MB (10MB-8MB) SQL Server

SQL Server Target Size 2 A 10 MB 2 MB B 10 MB 4 MB (10-4)+(10-2)= 14MB Target Size 50% 7 MB (50% 14) SQL Server 7 MB

Note

10 MB 7 MB Target Size 50% 14 MB (10 MB) 2. Target Size 50% OK

Shrink File

Shrink Database Shrink File Shrink File Orders Shrink Database 1. Orders Tasks > Shrink > Files Shrink File

2. Database files and filegroups OrderGroupPrimary1 Reorganize pages Shrink action OK Shrink File OK

3. OrdersGroupPrimary1

Transact-SQL

SQL Server Management Studio Transact-SQL

DBCC SHRINKDATABASE

( database_name [ , target_percent ]

[ , { NOTRUNCATE | TRUNCATEONLY } ] ) Database_name Target_percent target_size NOTRUNCATE TRUNCATEONLY target_percent target_percent DBCC SHRINKDATABASE

Orders DBCC SHRINK DATABASE 1. Orders Report Disk Usage ( SP2 Orders Reports > Standard Reports > Disk Usage) + Disk Space Used by Data Files

2. DBCC SHRINKDATABASE

NORTUNCATE () target_percent 50% NOTRUNCATE Database Engine Query Execute

target_percent 50 3. DBCC SHRINKDATABASE TRUNCATEONLY Database Engine Query Execute

Shrink File DBBCC SHRINKFILE DBCC SHRINKFILE

( { file_name }{ [ , target_percent ] | [ , { EMPTYFILE | NOTRUNCATE |TRUNCATEONLY }]}) File_name Target_percent target_size EMPTYFILE NOTRUNCATE NOTRUNCATE DBCC SHRINKDATABASE file_name TRUNCATEONLY TRUNCATEONLY DBCC SHRINKDATABASE file_name target_percent target_percent CBCC SHRINKFILE

OrdersGroupPrimary2 Orders CBCC SHRINKFILE 1. OrdersGroupPrimary2 Orders Report Disk Usage ( PS2 Orders Reports > Standard Reports > Disk Usage) + Disk Space Used by Data Files

2. CBCC SHRINKFILE target_size 2 MB OrdersGroupPrimary2 2 MB Database Engine Query Execute OrdersGroupPrimary2 2 MB

3. CBCC SHRINKFILE EMPTYFILE OrdersGroupPrimary 2 OrdersGroupPrimary1 Database Engine Query Execute Database Engine Query2 320KB-64KB=256KB OrdersGroupPrimary1 1.75MB+256MB 1.94 MB