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,将数据库设为多用户访问模式。

posted @ 2012-02-08 15:55  litsword  阅读(237)  评论(0编辑  收藏  举报