SQLServer早已准备好的彩蛋们!

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早已准备好的几个彩蛋,这些彩蛋或许和我们的工作无关,但它们在代码世界中的存在,不失为给我们工作带来一份轻松和乐趣。

数据库标签