我正在使用Advantage Database Server 10.存储过程sp_GetSQLStatements可用于返回有关所有活动查询(包括SQL语句)的信息。通过从选项卡" Active Queries"上的Tools菜单中选择Remote Server Info选项,可以在Advantage Data Architect中查看相同的信息。 (Advantage Data Architect也使用存储过程sp_GetSQLStatements。)
有没有办法阻止服务器显示/检索SQL语句以保护我的开发工作?
感谢。
答案 0 :(得分:0)
您可以使用具有适当安全设置的数据字典,因此没有正确的身份验证,任何人都无法登录。
答案 1 :(得分:0)
我发现至少有部分解决方案来选择数据。使用数据字典我从我想要发出(和隐藏)的SQL语句创建一个视图。此外,我创建了一个存储过程,只包含一个
形式的SQL语句SELECT * FROM ViewName ORDER BY someColumns;
此语句允许排序(视图中不允许ORDER BY),它是服务器在“活动查询”下显示的唯一一个。视图的“源代码”将不会显示。
使用此变通方法,还可以以高性能(服务器端)方式从复杂视图创建新表:
SELECT * INTO NewTable FROM ViewName;
其他用户只能看到存储过程的SELECT语句,但看不到视图。很明显,对于UDATE和INSERT语句,将公开更多代码。