NEWS

[SQL SERVER] TOP 50 CÂU LỆNH SQLSERVER QUAN TRỌNG NÊN BIẾT (PHẦN 1)

[SQL SERVER] TOP 50 CÂU LỆNH SQLSERVER QUAN TRỌNG NÊN BIẾT (PHẦN 1)
Đăng bởi: Thảo Meo - Lượt xem: 13021 14:44:37, 10/01/2019DATABASE   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ chia sẽ đến các bạn 50 câu lệnh Sqlserver quan trọng và thông dụng trong quản trị cơ sở dữ liệu Sqlserver.

[SQL SERVER] TOP 50 CÂU LỆNH SQLSERVER QUAN TRỌNG NÊN BIẾT (PHẦN 1)

Trong các câu lệnh, giúp các bạn liệt kê tất cả các procedure, view hay table đang có trong database.

Cách xóa tất cả các bạn dữ liệu, view, function, trigger hay procedure.

Kiểm tra các table có index hay không... Bây giờ mình sẽ bắt đầu từng câu lệnh nhé các bạn, hy vọng như câu lệnh bên dưới đây sẽ giúp ích được cho các bạn.

 

Câu 1: Liệt kê danh sách tất cả các Database đang có trong hệ thống.

EXEC sp_helpdb  

query_sql1

Câu 2: Hiển thị các câu lệnh của Procedure, Function hay Trigger trong Sql 

 

exec sp_helptext @objname = 'Object_Name'

query_sql2

 

Câu 3: Liệt kê tất cả các Store Procedure trong database

 

SELECT DISTINCT o.name, o.xtype  
  
FROM syscomments c  
  
INNER JOIN sysobjects o ON c.id=o.id  
  
WHERE o.xtype='P'

query_sql3

 

Câu 4: Liệt kê tất cả các Store Procedure có làm việc đến một bảng dữ liệu.

 

SELECT DISTINCT o.name, o.xtype  
  
FROM syscomments c  
  
INNER JOIN sysobjects o ON c.id=o.id  
  
WHERE c.TEXT LIKE '%Table_Name%' AND o.xtype='P'

query_sql4

 

Câu 5: Xây dựng lại tất cả các chỉ mục (index) trong database

 

EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"  
  
GO  
  
EXEC sp_updatestats  
  
GO

query_sql5

 

Câu 6: Lấy tất cả các phụ thuộc của Store Procedure

 

;WITH stored_procedures AS (  
  
SELECT  
  
oo.name AS table_name,  
  
ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row  
  
FROM sysdepends d  
  
INNER JOIN sysobjects o ON o.id=d.id  
  
INNER JOIN sysobjects oo ON oo.id=d.depid  
  
WHERE o.xtype = 'P' AND o.name LIKE '%SP_NAme%' )  
  
SELECT Table_name FROM stored_procedures  
  
WHERE row = 1  

query_sql6

 

Câu 7: Liệt kê danh sách kích thước của từng Table

 

SELECT sob.name AS Table_Name,  
  
SUM(sys.length) AS [Size_Table(Bytes)]  
  
FROM sysobjects sob, syscolumns sys  
  
WHERE sob.xtype='u' AND sys.id=sob.id  
  
GROUP BY sob.name

query_sql7

Câu 8: Liệt kê tất cả các bảng Table mà không có sử dụng Indetity (AutoNumber) 

SELECT  
  
TABLE_NAME FROM INFORMATION_SCHEMA.TABLES  
  
where  
  
Table_NAME NOT IN  
  
(  
  
SELECT DISTINCT c.TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS c  
  
INNER  
  
JOIN sys.identity_columns ic  
  
on  
  
(c.COLUMN_NAME=ic.NAME))  
  
AND  
  
TABLE_TYPE ='BASE TABLE'

query_sql8

Câu 9: Tìm kiếm danh sách tất cả các khóa chính và khóa ngoại trong cơ sở dữ liệu

SELECT  
  
DISTINCT  
  
Constraint_Name AS [Constraint],  
  
Table_Schema AS [Schema],  
  
Table_Name AS [TableName] FROM INFORMATION_SCHEMA.[KEY_COLUMN_USAGE]  
  
GO

query_sql9

 

Câu 10: Liệt kê khóa chính và khóa ngoại của một bảng Table cụ thể

SELECT  
  
DISTINCT  
  
Constraint_Name AS [Constraint],  
  
Table_Schema AS [Schema],  
  
Table_Name AS [TableName] FROM INFORMATION_SCHEMA.[KEY_COLUMN_USAGE]  
  
WHERE INFORMATION_SCHEMA.[KEY_COLUMN_USAGE].[TABLE_NAME]='Table_Name'  
  
GO

query_sql10

Các bạn tiếp tục đón đọc ở phần 2 tiếp theo nhé.

Have Fun :)

THÔNG TIN TÁC GIẢ

[SQL SERVER] TOP 50 CÂU LỆNH SQLSERVER QUAN TRỌNG NÊN BIẾT (PHẦN 1)
Đăng bởi: Thảo Meo - Lượt xem: 13021 14:44:37, 10/01/2019DATABASE   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp