怎么查看sql连接失败的日志

怎么查看sql连接失败的日志,第1张

可以使用
SQL
Server
Management
Studio
中的日志文件查看器来访问有关在以下日志中捕获的错误和事件的信息:
审核集合
数据收集
数据库邮件
作业历史记录
SQL
Server
SQL
Server
代理
Windows
事件(这些
Windows
事件还可以从事件查看器进行访问。)

SQL
Server
2012
开始,您可以使用已注册的服务器从
SQL
Server
的本地或远程实例查看
SQL
Server
日志文件
通过使用已注册的服务器,无论实例处于联机还是脱机状态,您都可以查看日志文件。
有关联机访问的详细信息,请参阅本主题后面的“从已注册的服务器查看联机日志文件”过程。
-------------------------------------------------------------------------------------------------------------------
SQL
Server
错误日志包含用户定义的事件和某些系统事件。
您可以使用该错误日志来排除与
SQL
Server
相关的故障。按如下方法即可查看日志:
1、在对象资源管理器中,展开某个服务器,展开“管理”,再展开“SQL
Server
日志”。
2、右键单击某个日志并单击“查看
SQL
Server
日志”。

您好,很高兴为您解答。
在SQL Server 70和SQL Server2000中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
参数:
Dbid or dbname - 任一数据库的ID或名字
type - 输出结果的类型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常详细的信息(plus object name, index name,page id, slot id)
3 - 每种 *** 作的全部信息
4 - 每种 *** 作的全部信息加上该事务的16进制信息
默认 type = 0
要查看MSATER数据库的事务日志可以用以下命令:
DBCC log (master)
释放日志空间
1清空日志
  DUMP TRANSACTION 库名 WITH NO_LOG
2截断事务日志:
  BACKUP LOG 数据库名 WITH NO_LOG
3收缩数据库文件(如果不压缩,数据库的文件不会减小
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  也可以用SQL语句来完成
  --收缩数据库
  DBCC SHRINKDATABASE(客户资料)
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles
  DBCC SHRINKFILE(1)
4为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行)
  a分离数据库:
  企业管理器--服务器--数据库--右键--分离数据库
  b在我的电脑中删除LOG文件
  c附加数据库:
  企业管理器--服务器--数据库--右键--附加数据库
  此法将生成新的LOG,大小只有500多K
  或用代码:
  下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
  a分离
  E X E C sp_detach_db @dbname = 'pubs'
  b删除日志文件
  c再附加
  E X E C sp_attach_single_file_db @dbname = 'pubs',
  @physname = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/pubsmdf'
5为了以后能自动收缩,做如下设置:
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
  --SQL语句设置方式:
  E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'
6如果想以后不让它日志增长得太大
  企业管理器--服务器--右键数据库--属性--事务日志
  --将文件增长限制为xM(x是你允许的最大数据文件大小)
  --SQL语句的设置方式:
  alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
特别注意:
  请按步骤进行,未进行前面的步骤,请不要做后面的步骤
  否则可能损坏你的数据库
  一般不建议做第4,6两步
  第4步不安全,有可能损坏数据库或丢失数据
  第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复
另外提供一种更简单的方法,建议大家使用。
更简单的方法:
1。右建数据库属性窗口--故障还原模型--设为简单
2。右建数据库所有任务--收缩数据库
3。右建数据库属性窗口--故障还原模型--设为大容量日志记录

可以降到2005 用log explorer看下的哈使用Log Explorer查看和恢复数据 Log Explorer 41可用于SQL Server2005的日志查看工具 使用方法: 打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect -> 在Database Name中选择数据库 -> Attach-> 左面对话框中Browse-> View Log-> 就可以看到log记录了 想恢复的话: 右键Log记录 Undo Transation-> 选择保存文件名和路径-> 然后打开该文件到查询分析器里执行 T-sql代码就可以了 例如 如果Log是delete table where 的话,生成的文件代码就是insert table 然后将此insert table的代码放到查询分析器里执行就可以恢复数据------------------------------------------------------------------------如何恢复被delete/update的数据---------------------------------------------------------------------- 1 连接到被删除数据库的Db打开log explorer 选择 "file"->"attach log file"->选择服务器和登陆方式->"connect"->选择"数据库"->"attach"2 查看日志 在左面 *** 作项目的对话框中选择"browse"项目->"view log"->就可以看到当前的Log记录了3 恢复数据 右键某一条log记录,选择"undo transation"->"选择保存文件名和路径"->然后打开该文件到查询分析器里执行T-sql代码就可以了例如: 如果log是delete table where 的话,生成的文件代码就是insert table ------------------------------------------------------------------------Log Explorer恢复被drop table和truncate table后的数据----------------------------------------------------------------------1 连接到被删除数据库的Db *** 作同上2 恢复方法 1) 选择"salvaage dropped/truncate"菜单,在右边的对话框中选择表名,和droped/trucated的日期, File Name中选择生成insert语句脚步的存放位置,condition选择是droped还是truncated, 最后点击"create" 就会生成insert语句,把生成的语句到查询分析器里面执行一下就可以了 2) 选择"ViewDDL Commands"菜单->选"truncate table" *** 作项->点击"Salvage"->生成语句->查询分析器里执行------------------------------------------------------------------------log explorer使用的几个问题----------------------------------------------------------------------1) 对数据库做完全/差异/日志备份备份时如果选用了删除事务日志中不活动的条目再用Log explorer打试图看日志时,提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才的记录了 如果不选用了删除事务日志中不活动的条目再用Log explorer打试图看日志时,就能看到原来的日志并做恢复2) 修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复3) 然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,否则会出现数据库正在使用无法恢复)恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data,选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复4) 不要用SQL的备份功能备份,搞不好你的日志就破坏了

方法一

一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此 *** 作以免数据库日志过大
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式, *** 作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据
 
方法二
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE tablename -- 要 *** 作的数据库名SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log
@NewSize = 1 -- 你想设定的日志文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize 8 /1024) > @NewSize
BEGIN -- Outer loop
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size8/1024)) + 'MB'FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF
-------------------------------------
或者参考一下这个:
--压缩日志及数据库文件大小
/--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库
--/
1清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
3收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(客户资料)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles
DBCC SHRINKFILE(1)
4为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行)
a分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b在我的电脑中删除LOG文件
c附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a分离
EXEC sp_detach_db @dbname = 'pubs '
b删除日志文件
c再附加
EXEC sp_attach_single_file_db @dbname = 'pubs ',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubsmdf '
5为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择 "自动收缩 "
--SQL语句设置方式:
EXEC sp_dboption '数据库名 ', 'autoshrink ', 'TRUE '
6如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

在SQL Server 70和SQL Server2000中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
参数:
Dbid or dbname - 任一数据库的ID或名字
type - 输出结果的类型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常详细的信息(plus object name, index name,page id, slot id)
3 - 每种 *** 作的全部信息
4 - 每种 *** 作的全部信息加上该事务的16进制信息
默认 type = 0
要查看MSATER数据库的事务日志可以用以下命令:
DBCC log (master)
释放日志空间
1清空日志
  DUMP TRANSACTION 库名 WITH NO_LOG
2截断事务日志:
  BACKUP LOG 数据库名 WITH NO_LOG
3收缩数据库文件(如果不压缩,数据库的文件不会减小
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  也可以用SQL语句来完成
  --收缩数据库
  DBCC SHRINKDATABASE(客户资料)
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles
  DBCC SHRINKFILE(1)
4为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行)
  a分离数据库:
  企业管理器--服务器--数据库--右键--分离数据库
  b在我的电脑中删除LOG文件
  c附加数据库:
  企业管理器--服务器--数据库--右键--附加数据库
  此法将生成新的LOG,大小只有500多K
  或用代码:
  下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
  a分离
  E X E C sp_detach_db @dbname = 'pubs'
  b删除日志文件
  c再附加
  E X E C sp_attach_single_file_db @dbname = 'pubs',
  @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubsmdf'
5为了以后能自动收缩,做如下设置:
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
  --SQL语句设置方式:
  E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'
6如果想以后不让它日志增长得太大
  企业管理器--服务器--右键数据库--属性--事务日志
  --将文件增长限制为xM(x是你允许的最大数据文件大小)
  --SQL语句的设置方式:
  alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
特别注意:
  请按步骤进行,未进行前面的步骤,请不要做后面的步骤
  否则可能损坏数据库
  一般不建议做第4,6两步
  第4步不安全,有可能损坏数据库或丢失数据
  第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复
另外提供一种更简单的方法,建议大家使用。
更简单的方法:
1。右建数据库属性窗口--故障还原模型--设为简单
2。右建数据库所有任务--收缩数据库
3。右建数据库属性窗口--故障还原模型--设为大容量日志记录


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12593109.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存