[SQL SERVER] TOP 50 CÂU LỆNH SQLSERVER QUAN TRỌNG NÊN BIẾT (PHẦN 1)
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. 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. ...
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.
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
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'
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'
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'
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
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
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
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'
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
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
Các bạn tiếp tục đón đọc ở phần 2 tiếp theo nhé.
Have Fun :)