数据库维护
wzh1215
这个作者很懒,什么都没留下…
展开
-
处理死锁
/*--处理死锁 查看当前进程,或死锁进程,并能自动杀掉死进程 因为是针对死锁的,所以如果有死锁进程,只能查看死锁进程 当然,你可以通过参数控制,不管有没有死锁,都只查看死锁进程 感谢: caiyunxia,jiangopen 两位提供的参考信息--邹建 2004.04(引用请保留此信息)--*//*--调用示例 exec p_lockinfo--*/create proc原创 2005-01-23 17:08:00 · 1436 阅读 · 0 评论 -
两个数据库比较 对比视图存储过程及表结构差异
https://blog.csdn.net/shiershilian/article/details/72236407?utm_source=copy一、视图和存储过程比较【原理】利用系统表“sysobjects"和系统表“syscomments”,将数据库中的视图和存储过程进行对比。系统表"sysobjects"之前有详细介绍过,有兴趣可以看看:SQL Server系统表sysobjec...转载 2018-09-30 17:04:20 · 1097 阅读 · 0 评论 -
给用户techuser添加表、视图、函数权限
一、批量生成所有要授权的表/视图/函数--表的权限select 'grant select, insert, update on '+t.name+' to techuser;' from sys.all_objects t where t.schema_id = 1 and t.type in ('U');--视图权限select 'grant select '+t.name+' to tech...原创 2018-05-04 10:21:58 · 312 阅读 · 0 评论 -
SQL 2005~SQL 2012清空日志
1、SQL 2012清空日志方法: ALTER DATABASE DB_TECH_BBS SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE DB_TECH_BBS SET RECOVERY SIMPLE --简单模式 DBCC SHRINKFILE (N'DB_TECH_BBS_Log' , 11, TRUNCAT...转载 2016-03-21 11:19:42 · 558 阅读 · 0 评论 -
已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。 与基础事务管理器的通信失败。 .net 代码里 写事务代码
已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。与基础事务管理器的通信失败。 .net 代码里 写事务代码如:using System.Transactions;using (TransactionScope ts = new TransactionScope()转载 2017-11-03 19:59:30 · 6315 阅读 · 0 评论 -
截断日志
--正确的处理日志的方法--压缩日志及数据库文件大小/*--特别注意请按步骤进行,未进行前面的步骤,请不要做后面的步骤否则可能损坏你的数据库.一般不建议做第4,6两步第4步不安全,有可能损坏数据库或丢失数据第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.--*/--下面的所有库名都指你要处理的数据库的库名1.清空日志DUMP TRANSACTION原创 2006-10-15 12:33:00 · 989 阅读 · 0 评论 -
sql 2008获取表字段说明
SELECT表名=case when a.colorder=1 then d.name else '' end,表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,字段序号=a.colorder,字段名=a.name,标识=case when COLUMNPROPERTY( a.id,a.name,'Is转载 2014-03-07 16:16:37 · 927 阅读 · 0 评论 -
sqlite数据库迁移(恢复数据库)
方法一:使用sqlite3.exe工具 在DOS命令下,进入相应目录,执行(执行前先装要恢复的数据库复制到sqlite3.exe相同目录下:storeDatabase.db3) 1.获取信息 sqlite storeDatabase.db3 sqlite>PRAGMA integrity_check 获得提示 "*** in databa原创 2012-05-11 16:45:59 · 5765 阅读 · 0 评论 -
SQL2005 数据库置疑
很多朋友在2005中遇到置疑、丢失日志时按照网上常见的MSSQL2000修复方法来做,结果发现行不通,甚至连一步都做不下去。其实,在MSSQL2005在处理置疑问题的思路与MSSQL2000是一致的,但具体到一些语句上MSSQL2005 有了很大的变动。我们以一个被误删日志文件的数据库为例:1.MSSQL2000在日志被误删除后会提示置疑(suspect),而在MSSQL2005中却没有特殊标志,但图标前的”+”不见了当你查询数据库属性时会有Error:945提示:2.顺着老思路,首先我们想到先进入紧急模式转载 2010-07-31 11:21:00 · 709 阅读 · 0 评论 -
数据表恢复
MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。 1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。 use master declare @databasename varchar(255) set转载 2008-11-28 11:17:00 · 509 阅读 · 0 评论 -
SQL单向加密函数
DECLARE @ClearPWD varchar(255) DECLARE @EncryptedPWD varbinary(255)SELECT @ClearPWD = testSELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))SELECT @EncryptedPWDSELECT pwdcompare(@原创 2006-06-12 10:45:00 · 883 阅读 · 0 评论 -
解密存储过程
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[sp_decrypt]) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure [dbo].[sp_decrypt]GO/*--破解函数,过程,触发器,视图.仅限于SQLSERVER2000转载 2006-06-12 10:54:00 · 713 阅读 · 0 评论 -
查看每个数据表的大小
1、-- 当前库各用户表的信息exec sp_msforeachtable 'sp_spaceused ''?'''2、exec sp_MSForEachTable @precommand=N'create table ##(id int identity,表名 sysname,表名注释 nvarchar(1000),字段数 int,记录数 int,保留空间 Nvarch...转载 2006-06-12 09:27:00 · 969 阅读 · 0 评论 -
加密所有存含储过程
DECLARE @sp_name nvarchar(400)DECLARE @sp_content nvarchar(2000)DECLARE @asbegin intdeclare @now datetimeselect @now = getdate()DECLARE sp_cursor CURSOR FOR SELECT object_name(id)FROM sysobjectsWHERE转载 2006-06-12 10:20:00 · 715 阅读 · 0 评论 -
数据库异常恢复办法
1.新建一个同名的数据库2.再停掉sql server3.用suspect数据库的文件覆盖掉这个新建的同名数据库4.再重启sql server5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)USE MASTERGOSP_CONFIGURE ALLOW UPDATES,1 RECONFIGURE WITH OVERRIDEGOUPDATE SY原创 2006-01-04 19:43:00 · 3512 阅读 · 0 评论 -
锁的基本应用
增设table2(D,E)D Ed1 e1d2 e2在第一个连接中执行以下语句begin tran update table1 set A=aa where B=b2 waitfor delay 00:00:30 update table2 set D=d5 where E=e1 commit tran 在第二个连接中执行以下语原创 2005-02-22 17:42:00 · 1032 阅读 · 0 评论 -
备份与恢复
1、先创建一个函数/*--得到数据库的文件目录 @dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装SQL时设置的默认数据目录 如果指定NULL,则返回默认的SQL备份目录名--邹建 2003.10--*/if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_getdbpat原创 2005-02-19 17:11:00 · 859 阅读 · 0 评论