Page 1
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
CHƯƠNG 1: TẠO CƠ SỞ DỮ LIỆU (CREATING DATABASES).............2INộidungtrìnhbày ................................................................................... 2
IICácxemxétcầnlưuýđốivớiviệctạomộtcơsởdữliệu ........................ 3II.1Cáccơsởdữliệuxửlýgiaodịchtrựctuyến(OLTPdatabases) ....... 4II.2Cáccơsởdữliệuxửlýphântíchtrựctuyến(OLAPdatabases) ....... 5II.3Cáccânnhắckhihoạchđịnhmộtcơsởdữliệu .............................. 5II.4Vídụtạomộtcơsởdữliệu .............................................................. 7
IIIGhisổgiaodịch(TransactionLogging) ............................................... 19III.1Giaodịch(Transaction) ................................................................ 19III.2Sổghigiaodịch(Transactionlog) ................................................ 20III.3Loggingprocess ........................................................................... 21
III.4Cácxemxétliênquanvịtrícủatậptinsổghi(Logfile) ................ 22IVCáctuỳchọnchocơsởdữliệu(DatabaseOptions) ........................... 23IV.1Phânloạitùychọncơsởdữliệu ................................................... 24
VThôngtinnguồncơsởdữliệu(SourcesofDatabaseInformation) ....... 29V.1SQLServerManagementStudio ................................................... 29V.2Catalogviews ................................................................................ 30V.3Metadatafunctions ........................................................................ 32V.4Storedprocedurescủahệthống ................................................... 38
VITàiliệuthamkhảo ............................................................................... 41
SQL Server 2005 - GV: Trần Xuân Hải Trang 1
Page 2
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
Nộ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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ềngiá trị rộng, bao gồm text, numeric, ExtensibleMarkup 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 SQLServer 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ủatầ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àmviệ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 đếnhiệ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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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
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 TestDB
ON (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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
(Hình I.2)
Bước 2: Trong hộp thoại , 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
Ý nghĩa các thông số trong hộp thoại
• : 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.
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
•
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.
: 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
• : 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.
• 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.
• 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.
• 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.
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
• : 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
• 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.
• 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.
• 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 tincơ 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ạncó 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ượngbê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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ándự 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ạnchỉ 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ỏ.
Ghi sổ giao dịch (Transaction Logging)
III.1
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:
• : 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ặcchẳng có hành động nào trong chúng được hoàn tất.
• (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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
• 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ệukhá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.
• : 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ônghay 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 thinhư là một đơn thể.
III.2
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ụclỗ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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
III.3
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ệnlà 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 đó đượcthự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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ả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áchkhỏ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 giaodị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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
(Hình I.8)
Các tuỳ chọn cho cơ sở dữ liệu (DatabaseOptions)
Sau khi đã tạo cơ sở dữ liệu, bạn có thể thiết lập cáctù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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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 modeldatabase.
IV.1
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, databaseclosing, 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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_STATI STICS 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 hayn u t p tin s ghi đ c backed up.
SQL Server 2005 - GV: Trần Xuân Hải Trang 25
Page 26
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
Availabilit
y
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 chophé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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ànt 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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. KhiTORN_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 sosá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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
OFF, nó ngăn ng a hoàn toàn s đ quy.
Thông tin nguồn cơ sở dữ liệu (Sourcesof 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.1SQL 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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 cho phép bạn truy vấn metadata liênquan 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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à thayvà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ácloạ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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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
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:
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ề : Int
Ví 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:
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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ệnhà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:
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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:
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
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:
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
• 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 smallint
Kiể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ủafilegroup là 1 trong cơ sở dữ liệu QLKD_CHMayTinh.
SQL Server 2005 - GV: Trần Xuân Hải Trang 37
Page 38
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
V.4
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:
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
Tham số:
- KhôngTập kết quả trả về:
Tên cột Kiểu dữ liệu Diễn giải
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 củacatalog view.
Kích thước của database, theo
kilobytes.
Đố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
• 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
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
• 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ĩahay 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;
GO
EXEC sp_help;
GO
- Ví dụ sau trình bày thông tin về table có tên Contact
USE AdventureWorks;
GO
EXEC sp_help 'Person.Contact';
GO
SQL Server 2005 - GV: Trần Xuân Hải Trang 40
Page 41
5/16/2018 Chuong1 Creating Database SQL Server 2005 - slidepdf.com
http://slidepdf.com/reader/full/chuong1-creating-database-sql-server-2005-55ab56fdccdd4
Chương 1: Tạo cơ sở dữ liệu (Creating Databases)
Microsoft SQL Server 2005 Implementation and
Maintenance - Joseph L. Jorden, Dandy Weyn
SQL Server 2005 - GV: Trần Xuân Hải Trang 41