使用fn_dblog
我可以获得我的数据库的联机事务日志的活动部分。
但是在每个检查点之后我只能看到 2 个条目显示检查点的开始和检查点LOP_BEGIN_CKPT
的结束LOP_END_CKPT
。
我想知道以前的日志是否在每个检查点之后都被删除,或者它们只是被忽略,因为dbi_checkptLSN
位于引导页面中的值指示最新的 LSN?
如果是dbi_checkptLSN
我能够移动该指标的结果,如果是,如何移动?
如果没有,并且日志没有被删除,我该如何访问以前的日志?
使用fn_dblog
我可以获得我的数据库的联机事务日志的活动部分。
但是在每个检查点之后我只能看到 2 个条目显示检查点的开始和检查点LOP_BEGIN_CKPT
的结束LOP_END_CKPT
。
我想知道以前的日志是否在每个检查点之后都被删除,或者它们只是被忽略,因为dbi_checkptLSN
位于引导页面中的值指示最新的 LSN?
如果是dbi_checkptLSN
我能够移动该指标的结果,如果是,如何移动?
如果没有,并且日志没有被删除,我该如何访问以前的日志?
存储在启用文件流的表中的每个 BLOB 实际上存储在物理文件中,我如何知道该表中特定行的实际文件名。
例如,我有Images
一个启用了文件流的表,它有一个名为Data
type :的文件流列VARBINARY(MAX)
。
这是该表的一个示例,它有 19 行,文件流文件夹也包含 19 行:
它是存储在某个系统表中,还是“ROWGUIDCOL”与其名称之间存在直接关系?
我有 SQL Server 2008 R2,当我尝试访问存储在文件流中的任何值时,我收到以下错误:
Msg 233, Level 20, State 0, Line 0
从服务器接收结果时发生传输级错误。(提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)
SQL ERRORLOG 文件中还引发以下错误:
SqlDumpExceptionHandler:进程 51 生成致命异常 c0000005 EXCEPTION_ACCESS_VIOLATION。SQL Server 正在终止此进程。
我阅读了有关该异常的信息,Microsoft 有它的 KB ( KB972936 ),但在我安装了它的修补程序后它也没有工作。
如果我SELECT
使用该表中的记录计数:
SELECT COUNT(1) FROM [Table_Name]
我得到正确的结果。
以下是数据库文件和文件组的一些详细信息。数据库有 2 个文件,即“行数据”文件和“日志”文件,其中还应包含“文件流数据”项。
该数据库具有以下文件组: