解剖sqlserver 第十篇 orcamdf studio 发布+ 特性重温(译) http://improve.dk/orcamdf-studio-release-feature-recap/ 自从我上次作了一个orcamdf特性概述之后,两个半月过去了。 只是两个半月过去了自从我上次一个orcamdf特性概述。 从那时起我一直在忙着
解剖sqlserver 第十篇 orcamdf studio 发布+ 特性重温(译)http://improve.dk/orcamdf-studio-release-feature-recap/
自从我上次作了一个orcamdf特性概述之后,两个半月过去了。
只是两个半月过去了自从我上次一个orcamdf特性概述。从那时起我一直在忙着参加sqlserver的最顶级的三个会议:sqlbits、sqlpass、sql rally
大家对orcamdf的交流都很热烈,并且从他们身上获得了一些反馈,感谢您们所有人!
虽然一直比较忙,但是我尽量保证不丢下orcamdf 的开发工作
相比起国内,sqlserver的相关会议实在太少了
《sql pass北京举行2014年第一次线下活动》
新特性
下面是一个简单的列表自上次发布的特性开始
支持多数据文件数据库
通过标准sqlserver dmvs 暴露元数据
优化性能:字节数组使用更轻型,同时共享单一实例表模式之间的所有行
另外,我还添加了对一些额外的数据类型的支持
money
smallmoney
uniqueidentifier
用户定义类型
这些新特性只是一些小事情,接下来有个更大的事情 orcamdf studio
orcamdf studio
从这些反馈中我获得一些信息:太厉害的项目了!我绝对想试用一下这个软件,但是我还没有时间去使用
老实说,试用orcamdf会比较麻烦,你必须下载源代码,并且编译他,还要用自己写的程序去调用orcamdf
我没有考虑到直接最终的用户,这不是我所关注的。然而,为了得到更多的对orcamdf的使用反馈我必须对orcamdf进行改进
因此,我决定创建orcamdf studio-这是一个ui 构建在orcamdf之上 允许你查询用户表,dmvs,系统表而不需要直接看源代码了
下面你看到的是orcamdf为你显示的一个标准的adventureworks 2008数据库中的product表内容:
系统表
orcamdf studio展示了所有的系统表(当前支持的 和能够解析的),就像普通表一样
用户表,索引和架构
最后,orcamdf 也展示了所有的用户表,包括他们的架构,索引和索引架构
错误报告
无论是orcamdf还是orcamdf studio,距离投入生产环境依然是比较遥远的,你可能会遇到不支持的场景或者一些常见的错误
如果你遇到了,orcamdf studio会将他报告出来,并且保存堆栈信息在程序目录里面。下面是一个典型错误的例子
尝试打开一个不受支持的xml数据类型列的表
如果你查看在程序目录里面的errorlog.txt文件,你会看到下面的异常
25-11-2011 00:41:21----------system.argumentexception: unsupported type: xml(-1) at orcamdf.core.metadata.datacolumn..ctor(string name, string type, boolean nullable) in d:projectsorcamdfsrcorcamdf.coremetadatadatacolumn.cs:line 135 at orcamdf.core.metadata.datacolumn..ctor(string name, string type) in d:projectsorcamdfsrcorcamdf.coremetadatadatacolumn.cs:line 20 at orcamdf.core.metadata.databasemetadata.getemptydatarow(string tablename) in d:projectsorcamdfsrcorcamdf.coremetadatadatabasemetadata.cs:line 155 at orcamdf.core.engine.datascanner.scantable(string tablename) in d:projectsorcamdfsrcorcamdf.coreenginedatascanner.cs:line 31 at orcamdf.oms.main.loadtable(string table) in d:projectsorcamdfsrcorcamdf.omsmain.cs:line 158
弹出一个完全匿名的错误提示,如果你遇到错误,我会很感激你将errorlog.txt file文件发给我以便调试有潜在问题的程序
所有的问题,错误报告,软件要求都可以发电邮给我
数据库版本支持
orcamdf 一开始对 sql server 2008 r2进行开发和测试,一些操作也能够在sqlserver2005上使用
不过会有很多错误,因为sqlserver2005的系统表结构跟sql server 2008 r2系统表结构有些不一样
orcamdf 对于不同版本的sqlserver并没有区别对待,当你使用不同版本的时候,稍后我会添加一个抽象层支持其他版本的sqlserver
打开正在运行的数据库
orcamdf studio必须获得数据库文件的读锁。sqlserver在数据文件上持有排他锁,这意味着你不能打开一个正在运行的数据库
你只有分离数据库,使数据库脱机,备份-还原-分离或者 使用一个还未附加的数据库。
对于后续版本,我会添加一个自动vss快照功能
系统运行要求
orcamdf建立在.net 4.0之上,因此,你需要安装.net 4.0 orcamdf studio才能运作,orcamdf studio可以运行在32位和64位机器上
免责声明
再一次,orcamdf 和orcamdf studio 是实验用途的软件。对于使用他的任何风险不做任何担保。
orcamdf不会写任何东西进去你的磁盘,因此也不会以任何方式修改你的数据库文件。然而,我强烈建议你不要将他使用在生产数据库上
orcamdf 不知道也不关心信息安全,orcamdf 没有权限系统,无论谁拥有架构和对象,orcamdf 都会对他进行解析
而这个解析是不需要用户名和密码。但是,orcamdf 不支持对数据库做了透明数据加密tde的数据,所以对tde库里的数据是不支持的
下载
你可以从github 的项目页面下载orcamdf studio的二进制发布代码。请不要从其他地方下载orcamdf ,因为这些地方上面的
orcamdf 源代码有可能已经被别人修改过了。你应该总是从github 的项目页面上获取源代码
一旦你下载了orcamdf,你需要执行orcamdf.oms.exe程序
注意:这是debug模式下的调试版本,pdb文件。调试版本略低于发布版本,不过他允许我获取完全的堆栈跟踪当异常发生的时候。
一旦orcamdf 稳定下来了,我会提供调试版本和发布版本
第十篇完