chuong1 creating database sql server 2005

41
Chương 1: Tạo cơ sở dữ liệu (Creating Databases) CHƯƠNG 1: TẠO CƠ SỞ DỮ LIỆU (CREATING DATABASES)............. 2 I Nội dung trình bày ................................................................................... 2 II Các xem xét cần lưu ý đối với việc tạo một cơ sở dữ liệu ........................ 3 II.1 Các cơ sở dữ liệu xử lý giao dịch trực tuyến (OLTP databases) ....... 4 II.2 Các cơ sở dữ liệu xử lý phân tích trực tuyến (OLAP databases) ....... 5 II.3 Các cân nhắc khi hoạch định một cơ sở dữ liệu .............................. 5 II.4 Ví dụ tạo một cơ sở dữ liệu .............................................................. 7 III Ghi sổ giao dịch (Transaction Logging) ............................................... 19 III.1 Giao dịch (Transaction) ................................................................ 19 III.2 Sổ ghi giao dịch (Transaction log) ................................................ 20 III.3 Logging process ........................................................................... 21 III.4 Các xem xét liên quan vị trí của tập tin sổ ghi (Log file) ................ 22 IV Các tuỳ chọn cho cơ sở dữ liệu (Database Options) ........................... 23 IV.1 Phân loại tùy chọn cơ sở dữ liệu ................................................... 24 V Thông tin nguồn cơ sở dữ liệu (Sources of Database Information) ....... 29 V.1 SQL Server Management Studio ................................................... 29 V.2 Catalog views ................................................................................ 30 V.3 Metadata functions ........................................................................ 32 V.4 Stored procedures của hệ thống ................................................... 38 VI Tài liệu tham khảo ............................................................................... 41 SQL Server 2005 - GV: Trần Xuân Hải Trang 1

Upload: assistant1986

Post on 23-Jun-2015

849 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

CHƯƠNG 1: TẠO CƠ SỞ DỮ LIỆU (CREATING DATABASES).............2I Nội dung trình bày ................................................................................... 2 II Các xem xét cần lưu ý đối với việc tạo một cơ sở dữ liệu ........................ 3

II.1 Các cơ sở dữ liệu xử lý giao dịch trực tuyến (OLTP databases) ....... 4 II.2 Các cơ sở dữ liệu xử lý phân tích trực tuyến (OLAP databases) ....... 5 II.3 Các cân nhắc khi hoạch định một cơ sở dữ liệu .............................. 5 II.4 Ví dụ tạo một cơ sở dữ liệu .............................................................. 7

III Ghi sổ giao dịch (Transaction Logging) ............................................... 19 III.1 Giao dịch (Transaction) ................................................................ 19 III.2 Sổ ghi giao dịch (Transaction log) ................................................ 20 III.3 Logging process ........................................................................... 21 III.4 Các xem xét liên quan vị trí của tập tin sổ ghi (Log file) ................ 22

IV Các tuỳ chọn cho cơ sở dữ liệu (Database Options) ........................... 23 IV.1 Phân loại tùy chọn cơ sở dữ liệu ................................................... 24

V Thông tin nguồn cơ sở dữ liệu (Sources of Database Information) ....... 29 V.1 SQL Server Management Studio ................................................... 29 V.2 Catalog views ................................................................................ 30 V.3 Metadata functions ........................................................................ 32 V.4 Stored procedures của hệ thống ................................................... 38

VI Tài liệu tham khảo ............................................................................... 41

SQL Server 2005 - GV: Trần Xuân Hải Trang 1

Page 2: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

CHƯƠNG 1: TẠO CƠ SỞ DỮ LIỆU (CREATING DATABASES)

I Nội dung trình bàyNội dung của chương này sẽ đề cập đến các vấn đề sau:

• Những điều cần lưu ý khi tạo cơ sở dữ liệu.• Tiến trình ghi sổ giao dịch (transaction logging

process) và những điều cần lưu tâm đối với sự đinh vị tập tin sổ ghi (log file).

• Các tùy chọn cơ sở dữ liệu (database options).• Thông tin nguồn cơ sở dữ liệu (sources of database

information).

Là chuyên viên phát triển cơ sở dữ liệu, bạn có thể được mong chờ là người lên kế hoạch, thiết kế, và cài đặt các cơ sở dữ liệu. Bạn cũng có thể có bổn phận làm việc với các cơ sở dữ liệu đang tồn tại mà trước đó bạn hay những chuyên viên phát triển cơ sở dữ liệu khác đã tạo. Bởi vì cơ sở dữ liệu tạo thành một phần then chốt của nhiều ứng dụng doanh

SQL Server 2005 - GV: Trần Xuân Hải Trang 2

Page 3: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

nghiệp, việc hiểu cách mà các cơ sở dữ liệu được tạo và các tùy chọn nào thông thường được sử dụng là điều quan trọng.

Trong chương này, chúng ta sẽ tìm hiểu một số cân nhắc xem xét mà bạn cần phải tính đến khi thiết kế một cơ sở dữ liệu Microsoft SQL Server 2005. Chúng ta cũng sẽ tìm hiểu cách thức sổ ghi giao dịch SQL Server 2005 làm việc, cách thiết lập các tùy chọn cơ sở dữ liệu, và cách xem cấu trúc dữ liệu (metadata) của một cơ sở dữ liệu và các đối tượng của nó.

II Các xem xét cần lưu ý đối với việc tạo một cơ sở dữ liệuBạn có thể sử dụng SQL Server thực hiện việc xử lý giao

dịch, lưu trữ và phân tích dữ liệu.

SQL Server thuộc họ các sản phẩm và công nghệ mà kho dữ liệu phù hợp với các yêu cầu môi trường xử lý giao dịch trực tuyến (online transaction processing - OLTP) và xử lý phân tích trực tuyến (online analytical processing - OLAP). SQL Server là hệ quản trị cơ sở dữ liệu quan hệ (relational database management system - RDBMS) với các tính năng sau:

SQL Server 2005 - GV: Trần Xuân Hải Trang 3

Page 4: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• Qu n lý kho d li u cho các giao d ch (transactions)ả ữ ệ ị và phân tích (analysis).

• Khả năng lưu trữ dữ liệu với các kiểu dữ liệu có miền giá trị rộng, bao gồm text, numeric, Extensible Markup Language (XML), và các đối tượng lớn.

• Đáp trả các yêu cầu từ các ứng dụng client.• Sử dụng Transact-SQL, XML, hay các câu lệnh SQL

Server khác để gởi các yêu cầu giữa ứng dụng client và SQL Server.

Hệ quản trị cơ sở dữ liệu SQL Server là đáng tin cậy đối với:• Việc duy trì các mối quan hệ giữa các đối tượng dữ

liệu trong một cơ sở dữ liệu.• Việc bảo đảm rằng dữ liệu được lưu trữ đúng đắn và

đứng đắn và các quy tắc định nghĩa các quan hệ giữa các đối tương dữ liệu là không bị xâm phạm.

• Việc khôi phục tất cả dữ liệu tới một điểm “point of known consistency”, trong sự kiện lỗi hệ thống.

II.1 Các cơ sở dữ liệu xử lý giao dịch trực tuyến (OLTP databases)

Các table quan hệ tổ chức dữ liệu trong một cơ sở dữ liệu OLTP để giảm thiểu thông tin dư thừa và tăng tốc độ cập nhật. SQL Server cho phép số lượng lớn người dùng thực thi các giao dịch và sự thay đổi đồng thời dữ liệu theo thời gian thực trong các cơ sở dữ liệu OLTP.

SQL Server 2005 - GV: Trần Xuân Hải Trang 4

Page 5: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

II.2 Các cơ sở dữ liệu xử lý phân tích trực tuyến (OLAP databases)

Công nghệ OLAP được sử dụng để tổ chức và tổng hợp số lượng dữ liệu lớn để một người phân tích có thể đánh giá dữ liệu một cách nhanh chóng và theo thời gian thực. Microsoft SQL Server Analysis Services tổ chức dữ liệu này để hỗ trợ các giải pháp đối với doanh nghiệp lớn, xuất phát từ các báo cáo công ty và sự phân tích để mô hình hóa dữ liệu và hỗ trợ quyết định.

II.3 Các cân nhắc khi hoạch định một cơ sở dữ liệu

Khi hoạch định một cơ sở dữ liệu mới, bạn cần tính đến việc cân nhắc xem xét một số khía cạnh sau:

• Mục tiêu của kho dữ liệu (Purpose of data storage): các cơ sở dữ liệu OLTP và OLAP có các mục tiêu khác nhau và vì vậy các yêu cầu thiết kế cũng sẽ khác nhau.

• Tần suất giao dịch (Transaction throughput) : các cơ sở dữ liệu OLTP thường có nhu cầu cao đối với số lượng các giao dịch có thể được xử lý mỗi phút, giờ, hay mỗi ngày. Một thiết kế đạt hiệu suất cao liên quan đến một mức độ thích hợp của sự chuẩn hóa

SQL Server 2005 - GV: Trần Xuân Hải Trang 5

Page 6: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

(normalization), các chỉ mục (indexes), và sự phân chia dữ liệu có thể đạt được một mức độ rất cao của tần suất giao dịch.

• Kh năng tăng tr ng v khía c nh v t lý c a khoả ưở ề ạ ậ ủ l u tr (Potential growth of physical dataư ữ

storage): Số lượng dữ liệu lớn đòi hỏi phần cứng phù hợp đối với bộ nhớ (memory), dung lượng đĩa cứng (hard disk), và khả năng của đơn vị xử lý trung tâm (central processing unit - CPU). Việc ước lượng số lượng dữ liệu mà cơ sở dữ liệu của bạn sẽ phải lưu trữ trong nhiều tháng và nhiều năm tiếp theo sau sẽ bảo đảm rằng cơ sở dữ liệu của bạn sẽ duy trì làm việc hiệu quả. Bạn có thể định cấu hình các cơ sở dữ liệu sao cho các tập tin tăng trưởng một cách tự động với bước tăng theo thông số xác định nào đó đến một kích thước tối đa đã được chỉ định. Tuy nhiên, việc tăng trưởng tự động tập tin có thể ảnh hưởng đến hiệu suất hoạt động. Trong hầu hết các giải pháp cơ sở dữ liệu server-based, bạn nên tạo cơ sở dữ liệu với kích thước các tập tin phù hợp, theo dõi giám sát không gian thường sử dụng, và chỉ cấp phát thêm không gian cho tập tin chỉ khi thấy cần thiết.

SQL Server 2005 - GV: Trần Xuân Hải Trang 6

Page 7: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• File location: Nơi mà bạn đặt các tập tin có thể có tác động ảnh hưởng về hiệu suất thực thi. Nếu có thể, bạn nên sử dụng nhiều ổ đĩa, bạn có thể dàn trải các tập tin cơ sở dữ liệu của bạn trên nhiều hơn một đĩa. Điều này cho phép SQL Server nhận được sự thuận lợi của việc có nhiều kết nối và nhiều đầu đọc đĩa cho việc đọc và ghi dữ liệu hiệu quả.

II.4 Ví dụ tạo một cơ sở dữ liệu

Bạn có thể tạo một cơ sở dữ liệu bằng cách sử dụng công cụ trực quan trong SQL Server Management Studio hoặc sử dụng câu lệnh CREATE DATABASE của Transact-SQL.

Ví dụ sau đây trình bày cách tạo một cơ sở dữ liệu bằng cách sử dụng Transact-SQL.

CREATE DATABASE TestDBON (NAME = 'TestDB_Data',FILENAME = 'D:\DATA_ViDu\TestDB_Data.mdf',SIZE = 20 MB,FILEGROWTH = 0)LOG ON (NAME = 'TestDB_Log',FILENAME = 'D:\DATA_ViDu\TestDB_Log.ldf',SIZE = 5 MB,FILEGROWTH = 0)

SQL Server 2005 - GV: Trần Xuân Hải Trang 7

Page 8: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Hình I.1 trình bày cách thực thi câu lệnh trên bằng cách sử dụng trình soạn thảo Query trong SQL Server Management Studio

(Hình I.1)

Nếu muốn, thay vì sử dụng câu lệnh Transact – SQL bạn có thể dùng công cụ trực quan SQL Server Management Studio để tạo một cơ sở dữ liệu. Để làm theo cách này, bạn lần lượt theo các bước sau:Bước 1: Từ màn hình windows start Microsoft SQL Server 2005 SQL Server Management Studio (hình I.2)

SQL Server 2005 - GV: Trần Xuân Hải Trang 8

Page 9: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

(Hình I.2)Bước 2: Trong hộp thoại Connect to Server, bạn cần chọn các thông số thích hợp với các ý nghĩa được giải thích bên dưới (hình I.3)

(Hình I.3)

SQL Server 2005 - GV: Trần Xuân Hải Trang 9

Page 10: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Ý nghĩa các thông số trong hộp thoại Connect to Server :

• Server type : mục này cho phép chọn một loại server để thực hiện việc đăng ký. Combo tương ứng với mục này chứa danh sách bao gồm: Database Engine, Analysis Services, Reporting Services, SQL Server Mobile, và Integration Services. Phần còn lại của hộp thoại chỉ trình bày các tùy chọn mà chúng sẽ được áp dụng tới loại server đã chọn. Khi đăng ký một server từ Registered Servers, mục Server type là read-only, và phù hợp với loại server đã được hiển thị trong thành phần Registered Servers. Để đăng ký một loại server khác, chọn Database Engine, Analysis Services, Reporting Services, SQL Server Mobile, hoặc Integration Services từ thanh công cụ Registered Servers trước khi bắt đầu đăng ký một server mới.

• Server name: chọn server instance để thực hiện kết nối. Server instance lần sau cùng được kết nối sẽ được hiển thị mặc định. Ở hình I.1 tôi thực hiện việc kết nối đến máy server có tên là TXHAI và instance có tên là TXHAI_2005

SQL Server 2005 - GV: Trần Xuân Hải Trang 10

Page 11: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• Authentication (Sự chứng thực hay tính xác thực): Mang ý nghĩa biểu thị bạn là ai đối với hệ thống. Có hai chế độ xác thực sẵn dùng khi bạn thực hiện việc kết nối đến một instance của Database Engine:

o Windows Authentication Mode: Chế độ chứng

thực Windows cho phép một người dùng thực hiện việc kết nối thông qua một tài khoản người dùng của Windows (Windows user account).

o SQL Server Authentication: Khi người dùng

thực hiện kết nối với một tên đăng nhập và mật khẩu xác định xuất phát từ một non-trusted connection, SQL Server thực thi sự chứng thực của chính nó với việc kiểm tra để xem xét phải chăng một tài khoản đăng nhập SQL Server đã được thiết lập và phải chăng mật khẩu đã được xác định là phù hợp với những gì trước đó đã ghi nhận. Nếu không, sự chứng thực bị lỗi và người dùng sẽ nhận một thông báo lỗi.

Chú ý: Vì lý do an toàn về tính bảo mật, bạn nên sử dụng sự chứng thực của Windows (Windows Authentication)

SQL Server 2005 - GV: Trần Xuân Hải Trang 11

Page 12: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• User name: Gõ vào tên người dùng mag bạn sử dụng để kết nối. Tùy chọn này chỉ hiệu lực khi trước đó bạn đã chọn kết nối bằng cách sử dụng sự chứng thực Windows.

• Login : Gõ vào tên đăng nhập mà bạn sử dụng để kết nối. Tùy chọn này chỉ hiệu lực khi trước đó bạn đã chọn kết nối với việc sử dụng sự chứng thực của SQL Server.

• Password : Gõ vào mật khẩu tương ứng với tên đăng nhập (login). Tùy chọn này chỉ có hiệu lực nếu bạn đã chọn kết nối với việc sử dụng sự chứng thực SQL Server.

• Connect : Click nút lệnh này để thực hiện việc kết nối với các thông số đã định ở bên trên.

• Options : Click nút lệnh này để bổ sung các tùy chọn kết nối server, ví dụ như việc đăng ký một server và ghi nhớ lại mật khẩu.

Bước 3: Trong khung Object Explorer click phải tại mục Databases New Database (hình I.4). Nếu không thấy hiển thị khung này, bạn có thể click chức năng view trên thực đơn click chọn mục Object Explorer để hiển thị nó.

SQL Server 2005 - GV: Trần Xuân Hải Trang 12

Page 13: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

(Hình I.4)

Bước 3: Trong cửa sổ New Database bạn thực hiện theo hướng dẫn trình bay tiếp theo sau

(Hình I.5)

SQL Server 2005 - GV: Trần Xuân Hải Trang 13

Page 14: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• Database name : Gõ vào tên của cơ sở dữ liệu. Trong ví dụ này bạn gõ vào tên của cơ sở dữ liệu là QLKD_CHMayTinh

• Owner : Xác định quyền chủ sở hữu cơ sở dữ liệu đang tạo bằng cách click nút lệnh để chọn trong danh sách.

• Use full-text indexing : Mục này nếu check vào cho phép tạo các chỉ mục loại full-text trên cơ sở dữ liệu.

• Database Files : cho phép thực hiện các thao tác Add, view, modify, hoặc remove các tập tin cơ sở dữ liệu liên quan với cơ sở dữ liệu đang tạo. Các tập tin cơ sở dữ liệu có các thuộc tính sau:

o Logical Name : Mặc định sẽ lấy tên theo tên đã

xác định tại mục Database (Đối với tập tin log sẽ tự động được gắn thêm từ log phía sau tên tập tin). Nếu muốn bạn có thể sửa đổi lại.

o File Type : Chọn loại tập tin từ danh sách. Loại

tập tin có thể là Data hoặc Log. Bạn không thể sửa đổi loại tập tin của một tập tin đang tồn tại.

SQL Server 2005 - GV: Trần Xuân Hải Trang 14

Page 15: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

o Filegroup : Chọn filegroup cho tập tin từ danh

sách. Mặc định, filegroup sẽ là PRIMARY. Bạn có thể tạo một filegroup mới bằng cách chọn mục Filegroup ở khung bên trái click nút lệnh Add. Bạn không thể sửa đổi filegroup của một tập tin đang tồn tại.

o Initial Size : Gõ vào hoặc sửa đổi kích thước

khởi tạo của tập tin theo MB (megabytes). MB là đơn vị tính mặc định cho việc xác định kích thước cơ sở dữ liệu. Cũng theo mặc định, kích thước của tập tin loại Data là 2MB và kích thước của tập tin loại Log là 1MB.

o Autogrowth: Mục này hiển thị thông tin liên

quan đến các thuộc tính autogrowth đối với tập tin. Mặc định, thuộc tính autogrowth của tập tin loại Data có bước tăng trưởng mỗi lần là 1MB và không có sự hạn chế về kích thước tối đa đối với tập tin. Cũng theo mặc định, thuộc tính autogrowth của tập tin loại Log có bước tăng trưởng mỗi lần là 10 % kích thước tập tin và không có hạn chế về kích thước tối đối với tập

SQL Server 2005 - GV: Trần Xuân Hải Trang 15

Page 16: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

tin. Trong trường hợp muốn sửa đổi các thuộc tính liên quan, bạn có thể click vào biểu tượng bên phải của cột autogrowth sẽ xuất hiện hộp thoại như hình I.6.

(Hình I.6)

Bạn có thể dựa trên ý nghĩa được giải thích sau đây để cân nhắc các chọn lựa khi thực hiện:

Mục Enable Autogrowth: Nếu bạn click vào để loại bỏ thiết lập tự động tăng trưởng về kích thước của tập tin. Điều cũng có nghĩa rằng bạn cần phải tính toán dự trù chính xác kích thước xin cấp phát phù hợp cho tập tin khi tạo cơ sở dữ liệu. Việc này sẽ khiến cho hệ thống

SQL Server 2005 - GV: Trần Xuân Hải Trang 16

Page 17: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

hoạt động hoàn hảo hơn (đương nhiên với điều kiện là bạn phải có sự tính toán dự trù về kích thước tập tin chính xác). Các thuộc tính còn lại đương nhiên phụ thuộc vào việc bạn có giữ check này không.

Tại mục File Growth: Bạn có thể chọn một trong hai tùy chọn. Nếu muốn tập tin tăng theo MB bạn click chọn In Megabytes và xác định số lượng MB mỗi lần tăng trong combo tương ứng bên phải. Nếu muốn kích thước tập tin tăng theo phần trăm kích thước tập tin chọn In percent.

Tại mục Maximum File Size: Bạn có thể giữ nguyên tùy chọn mặc định đối với mục này Unrestricted File Growth nếu không muốn có sự hạn chế về kích thước tối đa của tập tin. Nếu muốn, bạn có thể chọn tùy chọn còn lại Restricted File Growth để xác định kích thước tối

SQL Server 2005 - GV: Trần Xuân Hải Trang 17

Page 18: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

đa của tập tin xác định số lượng tại combo tương ứng bên phải. Có lẽ bạn chỉ nên làm điều này đối với tập tin Log.

o Path : Hiển thị đường dẫn nơi lưu trữ tập tin.

Để xác định đường dẫn cho tập tin mới click nút lệnh bên phải cột này xuất hiện hộp thoại như hình I.7. Bạn có thể chọn lại nơi lưu tập tin.

(Hình I.7)

o File Name : Hiển thị tên của tập tin.

SQL Server 2005 - GV: Trần Xuân Hải Trang 18

Page 19: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

o Add : Thêm tập tin mới tới database.

o Remove : Xoa tập tin đã chọn xuất phát từ

database. Một tập tin sẽ không thể bị loại bỏ trừ khi nó rổng (empty). Các tập tin primary data và tập tin log là không thể loại bỏ.

III Ghi sổ giao dịch (Transaction Logging)

III.1 Giao dịch (Transaction)

Một giao dịch là khái niệm dùng để ám chỉ đến một đơn vị công việc đơn lẻ trong một cơ sở dữ liệu. Nhóm từ ACID thường được dùng để mô tả các đặc trưng của một giao dịch. Quan điểm ACID có thể diễn giải như sau:

• Atomicity (Tính nguyên tử): Một giao dịch là một đơn thể nguyên tử (atomic unit), có nghĩa là nó không thể được chia nhỏ, tất cả các các hành động đã được định nghĩa trong giao dịch được hoặc hoàn hoàn tất hoặc chẳng có hành động nào trong chúng được hoàn tất.

• Consistency (Tính nhất quán): Kết quả tác động của một giao dịch đối với dữ liệu luôn bảo đảm tính nhất quán của chúng.

SQL Server 2005 - GV: Trần Xuân Hải Trang 19

Page 20: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• Isolation (Tính cô lập): Một giao dịch hành động trong sự cô lập tách rời khỏi các hoạt động cơ sở dữ liệu khác. Các hoạt động cơ sở dữ liệu khác không có hiệu lực với giao dịch.

• Durability (Tính bền vững): Bảo đảm rằng một khi giao dịch ủy thác kết quả của nó được duy trì cố định không bị xóa khỏi CSDL dù giao dịch có thành công hay không.Tính bền vững dẫn đến khái niệm phục hồi CSDL(database recovery). SQL Server hỗ trợ không tường minh (implicit) các giao dịch đối với các lệnh riêng lẻ sửa đổi dữ liệu và tường minh các giao dịch đối với các lệnh phức tạp mà chúng phải được thực thi như là một đơn thể.

III.2 Sổ ghi giao dịch (Transaction log)

SQL Server ghi sổ mọi giao dịch trong sổ ghi giao dịch để duy trì tính nhất quán cơ sở dữ liệu và để giúp khôi phục lỗi cơ sở dữ liệu. Sổ ghi là một phạm vi lưu trữ lưu vết tự động các thay đổi đối với cơ sở dữ liệu. SQL Server ghi chép trên đĩa sự sửa đổi vào sổ ghi khi sự sử đổi được thực thi và trước khi chúng được ghi nhận vào trong cơ sở dữ liệu.

SQL Server 2005 - GV: Trần Xuân Hải Trang 20

Page 21: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

III.3 Logging process

Tiến trình ghi sổ được thực hiện như sau:

Bước 1: Ứng dụng gởi một yêu cầu sửa đổi dữ liệu.

Bước 2: Khi một trường hợp sửa đổi dữ liệu được thực thi, các trang dữ liệu (data pages) liệu bị tác động tải dữ liệu từ đĩa vào bên trong vùng đệm cache của bộ nhớ, với điều kiện là các trang dữ liệu này chưa có trong vùng đệm cache từ một truy vấn trước đó.

Bước 3: Sổ ghi ghi nhận mọi câu lệnh sửa đổi dữ liệu khi sự sửa đổi được thực hiện. Sự thay đổi luôn được ghi nhận trong sổ ghi và được ghi xuống đĩa trước khi sự thay đổi đó được thực hiện trong cơ sở dữ liệu. Loại sổ ghi này được gọi là write-ahead log.

Bước 4: Dựa trên cơ sở một chu kỳ nhất định, checkpoint process ghi tất cả các giao dịch tới cơ sở dữ liệu trên đĩa. Nếu hệ thống bị lỗi, tiến trình khôi phục tự động sử dụng sổ ghi giao dịch để “cuống chiếu tới” tất cả các giao dịch đã được xác nhận hoàn tất (commit) và “quay lui” (roll back) mọi giao dịch không hoàn tất. Sổ ghi sử dụng các đánh dấu giao dịch trong khi tự động khôi phục để kiểm các điểm bắt đầu và kết thúc của một giao dịch. Một giao dịch được xem như

SQL Server 2005 - GV: Trần Xuân Hải Trang 21

Page 22: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

hoàn tất khi đánh dấu BEGIN TRANSACTION có một đánh dấu tương ứng COMMIT TRANSACTION. Các trang dữ liệu (Data pages) được viết tới đĩa khi một checkpoint xảy ra.

III.4 Các xem xét liên quan vị trí của tập tin sổ ghi (Log file)

Để cải tiến hiệu quả làm việc, khuyến cáo rằng bạn nên đặt tập tin sổ ghi giao dịch trên một đĩa vật lý riêng biệt tách khỏi các tập tin dữ liệu của bạn. Điều này làm giảm bớt sự tranh giành và cho phép dùng một tập các đầu đọc ổ đĩa để ghi nhận các giao dịch vào sổ ghi giao dịch trong khi các đầu đọc khác đọc dữ liệu từ các tập tin dữ liệu tại cũng một thời điểm. Việc cập nhật dữ liệu là nhanh chóng bởi vì các giao dịch có thể sẽ được ghi ngay lập tức tới đĩa mà không phải chờ cho đến khi việc đọc dữ liệu được hoàn tất. Bởi vì các tập tin sổ ghi được ghi tiếp nối, nên nếu sổ ghi được lưu trữ trên một đĩa riêng biệt, các đầu đọc đĩa sẽ vẫn còn ở đúng vị trí cho thao tác ghi kế tiếp.

Hình I.8 trình bày minh họa nguyên tắc hoạt động của việc ghi sổ giao dịch trong SQL Server 2005

SQL Server 2005 - GV: Trần Xuân Hải Trang 22

Page 23: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

(Hình I.8)

IV Các tuỳ chọn cho cơ sở dữ liệu (Database Options)

Sau khi đã tạo cơ sở dữ liệu, bạn có thể thiết lập các tùy chọn cho cơ sở dữ liệu bằng cách sử dụng công cụ trực quan có sẵn trong SQL Server Management Studio hoặc sử dụng câu lệnh ALTER DATABASE của Transact-SQL.

Bạn có thể định cấu hình cho một số tùy chọn cơ sở dữ liệu, ngoài ra bạn có thể thiết lập chúng cho chỉ riêng một cơ

SQL Server 2005 - GV: Trần Xuân Hải Trang 23

Page 24: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

sở dữ liệu tại một thời điểm. Để các tùy chọn tác động lên tất cả các cơ sở dữ liệu mới, bạn cần phải thay đổi model database.

IV.1 Phân loại tùy chọn cơ sở dữ liệu

Có hơn 25 tùy chọn cơ sở dữ liệu được nhóm vào trong các phân loại tùy chọn khác nhau để giúp cho việc quản lý dễ dàng hơn. Bảng sau đây liệt kê một số các tùy chọn thường đường sử dụng hơn:

Loại tùy chọn Mục tiêu

Automatic Kiểm soát các hành vi như: statistics, database closing, và shrinking

Availability Kiểm soát liệu cơ sở dữ liệu có là online, ai có thể kết nối tới nó, và cơ sở dã liệu có là read-only hay không.

Cursor Kiểm soát hành vi và phạm vi cursor

Recovery Kiểm soát mô hình khôi phục cơ sở dữ liệu.

SQL Kiểm soát sự tuân thủ chuẩn ANSI các tùy chọn như là ANSI Null và tính đệ quy của các trigger.

(Hình I.9)

SQL Server 2005 - GV: Trần Xuân Hải Trang 24

Page 25: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Loại tùy chọn

Tùy chọn Diễn giải

Automatic AUTO_CREATE_STATISTICS T đ ng t o m i statisticsự ộ ạ ọ (th ng kê) c n thi t phù h pố ầ ế ợ v i m t truy v n cho s t i uớ ộ ấ ự ố ư hóa. M c đ nh là ON.ặ ị

AUTO_UPDATE_STATISTICS T đ ng c p nh t các statisticsự ộ ậ ậ không còn phù h p v i ngợ ớ ữ c nh (out-of-date) đ c yêuả ượ c u b i m t truy v n cho vi cầ ở ộ ấ ệ t i u hóa. M c đ nh là ON.ố ư ặ ị

AUTO_CLOSE N u thi t l p là ON ế ế ậ T đ ngự ộ đóng m t c s d li u khiộ ơ ở ữ ệ ng i dùng sau cùng thoát.ườ M c đ nh là OFF đ i v i t t cặ ị ố ớ ấ ả các phiên b n c a SQLả ủServer 2005 ngo i tr phiênạ ừ b n SQL Server 2005 Express.ả

AUTO_SHRINK Các t p tin c s d li u là phùậ ơ ở ữ ệ h p đ i v i vi c shrink (nén l i)ợ ố ớ ệ ạ đ nh kỳ n u thi t l p thu c tínhị ế ế ậ ộ này t i ON. M c đ nh là OFF.ớ ặ ịC hai lo i t p tin data và logả ạ ậ có th đ c t đ ng làm co l iể ượ ự ộ ạ n u b t thu c tính này là ON.ế ậ ộ AUTO_SHRINK làm gi m kíchả th c c a s ghi giao d chướ ủ ổ ị (transaction log) ch khiỉ database đ c thi t l p t iượ ế ậ ớ SIMPLE recovery model hay n u t p tin s ghi đ c backedế ậ ổ ượ up.

SQL Server 2005 - GV: Trần Xuân Hải Trang 25

Page 26: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Availability

OFFLINE | ONLINE |EMERGENCY

Khi OFFLINE đ c xác đ nh,ượ ị c s d li u đóng và bi u thơ ở ữ ệ ể ị offline.Khi ONLINE đ c xác đ nh, cượ ị ơ s d li u là m (open) và s nở ữ ệ ở ẵ sàng cho s d ng.ử ụKhi EMERGENCY đ c xácượ đ nh, c s d li u đ c bi uị ơ ỏ ữ ệ ượ ể th là READ_ONLY, vi c ghi sị ệ ổ là không hi u l c, và vi c truyệ ự ệ c p đ c gi i h n t i cácậ ượ ớ ạ ớ thành viên c a sysadmin.ủ

READ_ONLY | READ_WRITE Khi READ_ONLY đ c chượ ỉ đ nh, ng i dùng có th đ c dị ườ ể ọ ữ li u t c s d li u tuy nhiênệ ừ ơ ở ữ ệ không th s a nó. ể ửKhi READ_WRITE đ c chượ ỉ đ nh, c s d li u là s n sàngị ơ ở ữ ệ ẵ cho các thao tác đ c và ghi .ọM c đ nh là READ_WRITE.ặ ị

SINGLE_USER |RESTRICTED_USER |MULTI_USER

Ki m soát vi c ng i dùng nàoể ệ ườ là có th k t n i t i c s dể ế ố ớ ơ ở ữ li u.ệSINGLE_USER ch cho phépỉ m t ng i dùng k t n i.ộ ườ ế ốRESTRICTED_USER cho phép các thành viên c aủ db_owner và dbcreator và sysadmin k t n iế ố .MULTI_USER cho phép ng iườ dùng b t kỳ k t n i n u cóấ ế ố ế security permissions phù h p.ợ M c đ nh là MULTI_USER.ặ ị

SQL Server 2005 - GV: Trần Xuân Hải Trang 26

Page 27: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Cursor CURSOR_CLOSE_ON_COMMIT T đ ng đóng các cursor mự ộ ỏ khi m t giao d ch đ c xácộ ị ượ nh n hoàn t t (committed).ậ ấ M c đ nh là OFF.ặ ị

CURSOR_DEFAULT CURSOR_DEFAULT_LOCAL h n đ nh ph m vi c a cursor.ạ ị ạ ủ Tùy ch n này là c c b đ i v iọ ụ ộ ố ớ lô x lý (batch), storedử procedure, hay trigger mà cursor đã đ c t o.ượ ạCURSOR_DEFAULT_GLOBAL là tùy ch n thi t l p m c đ nh;ọ ế ậ ặ ị ph m vi c a cursor là toàn c cạ ủ ụ đ i v i k t n i (connection).ố ớ ế ố

Recovery RECOVERY - Khi đ c ch đ nh là FULL ượ ỉ ị h tr kh năng khôi ph c đ yỗ ợ ả ụ ầ đ thi t b l i và là m c đ nh. ủ ế ị ỗ ặ ị- Khi ch đ nh làỉ ị BULK_LOGGED vi c khôi ph cệ ụ ngay sau khi thi t b l i v i vi cế ị ỗ ớ ệ k t h p gi a hi u su t t t nh tế ợ ữ ệ ấ ố ấ và dung l ng s ghi t i thi uượ ổ ố ể s d ng cho quy mô l n ho cử ụ ớ ặ các thao tác bulk đ c h tr .ượ ỗ ợ- Khi SIMPLE đ c ch đ nhượ ỉ ị m t chi n l c backup đ nộ ế ượ ơ gi n v i vi c s d ng khôngả ớ ệ ử ụ gian s ghi t i thi u.ổ ố ể

Recovery PAGE_VERIFY Cho phép SQL Server phát hi n ra các thao tácệ input/output (I/O) không hoàn t t gây ra b i các s c vấ ở ự ố ề ngu n đi n ch ng h n. Khiồ ệ ẳ ạ CHECKSUM đ c ch đ nh,ượ ỉ ị Database Engine tính toán m tộ ki m tra t ng (checksum) thôngể ổ qua các n i dung c a toàn bộ ủ ộ trang và l u tr giá tr ph nư ữ ị ở ầ header c a trang khi m t trangủ ộ đ c vi t t i đĩa. Khi trangượ ế ớ

SQL Server 2005 - GV: Trần Xuân Hải Trang 27

Page 28: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

đ c đ c t đĩa, checksumượ ọ ừ đ c tính toán l i và đ c soượ ạ ượ sánh v i giá tr checksum đãớ ị l u tr trong ph n header c aư ữ ầ ủ trang. Đây là giá tr m c đ nh.ị ặ ịKhi TORN_PAGE_DETECTION đ c ch đ nh, m t bit riêng bi tượ ỉ ị ộ ệ cho m i 512-byte sector trongỗ 8-kilobyte (KB) data page như là m t b ph n c a pageộ ộ ậ ủ header. Các bit đã l u tr trongư ữ page header đ c so sánh v iượ ớ thông tin page sector trên th cự t khi data pages đ c đ c tế ượ ọ ừ đĩa.

SQL ANSI_NULL_DEFAULT Cho phép ng i dùng ki mườ ể soát kh năng m c đ nh Nullả ặ ị c a c s d li u. ủ ơ ở ữ ệKhi On đ c ch đ nh, giá trượ ỉ ị ị m c đ nh là Null.ặ ịOff là m c đ nh đ i v i SQLặ ị ố ớ Server 2005 và khi đó giá trị m c đ nh là NOT ặ ị NULL.

SQL ANSI_NULLS Khi ON, t t c các phép soấ ả sánh đ i v i m t giá tr null số ớ ộ ị ẽ đ c đ nh giá t i NULLượ ị ớ (unknown). Khi OFF, phép so sánh c a các giá tr non-ủ ịUnicode đ i v i m t giá tr nullố ớ ộ ị đ c đ nh giá t i TRUE n u cượ ị ớ ế ả hai giá tr đ u là NULL. M cị ề ặ đ nh, tùy ch n này là OFF.ị ọ

SQL RECURSIVE_TRIGGERS Ki m soát vi c cho phép kíchể ệ ho t đ quy đ i v i AFTERạ ệ ố ớ triggers hay không. M c đ nh làặ ị

SQL Server 2005 - GV: Trần Xuân Hải Trang 28

Page 29: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

OFF, nó ngăn ng a hoàn toànừ s đ quy.ự ệ

V Thông tin nguồn cơ sở dữ liệu (Sources of Database Information)

Bạn có thể xem cấu trúc dữ liệu hệ thống (system metadata) cơ sở dữ liệu của bạn bằng hai cách khác nhau. Khi bạn cần xem thông tin về đối tượng cơ sở dữ liệu, cách dễ dàng nhất là sử dụng SQL Server Management Studio. Khi bạn viết các ứng dụng lấy cấu trúc dữ liệu (metadata) các đối tượng cơ sở dữ liệu, bạn nên sử dụng Transact-SQL để lấy thông tin từ các danh mục được cung cấp bởi hệ thống, nên tận dụng các hàm hệ thống (system functions), hoặc thi hành các thủ tục được xây dựng sẵn của hệ thống (system stored procedures).

V.1 SQL Server Management Studio

SQL Server Management Studio cung cấp các công cụ trực quan để hiển thị metadata của cơ sở dữ liệu và đồng thời thông qua môi trường này bạn có thể dễ dàng quản lý nó. Bảng sau đây liệt kê các công cụ thường dùng nhất:SQL Server Management

Di n gi iễ ả

SQL Server 2005 - GV: Trần Xuân Hải Trang 29

Page 30: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Studio toolObject Explorer Object Explorer là công c đ h a cho vi c đ nh vụ ồ ọ ệ ị ị

và qu n lý các servers, databases, và các đ iả ố t ng c s d li u (database objects).ượ ơ ở ữ ệ

Properties window M i đ i t ng c s d li u bên trong Objectỗ ố ượ ơ ở ữ ệ Explorer có m t c a s Properties (các thu cộ ử ổ ộ tính) t ng ng mà b n có th truy xu t b ngươ ứ ạ ể ấ ằ cách click ph i chu t t i đ i t ng và click ch nả ộ ạ ố ượ ọ m c ch c năng ụ ứ Properties. C a s Propertiesử ổ thay đ i ph thu c vào lo i đ i t ng đã ch n.ổ ụ ộ ạ ố ượ ọ

Reports SQL Server Management Studio ch a m t t pứ ộ ậ h p các reports cho các nodes khác nhau đ cợ ượ cung c p bên trong Object Explorer b i SQLấ ở Server Report Server engine. Các nodes th ngườ đ c s d ng có th hi n th các reports baoượ ử ụ ể ể ị g m:ồ

■ Server ■ Database ■ Service Broker, bên d i m t nút ướ ộ Database ■ Logins , bên d i nút ướ Security ■ Management

V.2 Catalog views

Catalog views cho phép bạn truy vấn metadata liên quan các đối tượng cơ sở dữ liệu SQL Server, như tables, stored procedures, và constraints. Một vài catalog views liệt kê thông tin server-wide, tuy nhiên đa phần là database-specific.

SQL Server 2005 - GV: Trần Xuân Hải Trang 30

Page 31: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Catalog views được liệt kê trong thư mục Views. Một thư mục views cho mỗi cơ sở dữ liệu trong SQL Server Management Studio. Mặc dù bạn có thể truy vấn chúng bằng cách sử dụng cú pháp Transact-SQL chuẩn đối với các view do người dùng định nghĩa, syntax as for user-defined views, chúng không thực sự được cài đặt như các views truyền thống, có nghĩa là nó không truy vấn trên các table mà thay vào đó nó truy vấn trực tiếp trên các metadata của hệ thống. Có hơn 200 catalog views, và chúng được định nghĩa trong sys schema.

Catalog views được phân loại theo chứng năng của chúng. Bảng sau đây liệt kê một số phân loại chính và các loại view thường dùng tương ứng với mỗi phân loại :

Phân lo iạ Lo i viewạ Di n gi iễ ả

Databasesand files

sys.database_files Tr v m t dòng đ i v i m i t pả ề ộ ố ớ ỗ ậ tin c a m t databaseủ ộ

Objects sys.columns Tr v m t dòng đ i v i m i c tả ề ộ ố ớ ỗ ộ (column) c a m t đ i t ngủ ộ ố ượ ch a các c t (ví d : m t tableứ ộ ụ ộ hay m t view)ộ

Objects sys.events Tr v m t dòng đ i v i m i sả ề ộ ố ớ ỗ ự ki n mà m t trigger hay m tệ ộ ộ hành đ ng nào đó kích ho t.ộ ạ

Objects sys.indexes Tr v m t dòng đ i v i m iả ề ộ ố ớ ỗ index hay heap c a m t danhủ ộ sách đ i t ng.ố ượ

SQL Server 2005 - GV: Trần Xuân Hải Trang 31

Page 32: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Objects sys.tables Tr v m t dòng đ i v i m iả ề ộ ố ớ ỗ table trong database

Objects sys.views Tr v m t dòng đ i v i m iả ề ộ ố ớ ỗ view trong database

Schemas sys.schemas Tr v m t dòng đ i v i m iả ề ộ ố ớ ỗ schema đã đ nh nghĩa trongị database

Security sys.database_permissions Tr v m t dòng đ i v i m iả ề ộ ố ớ ỗ permission đã đ nh nghĩa trongị database

Security sys.database_principals Tr v m t dòng đ i v i m iả ề ộ ố ớ ỗ securityprincipal trong database

Security sys.database_role_members Tr v m t dòng đ i v i m iả ề ộ ố ớ ỗ thành viên c a m t databaseủ ộ role

V.3 Metadata functions

SQL Server 2005 định nghĩa một số các loại hàm khác nhau trả về thông tin liên quan cơ sở dữ liệu và các đối tượng cơ sở dữ liệu. Ngược lại với catalog views trả về nhiều dòng thông tin, các hàm này chỉ trả về một giá trị đơn lẻ và được hiểu là hàm vô hướng (scalar functions).

Liệt kê sau đây diễn giải một số metadata functions thường dùng:

• DB_ID : Trả về nhận dạng database (database identification - ID), mỗi database sẽ có một con số nhận dạng mang tính duy nhất.

Cú pháp:

SQL Server 2005 - GV: Trần Xuân Hải Trang 32

Page 33: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

DB_ID ( [ 'database_name' ] )

Tham số:- database_name: Không bắt buộc. Là tên của cơ sở dữ liệu.

Nếu không chỉ định sẽ lấy cơ sở dữ liệu hiện hành.Kiểu trả về:

- Kiểu kết quả trả về : IntVí dụ :

- Trả về database ID của cơ sở dữ liệu hiện hành:

(Hình )- Trả về database ID của cơ sở dữ liệu được chỉ định:

• DB_NAME : Trả về tên của database tương ứng với database ID đã chỉ định, hay tên của database hiện hành nếu không chỉ định ID.

Cú pháp:DB_NAME ( [ database_id ] )

Tham số:

SQL Server 2005 - GV: Trần Xuân Hải Trang 33

Page 34: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

- database_id: Không bắt buộc. Là số nhận nhận của cơ sở dữ liệu. Nếu không chỉ định sẽ lấy cơ sở dữ liệu hiện hành.

Kiểu trả về:- Kiểu kết quả trả về : nvarchar(128)

Ví dụ :- Trả về tên của cơ sở dữ liệu hiện hành:

- Trả về tên của cơ sở dữ liệu tương ứng với ID chỉ định của cơ sở dữ liệu:

• FILE_ID: Trả về ID của tập tin tương ứng với tên của tập tin logical đã cho trong cơ sở dữ liệu hiện hành.

Cú pháp:FILE_ID ( file_name )

Tham số:

SQL Server 2005 - GV: Trần Xuân Hải Trang 34

Page 35: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

- File_name: Là một biểu thức loại sysname trình bày tên của tập tin mà ta muốn nó trả về ID của tập tin.

Kiểu trả về:- Kiểu kết quả trả về : smallint

Ví dụ :- Ví dụ sau trả về ID tập tin có tên QLKD_CHMayTinh_log:

• FILE_NAME : Trả về tên của tập tin logical tương ứng với ID tập tin đã cho.

Cú pháp:FILE_NAME ( file_id )

Tham số:- File_id: Là số nhận dạng của tập tin mà ta muốn nó trả về tên

tập tin tương ứng.Kiểu trả về:

- Kiểu kết quả trả về : nvarchar(128)

Chú ý: file_ID tương ứng với cột file_id trong sys.master_files hoặc sys.database_files catalog views.

Ví dụ :

SQL Server 2005 - GV: Trần Xuân Hải Trang 35

Page 36: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Ví dụ sau trả về tên của tập tương ứng với ID của tập tin có giá trị là 2:

• FILEGROUP_ID: Trả về ID của filegroup tương ứng với tên của filegroup đã chỉ định.

Cú pháp:FILEGROUP_ID ( 'filegroup_name' )

Tham số:- Filegroup_name: Là một biểu thức loại sysname trình bày tên

của filegroup tương ứng với ID của filegroup trả về.Kiểu trả về:

- Kiểu kết quả trả về : int

Chú ý: filegroup_name tương ứng với cột name trong sys.filegroups catalog view.

Ví dụ :Ví dụ sau trả về ID của filegroup tương ứng với filegroup có tên là PRIMARY.

SQL Server 2005 - GV: Trần Xuân Hải Trang 36

Page 37: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• FILEGROUP_NAME: Trả về tên của filegroup tương ứng với ID của filegroup đã chỉ định.

Cú pháp:FILEGROUP_NAME ( filegroup_id )

Tham số:- Filegroup_id: là số ID của filegroup mà ta muốn nó trả về tên

filegroup tương ứng. filegroup_id là một smallintKiểu trả về:

- Kiểu kết quả trả về : nvarchar(128)

Chú ý: filegroup_id tương ứng với cột data_space_id trong sys.filegroups catalog view

Ví dụ :Ví dụ sau trả về tên của filegroup tương ứng với giá trị ID của filegroup là 1 trong cơ sở dữ liệu QLKD_CHMayTinh.

SQL Server 2005 - GV: Trần Xuân Hải Trang 37

Page 38: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

V.4 Stored procedures của hệ thống

SQL Server 2005 cung cấp nhiều stored procedures hệ thống (phân biệt với các stored procedures do người dùng định nghĩa) lấy thông tin metadata cơ sở dữ liệu. Các thủ tục (procedures) này cung cấp một một khả năng thực hiện khác cho việc truy vấn thông tin mà catalog views đã cung cấp provide và chấp nhận các tham số thủ tục cho phép sự tùy biến các tập kết quả.

Phần sau đây trình bày các stored procedures hệ thống thường dùng trong hàng trăm stored procedures hệ thống sẵn dùng:

• sp_databases: Liệt kê các cơ sở dữ liệu sẵn dùng bên trong một instance của SQL Server hoặc có thể truy xuất thông qua một database gateway.

Cú pháp:sp_databases

SQL Server 2005 - GV: Trần Xuân Hải Trang 38

Page 39: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

Tham số:- Không

Tập kết quả trả về:

Tên cột Kiểu dữ liệu Diễn giải

DATABASE_NAME sysname Tên của database. Trong Database Engine, cột này trình bày tên database giống như đã lưu trong sys.databases của catalog view.

DATABASE_SIZE int Kích thước của database, theo kilobytes.

REMARKS varchar(254) Đối với Database Engine, field này luôn trả về NULL

Ví dụ : Ví dụ sau trình bày cách thực thi sp_databases

• sp_stored_procedures: Trả về một danh sách các stored procedures trong cơ sở dữ liệu hiện hành.

SQL Server 2005 - GV: Trần Xuân Hải Trang 39

Page 40: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

• sp_help: Báo cáo thông tin liên quan một đối tượng cơ sở dữ liệu, một kiểu dữ liệu do người dùng định nghĩa, hoặc một kiểu dữ liệu được cung cấp bởi SQL Server 2005.

Cú pháp:sp_help [ [ @objname = ] 'name' ]

Tham số:- [ @objname =] 'name' : Là tên của đối tượng bất kỳ, trong

sysobjects hay bất kỳ kiểu dữ liệu do người dùng định nghĩa hay bất kỳ kiểu dữ liệu do người dùng định nghĩa trong systypes table; name có kiểu là nvarchar(776), với giá trị mặc định là NULL. Tên của Database không được chấp nhận.

Các t ập kết quả trả về :Ví dụ :

- Ví dụ sau liệt kê thông tin liên quan mỗi đối tượng trong cơ sở dữ liệu master

USE master;GOEXEC sp_help;GO

- Ví dụ sau trình bày thông tin về table có tên ContactUSE AdventureWorks;GOEXEC sp_help 'Person.Contact';GO

SQL Server 2005 - GV: Trần Xuân Hải Trang 40

Page 41: Chuong1 Creating Database SQL Server 2005

Chương 1: Tạo cơ sở dữ liệu (Creating Databases)

VI Tài liệu tham khảoMicrosoft SQL Server 2005 Implementation and

Maintenance - Joseph L. Jorden, Dandy Weyn

SQL Server 2005 - GV: Trần Xuân Hải Trang 41