我正在尝试搜索特定字符串的1,000个存储过程和函数(在这种情况下是一个电子邮件地址),但我想在注释块中忽略它.
这是查找对象的SQL语法,但是有数百个结果,我不想通过每个结果来确定电子邮件地址是在代码中还是仅在注释块中使用.
SELECT DISTINCT
o.name objectname
FROM sys.sql_modules m
INNER JOIN sys.objects o
ON m.object_id = o.object_id
WHERE definition LIKE '%somebody@somewhere.com%'
ORDER BY o.name
Run Code Online (Sandbox Code Playgroud)
我有一个CLR库(SQLSharp),我可以使用正则表达式,但我不确定正则表达式将识别注释与有效代码.
对于那些精通RegEx且不精通SQL Server的人来说,注释被定义为以两个破折号(例如 - )开头的单行或以/*开头并以*/结尾的多行
试图弄清楚这一点的想法让我的大脑受伤了.
这是场景:我在asp.net mvc 4项目上有多个开发人员.每个开发人员都有一个本地数据 源控制系统是http://tfs.visualstudio.com上的TFS .我们使用Azure网站来托管该网站.我们还配置了Azure网站以进行持续部署.
源代码控制系统可能是git,mercurial,TFS等.老实说,我认为这不重要.
我的问题是如何完成这三件事:
我们通过将单独的连接字符串添加到machine.config来完成#1,这样开发人员工作站设置之间就没有冲突.
我最初从web.config中删除了connectionstrings部分.在Azure网站中(使用管理门户,在Configure下),我配置了连接字符串,在观看Scott Hanselman视频之后,人们认为这些视频会在部署时被动态地合并到我的web.config中,但这并不是似乎发生了.每当我访问任何命中数据库的页面时,我都会收到一条错误消息,指出找不到连接字符串(或者与连接相关的其他数据库错误)
如果我将Azure连接字符串直接放在web.config中,那么在Azure上工作,但是连接详细信息在每个人都可以看到源控件中.
在阅读了Scott和David Ebbo的更多帖子之后,似乎我可以在web.config中添加一个空白的连接字符串(具有正确的名称),然后Azure将正确覆盖这些值.然后,我必须让开发人员将他们的连接字符串放在他们的web.debug.config中,然后安装Slow Cheetah插件,以便他们可以在本地进行F5测试.他们还必须不将web.debug.config检入源代码控制.(使用TFS并不那么容易)这看起来像是一个非常繁重的kludge,它必然会在某个地方失败.
我不得不相信这不是一个罕见的问题.其他团队如何实现这一目标?
deployment visual-studio azure-web-sites azure-sql-database azure-devops