Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server过程中聚合错误消息_Sql Server_Stored Procedures_Error Handling - Fatal编程技术网

Sql server 在SQL Server过程中聚合错误消息

Sql server 在SQL Server过程中聚合错误消息,sql-server,stored-procedures,error-handling,Sql Server,Stored Procedures,Error Handling,存储过程允许从应用程序的角度更好地抽象和分离关注点。在我的公司,有一个传统,就是让DBA编写过程并完成所有的DB工作。而且,这是一个最有效的模式 作为一名.NET开发人员,我使用资源文件聚合所有错误/成功/验证消息。这使我能够保持错误消息的标准化和集中化,因此,一旦实现完成,并且我们需要记录“应用程序消息”,这个过程就很简单了 然而,我们的DBA有一个坏习惯,即在整个过程中分散错误消息,这使得很难记录系统。当前的解决方案是始终返回@Result和@Message,并使用Redgate工具搜索和查

存储过程允许从应用程序的角度更好地抽象和分离关注点。在我的公司,有一个传统,就是让DBA编写过程并完成所有的DB工作。而且,这是一个最有效的模式

作为一名.NET开发人员,我使用资源文件聚合所有错误/成功/验证消息。这使我能够保持错误消息的标准化和集中化,因此,一旦实现完成,并且我们需要记录“应用程序消息”,这个过程就很简单了

然而,我们的DBA有一个坏习惯,即在整个过程中分散错误消息,这使得很难记录系统。当前的解决方案是始终返回
@Result
@Message
,并使用Redgate工具搜索和查找这些变量。然而,这是乏味的,听起来并不是一个很好的解决方案


我想知道是否有任何推荐做法可以在不降低性能的情况下将错误消息集中在数据库端?

在我们的应用程序中,我们从存储过程返回错误代码。这些错误代码是固定的整数,例如,如果要求更新的用户id在数据库中不存在,我们将返回错误代码10。我们使用这些错误代码作为资源文件中的键来定义针对它们的标准错误消息


我们还定义了对应于这些错误代码的enume,这只是为了让我们的生活更轻松

我理解,您正在将错误消息的处理卸载到应用程序中,并依赖返回的错误代码将其转换为人类可读的消息。因此,没有文档的人会查看多个位置并整理错误消息。