推薦大家使用一個插件SQL Prompt,智能提示很好
- SQL Server資料庫備份
EXEC sp_addumpdevice 'disk', 'TestBackUp', 'F:/1.bat' BACKUP DATABASE DataBase_Name TO TestBackUp
- 查詢資料庫在程序池的連接配接數
SELECT * FROM master.dbo.sysprocesses WHERE dbid IN ( SELECT dbid FROM master.dbo.sysdatabases WHERE name = 'DataBase_Name' )
- 查詢資料庫被鎖表和解除資料庫被鎖表
SELECT request_session_id spid , OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tran_locks WHERE resource_type = 'OBJECT'
DECLARE @spid INT SET @spid = 100 DECLARE @KillProcess VARCHAR(100) SET @KillProcess = 'Kill ' + CAST(@spid AS VARCHAR) EXEC(@KillProcess)
- 恢複資料庫限制
ALTER TABLE TABLE_Name WITH CHECK CHECK CONSTRAINT CK_Employee_BirthDate (限制名稱)
- 去除資料庫限制
ALTER TABLE TABLE_Name NOCHECK CONSTRAINT CK_Employee_BirthDate (限制名稱)
- 恢複資料庫全部限制
EXEC sp_MSforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
- 去除資料庫全部限制
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
- 内連接配接
内連接配接(Inner Join)的結果是左右兩表同時符合條件的組合 注意與笛卡爾積的交叉連接配接的差別: 内連接配接: SELECT * FROM table1 INNER JOIN table2 ON table1.條件列名 = table2.條件列名 笛卡爾積的交叉連接配接: SELECT table1.* , table2.* FROM table1 , table2 WHERE table1.條件列名 = table2.條件列名 笛卡爾積需要先生成行數乘積的資料表再進行篩選,是以内連接配接效率高于笛卡爾積的交叉連接配接
- 外連接配接
左連接配接(Left Join)的結果是左表的所有行,如果左表中的某行在右表沒有比對,則在關聯結果中右表的相關列為空(NULL) 右連接配接與之相反
後續補充中……