常用SQL语句

数据库加密:
select encrypt('
原始密码')
select pwdencrypt('
原始密码')
select pwdcompare('
原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码')
select pwdencrypt('
原始密码')
select pwdcompare('
原始密码','加密后密码') = 1--相同;否则不相同

取回表中字段:
declare @list varchar(1000),@sql nvarchar(1000) 
select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name='
A'
set @sql='select '+right(@list,len(@list)-1)+' from 
A' 
exec (@sql)

杀掉所有的事件探察器进程:
DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid) FROM master.dbo.sysprocesses
WHERE program_name IN('SQL profiler',N'SQL 
事件探查器')
EXEC sp_msforeach_worker '?'

记录搜索:
开头到N条记录
Select Top N * From 

-------------------------------
N
M条记录(要有主索引ID)
Select Top M-N * From 
 Where ID in (Select Top M ID From ) Order by ID Desc
----------------------------------
N
到结尾记录
Select Top N * From 
 Order by ID Desc

获取数据库中某个对象的创建脚本

先用下面的脚本创建一个函数

if exists(select 1 from sysobjects where id=object_id('fgetscript') and objectproperty(id,'IsInlineFunction')=0)
 drop function fgetscript
go

create function fgetscript(
 @servername varchar(50)     --
服务器名
 ,@userid varchar(50)='sa'    --
用户名,如果为nt验证方式,则为空
 ,@password varchar(50)=''    --
密码
 ,@databasename varchar(50)    --
数据库名称
 ,@objectname varchar(250)    --
对象名

) returns varchar(8000)
as
begin
 declare @re varchar(8000)        --
返回脚本
 declare @srvid int,@dbsid int       --
定义服务器、数据库集id
 declare @dbid int,@tbid int        --
数据库、表id
 declare @err int,@src varchar(255), @desc varchar(255) --
错误处理变量

--
创建sqldmo对象
 exec @err=sp_oacreate 'sqldmo.sqlserver',@srvid output
 if @err<>0 goto lberr

--
连接服务器
 if isnull(@userid,'')='' --
如果是 Nt验证方式
 begin
  exec @err=sp_oasetproperty @srvid,'loginsecure',1
  if @err<>0 goto lberr

  exec @err=sp_oamethod @srvid,'connect',null,@servername
 end
 else
  exec @err=sp_oamethod @srvid,'connect',null,@servername,@userid,@password

 if @err<>0 goto lberr

--
获取数据库集
 exec @err=sp_oagetproperty @srvid,'databases',@dbsid output
 if @err<>0 goto lberr

--
获取要取得脚本的数据库id
 exec @err=sp_oamethod @dbsid,'item',@dbid output,@databasename
 if @err<>0 goto lberr

--
获取要取得脚本的对象id
 exec @err=sp_oamethod @dbid,'getobjectbyname',@tbid output,@objectname
 if @err<>0 goto lberr

--
取得脚本
 exec @err=sp_oamethod @tbid,'script',@re output
 if @err<>0 goto lberr

 --print @re
 return(@re)

lberr:
 exec sp_oageterrorinfo NULL, @src out, @desc out 
 declare @errb varbinary(4)
 set @errb=cast(@err as varbinary(4))
 exec master..xp_varbintohexstr @errb,@re out
 set @re='
错误号: '+@re
   +char(13)+'
错误源: '+@src
   +char(13)+'
错误描述: '+@desc
 return(@re)
end
go


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值