解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译)
解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译) http://improve.dk/orcamdf-feature-recap/ 时间过得真快,这已经过了大概四个月了自从我最初介绍我的宠物项目OrcaMDF。 自从项目开始到现在,OrcaMDF发生了很多变化,功能更强了,因此我想提供一个概述对目前O
解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译)
http://improve.dk/orcamdf-feature-recap/
时间过得真快,这已经过了大概四个月了自从我最初介绍我的宠物项目OrcaMDF。
自从项目开始到现在,OrcaMDF发生了很多变化,功能更强了,因此我想提供一个概述对目前OrcaMDF的功能的概述以及我对OrcaMDF未来的计划
页面类型
OrcaMDF 当前支持以下页面的数据完整解析:Data, Index, TextMix(lob), TextTree(lob), GAM, SGAM, IAM, and PFS
也支持最小限度的解析bootpage,bootpage是用户表元数据查找的启动点
剩下的是排序,文件头,DCM,BCM页面,DCM和BCM页面跟IAM, GAM and SGAM 页面使用相同的位图格式,解析他们也很简单。
文件头有一些tricky 并且一些DBCC PAGE解析。排序页面跟其他页面很少有关系,他们只用于在SQLSERVER运行时候临时使用并且不会
存放在你的MDF文件里面
关于排序页:http://tech.it168.com/a2010/0916/1104/000001104500_1.shtml
数据类型
我已经添加了尽可能多的数据类型到OrcaMDF里面,稍后我会添加对LOB类型的解析支持,对XML不支持
当前支持的数据类型包括
bigint
binary
bit
char
datetime
decimal
image
int
nchar
ntext
nvarchar(x)
nvarchar(MAX)
smallint
sysname
text
tinyint
varbinary(x)
varbinary(MAX)
varchar(x)
varchar(MAX)
在以后添加新的数据类型相对来说比较容易,只需要分析存储格式并且实现ISqlType 接口
表和索引结构
使用DataScanner 类,OrcaMDF 能扫描聚集索引表和堆表。使用IndexScanner 类能扫描非聚集索引,无论他们是建立在堆表上还是在聚集索引表上
元数据
OrcaMDF 当前能暴露出来唯一已经公开暴露出来的元数据包括一系列的表名,OrcaMDF 能解析索引,表,分区,分配单元,列并提供他们的名字
这让你能扫描聚集索引表/堆表/索引。OrcaMDF 会自动解析对象的架构和搜索IAM链表头(堆)或者索引的root page
余下的关注点
OrcaMDF 当前只支持单个数据文件的数据库,那就是没有NDF文件的数据库。添加对NDF文件支持是很简单的,不过我的主要关注点是
对数据文件里核心数据结构的支持,所以,NDF文件不会改变太大。对于损坏的文件或者损坏检测,OrcaMDF 假设MDF文件是完好无损的。
有几个地方是能检测到数据库损坏的,但是我把检测数据库损坏的功能推迟到直到我认为OrcaMDF 能正确解析数据库的大部分功能的时候
OrcaMDF 这个项目从一开始到现在一直是深入研究SQLSERVER内部的一个很好的项目,因此,数据库损坏检测在现阶段并不是很重要
尽管数据库损坏检测是我最终想要添加的一个功能
下一步计划
我想扩展当前元数据解析的能力,特别关注公用的暴露出来的元数据。通过OrcaMDF能够生成像SSMS左边那样的树状的数据库/对象/列的图形界面
以为会添加表名,索引名,架构名,键等。我也会研究一下数据页面压缩,先从行压缩开始。压缩格式的文档有很多(相比起LOB结构),
压缩不会带来太多问题。
如果你有任何建议或特性你想看到的,请与我联系
许多人要求我介绍如何使用OrcaMDF并列出例子。我将会创建一个博客文章系列通过代码来展示如何使用OrcaMDF 提供的特性。
我还计划创建一篇博客来说明如何获取源代码和编译源代码,最后如何运行软件
第七篇完

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











SQL Server 데이터베이스에 이미 존재하는 동일한 이름을 가진 개체의 경우 다음 단계를 수행해야 합니다. 개체 유형(테이블, 뷰, 저장 프로시저)을 확인합니다. IF NOT EXISTS를 사용하면 객체가 비어 있는 경우 생성을 건너뛸 수 있습니다. 개체에 데이터가 있는 경우 다른 이름을 사용하거나 구조를 수정하세요. 기존 개체를 삭제하려면 DROP을 사용하세요. 주의하세요. 백업을 권장합니다. 삭제되거나 이름이 바뀐 개체에 대한 참조가 없는지 확인하려면 스키마 변경 사항을 확인하세요.

가져오기 단계는 다음과 같습니다. MDF 파일을 SQL Server의 데이터 디렉터리(일반적으로 C:\Program Files\Microsoft SQL Server\MSSQL\DATA)에 복사합니다. SSMS(SQL Server Management Studio)에서 데이터베이스를 열고 연결을 선택합니다. 추가 버튼을 클릭하고 MDF 파일을 선택합니다. 데이터베이스 이름을 확인하고 확인 버튼을 클릭합니다.

SQL Server 서비스가 시작되지 않는 경우 해결해야 할 몇 가지 단계는 다음과 같습니다. 오류 로그를 확인하여 근본 원인을 확인합니다. 서비스 계정에 서비스를 시작할 수 있는 권한이 있는지 확인하세요. 종속성 서비스가 실행 중인지 확인하세요. 바이러스 백신 소프트웨어를 비활성화합니다. SQL Server 설치를 복구합니다. 복구가 작동하지 않으면 SQL Server를 다시 설치하십시오.

SQL Server 포트 번호를 보려면 SSMS를 열고 서버에 연결합니다. 개체 탐색기에서 서버 이름을 찾아 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 연결 탭에서 TCP 포트 필드를 확인하세요.

실수로 SQL Server 데이터베이스를 삭제한 경우 다음 단계를 수행하여 복구할 수 있습니다. 데이터베이스 활동 중지, 데이터베이스 로그 확인, 백업에서 복원, DBCC CHECKDB 사용 파티 도구. 데이터 손실을 방지하려면 데이터베이스를 정기적으로 백업하고 트랜잭션 로깅을 활성화하십시오.

SQL Server 데이터베이스 파일은 일반적으로 다음 기본 위치에 저장됩니다. Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data 데이터베이스 파일 경로를 수정하여 데이터베이스 파일 위치를 사용자 정의할 수 있습니다. 환경.

SQL Server 설치가 실패하면 다음 단계에 따라 정리할 수 있습니다. SQL Server 제거 레지스트리 키 삭제 파일 및 폴더 삭제 컴퓨터를 다시 시작합니다.

다음 단계에 따라 SQL Server 영어 설치를 중국어로 변경할 수 있습니다. SQL Server 서비스를 중지하고, 인스턴스 언어를 변경하고, 응용 프로그램을 다시 시작합니다.
