1.什么是SQLServer彩蛋
彩蛋(Easter egg)是指一些被软件工程师故意放入软件中的隐藏功能或者内容,通常不会在软件使用文档中被明确说明。SQLServer早已准备好了一些有意思的彩蛋,下面将逐一介绍。
2.SQLServer常见彩蛋介绍
2.1倒霉熊彩蛋
在SQL Server安装路径下找到这个文件:C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\SuperSocketNetLib\Tcp\,双击MUST_CHANGE_TO_ENABLE.bat,再双击MUST_CHANGE_TO_DISABLE.bat,这时会弹出一个窗口,出现了一个小熊玩偶,它么继续倒霉中..
/*
在SQL Server安装路径下找到这个文件:C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\SuperSocketNetLib\Tcp\,
双击MUST_CHANGE_TO_ENABLE.bat,再双击MUST_CHANGE_TO_DISABLE.bat,这时会弹出一个窗口,出现了一个小熊玩偶,它么继续倒霉中..
*/
2.2小蓝人彩蛋
SQLServer还有一个有趣的彩蛋,可以将其看做“小蓝人”,方法如下:
打开SQL Server 2008的Object Explorer
右键服务器名称,选择“连接对象管理器”
在弹出的窗口中按下Ctrl+Alt+Shift+左键双击“刷新”图标,就会出现一个“小蓝人”了
/*
打开SQL Server 2008的Object Explorer,右键服务器名称,选择“连接对象管理器”,在弹出的窗口中按下Ctrl+Alt+Shift+左键双击“刷新”图标,
就会出现一个“小蓝人”了
*/
2.3星际迷航彩蛋
SQLServer还有一个“星际迷航”系统彩蛋,而只要在Object Explorer中打开新查询窗口后输入以下代码并执行就可以了:(当然Query Analyzer也可以)
/*
SQLServer "星际迷航"系统彩蛋:
在Object Explorer中打开新查询窗口后输入以下代码并执行就可以了:(当然Query Analyzer也可以)。
*/
SELECT " /\ "
UNION ALL SELECT " < > "
UNION ALL SELECT " \/ "
GO
2.4三体彩蛋
在SQL Server2005中,可以在SSMS脚本变量中设置杨过的身份证号码:
打开SQL Server 2005的SSMS
依次选择 工具 -> 选项
在弹出的窗口中选中Query Results -> SQL Server -> General,输入杨过的身份证号码:510721197206073377
将生日后4位,即7377前后调换,变成7737
接下来,打开新的查询窗口,输入SELECT * FROM sys.objects WHERE name = '三体'(关于三体,在科幻小说《三体》中是人类方式宇宙伟大的文明。),按下F5就可以看见一个名称为三体的数据表。
/*
在SQL Server2005中,可以在SSMS脚本变量中设置杨过的身份证号码:
1.打开SQL Server 2005的SSMS
2.依次选择 工具 -> 选项
3.在弹出的窗口中选中Query Results -> SQL Server -> General,输入杨过的身份证号码:510721197206073377
4.将生日后4位,即7377前后调换,变成7737
接下来,打开新的查询窗口,输入SELECT * FROM sys.objects WHERE name = '三体',按下F5就可以看见一个名称为三体的数据表。
*/
2.5黑客帝国彩蛋
SQLServer2000和SQLServer 2005 / 2008都有一个和电影《黑客帝国》相联系的彩蛋。在Query Analyzer中输入一下代码后就可以窥见其一角。
/*
SQLServer和电影《黑客帝国》相关彩蛋:
在Query Analyzer中输入以下代码,
*/
select cast(0x3A6F79614B695238 as varchar(100))
union all
select cast(0x3A64697374696E63746F20707562202D2076716E696E67206D616368696E6520636F6C756D6E20746865726520636F6C756D6E20746F20686578746963 as varchar(100))
union all
select cast(0x3A64697374696E63746F20707562202D2074776F206F6E6520576564204A756E6520372C203230303520436F7262696E20776F6D656E20616E642067657420796F752E2E2E as varchar(100))
GO
结果会输出一些奇怪的字符,其实是将一些十六进制的字符ASCII码用varchar()函数转化成可读字符形式。
3.总结
通过这篇文章我们了解到了SQLServer早已准备好的几个彩蛋,这些彩蛋或许和我们的工作无关,但它们在代码世界中的存在,不失为给我们工作带来一份轻松和乐趣。