SELECT imageval FROM syssysobjvalues WHERE objid = object_id(@procedure) AND
valclass = 1 AND subobjid = 1
针对SQL Server 2005的解密存储过程
create PROCEDURE [dbo][sp__windbi$decrypt]
(@procedure sysname = NULL, @revfl int = 1)
AS
/
王成辉翻译整理,转贴请注明出自微软BI开拓者>用下面的语句检查数据库锁,然后kill 掉产生锁的进程就ok了。
查锁:
select nvl(SUSERNAME,'Internal') username,
nvl(STERMINAL,'None') terminal,
LSID||','||SSERIAL# Kill,
U1NAME||''||substr(T1NAME,1,20) tab,
decode(LLMODE,1,'No Lock',
2,'Row Share',
3,'Row Exclusive',
4,'Share',
5,'Share Row Exclusive',
6,'Exclusive',null) lmode,
decode(LREQUEST,1,'No Lock',
2,'Row Share',
3,'Row Exclusive',
4,'Share',
5,'Share Row Exclusive',
6,'Exclusive',null) request
from V$LOCK L,
V$SESSION S,
SYSUSER$ U1,
SYSOBJ$ T1
where LSID = SSID
and T1OBJ# = decode(LID2,0,LID1,LID2)
and U1USER# = T1OWNER#
and STYPE != 'BACKGROUND'
order by 1,2,5
杀锁:
alter system kill session 'sid,#serial';
sid和#serial用前面查询到的结果替换。
1、在做Oracle监听程序测试时,发现帐户已经被锁定。
2、在数据库安装电脑上,点击开始打开运行窗口。
3、在运行窗口输入CMD,调出命令提示符界面。
3、在命令提示符下面,用管理员身份登入到数据库sqlplus / as sysdba。
4、输入解锁命令alter user Scott account unlock后回车。
5、看见用户已更改的字样,表示命令已成功执行。
6、再切换到监听程序验证,原来的ora-28000帐户被锁定的提示已经不存在了。用户解锁成功。
首先你iyao看看是否账户有删除修改的权限,其次,如果是表锁住了,可以重启数据库。
另外,sql2005我没用过,你去查询下如果查出表锁得命令。
然后给kill掉就可以了where SalesOrderID='43662'SELECT resource_type, request_mode, resource_description,request_session_id, DB_NAME(resource_database_id)as resource_databaseFROM sysdm_tran_locksWHERE resource_type <>'DATABASE'--ROLLBACK TRAN 在事务回滚之前, 查看锁的类型: 其他session对Table只读, 不能更新, 在开一个新的session测试:select from SalesSalesOrderHeader where SalesOrderID='43662'goupdate SalesSalesOrderHeader set OrderDate=GETDATE() where SalesOrderID='43662' select可以正常执行, update语句一直处于等待状态, 等待上面的session释放锁 2 Update locks (U): 更新锁是共享锁和独占锁的组合用UPDLOCK保持更新锁USE AdventureWorks2008BEGIN TRANselect from SalesSalesOrderHeader WITH(UPDLOCK)where SalesOrderID='43662'SELECT resource_type, request_mode, resource_description,request_session_id,DB_NAME(resource_database_id)as resource_databaseFROM sysdm_tran_locksWHERE resource_type <>'DATABASE'ROLLBACK TRAN 查看到锁的信息: 3Exclusive locks (X): 独占锁是为了锁定数据被一个session修改的数据, 而不能够被另外的session修改 只能指定NOLOCK来读取USE AdventureWorks2008BEGIN TRANupdate SalesSalesOrderHeader set ShipDate=GETDATE() where SalesOrderID='43662'WHERE resource_type <>'DATABASE'ROLLBACK TRAN 查看锁: 4Intent locks (I): 意向锁用于建立锁的层次结构 意向锁包含三种类型:意向共享 (IS)、意向排他 (IX) 和意向排他共享 (SIX)。 数据库引擎使用意向锁来保护共享锁(S 锁)或排他锁(X 锁)放置在锁层次结构的底层资源上。 意向锁之所以命名为意向锁,是因为在较低级别锁前可获取它们,因此会通知意向将锁放置在较低级别上。 意向锁有两种用途: 防止其他事务以会使较低级别的锁无效的方式修改较高级别资源。 提高数据库引擎在较高的粒度级别检测锁冲突的效率。打开2005的策略,可以取消
alter login sa with password = '数据库密码'
unlock, check_policy = off, check_expiration = off
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)