SQLSERVER 的一些常用知识总结(二)

最近工作又总结出了一些sqlserver的小知识,分享出来,大部分都是平时百度来的,也有些是从帮助文档或其他地方收集来的,这一篇作为上一篇的继篇
http://blog.csdn.net/sunyujia/archive/2008/05/14/2446543.aspx
10.java事务和存储过程事务冲突的解决方法-事务点
 declare @INIT_TC int
 select @INIT_TC=@@TRANCOUNT
 set XACT_ABORT ON --设置下面
 if @INIT_TC = 0
     begin transaction xxxxxxxx
 else
     save transaction xxxxxxxx
    
 code........
 
 commit transaction    xxxxxxxx
 return 0
Error:
 rollback transaction xxxxxxxx
 
11.分布式查询开游标设置INSENSITIVE
Declare xxxx INSENSITIVE Cursor For ........
如不设置INSENSITIVE,报远程表不可更新。远程表上的可更新键集驱动游标要求事务具有扫过游标的 REPEATABLE_READ 或 SERIALIZABLE 隔离级别。
远程表上的游标不可更新,游标的敏感性行为定义了对基行(用于建立游标)所做的更新是否对游标可见。敏感性也定义了能否通过游标进行更新。
 
12.禁用/开启 所有触发器
--禁用所有表所有触发器   
exec sp_msforeachtable   'ALTER   TABLE   ?   DISABLE   TRIGGER   ALL'  
   
--开启所有表所有触发器   
exec    sp_msforeachtable   'ALTER   TABLE   ?   ENABLE   TRIGGER   ALL'  
 
13.禁用/启用 所有约束
--禁用所有外键约束   
sp_msforeachtable    "alter   table   ?   nocheck   CONSTRAINT   all"
 
--启用所有外键约束   
sp_msforeachtable    "alter   table   ?   check   constraint   all"  
 
14.查看常用对象
--查看所有的触发器
select a.name as TableName, b.name as TriggerName from sysobjects a,sysobjects b where b.parent_obj=a.id and a.xtype = 'U' and b.xtype = 'Tr'
--查看所有的视图
select name from  sysobjects where type= 'V' and name <> 'syssegments' and name <> 'sysconstraints'
--查看所有的存储过程
select name from sysobjects where xtype='P'
--查看所有的函数
select name from sysobjects where xtype='FN'
--查看所有的表
select name from sysobjects where xtype='U'
--查看所有的外键约束
select name    from sysobjects where xtype='F'
 
15.查看表的详情
exec sp_help '表名'
 
16.--修改数据库的名称
sp_renamedb '旧库名', '新库名'
 
17.--查看与某一个表相关的视图、存储过程、函数
select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'
 
18.--比较两表是否相等
if (select checksum_agg(binary_checksum(*)) from 表名1)=(select checksum_agg(binary_checksum(*)) from 表名2)
select '相等'
else
select '不等'
 
19.复制表结构
select top 0 * into 新表名 from 旧表名
使用这种方法插入临时表速度非常快
select * into #临时表名 from 表名
 
20.列出全部当前进程(当前连接数)
EXEC sp_who
21.sqlserver中的命令行shell
exec master.dbo.xp_cmdshell  'osql  -U  sa  -P  密码  -i c:/脚本.sql -d 库名'

你可能感兴趣的:(数据库,脚本,table,存储,文档,sqlserver)