Chào các bạn,
Hôm nay mình giới thiệu với các bạn table hệ thống quan trọng trong SQL Server.
Đó là table sys.objects.
Table này là một trong những table quan trọng đối với các bạn làm DBA (Database Administrator) và các bạn chuyên gia lập trình T-SQL.
select * from sys.objects
Tại sao mình nói table này quan trọng, vì thông qua table này lập trình viên có thể viết những câu SQL động rất hữu ích, người quản trị CSDL cũng có thể quản lý các đối tượng có trong database của mình,
Ở đây các bạn lưu ý column : “Type”, column này xác định kiểu của đối tượng,
AF = Aggregate function (CLR)
C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
FN = SQL scalar function
FS = Assembly (CLR) scalar-function
FT = Assembly (CLR) table-valued function
IF = SQL inline table-valued function
IT = Internal table
P = SQL Stored Procedure
PC = Assembly (CLR) stored-procedure
PG = Plan guide
PK = PRIMARY KEY constraint
R = Rule (old-style, stand-alone)
RF = Replication-filter-procedure
S = System base table
SN = Synonym
SO = Sequence object
U = Table (user-defined)
V = View
Thông qua đó các bạn có thể filter theo type này
Với DBA, các bạn có thể xây dựng một câu lên T-SQL đơn giản điếm tất cả dòng của từng table có trong database.
use imsweb
go
create table #temp
(
TableName nvarchar(50),
RecordCount int,
Script nvarchar(1000)
);
insert into #temp
select Name,0,’Update #temp set RecordCount= (Select count(1) from [‘ + Name + ‘]) where TableName = ”’ + name +”” from sys.objects where type=’U’
DECLARE tables_cursor CURSOR
FOR select * from #temp
OPEN tables_cursor;
DECLARE @tablename nvarchar(50);
DECLARE @count nvarchar(20);
DECLARE @script nvarchar(1000);
FETCH NEXT FROM tables_cursor INTO @tablename, @count, @script;
WHILE (@@FETCH_STATUS -1)
BEGIN;
EXECUTE (@script);
FETCH NEXT FROM tables_cursor INTO @tablename, @count, @script;
END;
CLOSE tables_cursor;
DEALLOCATE tables_cursor;
GO
select * from #temp order by RecordCount desc
drop table #temp
Sau đây là chú thích chi tiết
1.Tạo table tạm lưu trữ thông tin
2. Tạo câu lệnh T-SQL động và insert vào table tạm
3.Lặp từng dòng trong table tạm và thực hiện câu lệnh T-SQL
4. Xem kết quả
Hy vọng thông tin trên sẽ giúp ích cho các bạn.
Cuong Dang