我要求客户在连接到SQL Server时,只能在应用程序连接字符串中使用DNS别名。 有没有办法从服务器端强制执行此操作?这样做的目的是防止应用程序中的IP地址硬编码,这可能会随着时间而变化。
答案 0 :(得分:2)
而不是强制执行此操作(因为看起来您可能无法轻松实现),而不是审核它。
您应该能够构建一个能够监视成功登录的应用程序。然后,当发生使用除DNS别名之外的其他内容的登录时,应用程序可以向系统管理员/开发人员等发出警报。
这些资源可能有助于追踪这一点:
http://blogs.msdn.com/sqlprogrammability/archive/2006/08/16/703079.aspx
干杯
答案 1 :(得分:1)
无法从服务器端强制执行此操作。
不应将IP地址(或服务器名称)硬编码到应用程序中。它们应驻留在配置文件中(必要时加密)。
答案 2 :(得分:0)
当您说'别名'时,您的意思是“不是IP地址”或“CNAME记录而不是A记录”吗?如果你的意思是后者,你可以进行正向DNS查找,然后对返回的IP地址进行反向查找。如果返回的名称与原始查找的名称相同,则很可能不是别名。这应该可以解决这个问题,但它并没有真正解决这个事实,即它是一个奇怪的要求:)