Useful SQL script
-- 在数据库存储过程中查找文本字符(检索存储过程内容)
SELECT DISTINCT o.name AS Object_Name,o.type_desc FROM sys.sql_modules m
INNER JOIN sys.objects o ON m.object_id=o.object_id
WHERE m.definition Like '%key%' ORDER BY 2,1
-- 强制写入自增长字段
SET IDENTITY_INSERT [KeyLookup] ON
INSERT INTO table(KeyID, Value) Values(1, 123)
SET IDENTITY_INSERT [KeyLookup] OFF
-- 查看表结构
EXEC sp_help table1
-- 查看存储过程
EXEC sp_helptext sp1
-- 包含所有脚本在一个事务中,一旦发生错误回滚所有脚本
SET XACT_ABORT ON
GO
BEGIN TRAN
-- start operation scripts
COMMIT TRAN
GO
-- 模糊查找表名或列名:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE '%ABC%' OR COLUMN_NAME LIKE '%ABC%'
DBCC USEROPTIONS
如果修改了默认的隔离级别的话,这条命令会显示你设置的值,如果没有修改过(使用数据库默认的隔离级别)则不显示相关选项的值
QuoteName(@a) --> [@a]
STUFF('abcdeg', 2, 3, '123456')
For XML Path('') TYPE
查看数据库版本
SELECT @@VERSION
查看数据库兼容级别 (Compatibility Level)
SELECT compatibility_level FROM sys.databases WHERE name = 'db name'
80 - SQL Server 2000
90 - SQL Server 2005
100 - SQL Server 2008
110 - SQL Server 2012
修改数据库兼容级别 (Compatibility Level)
如果版本低于SQL2008:
exec sp_dbcmptlevel db1, 90
如果版本>= SQL2008:
ALTER DATABASE db1 SET compatibility_level = 90; Go;
1.通过使用 ALTER DATABASE SET SINGLE_USER,将数据库设置为单用户访问模式。
2.通过上述两种方法更改数据库的兼容级别。
3.通过使用 ALTER DATABASE SET MULTI_USER,将数据库设为多用户访问模式。