如何为不同的数据库分隔用户定义的消息

时间:2011-02-25 08:30:22

标签: sql-server error-handling

我有2个数据库,每个数据库都有自己的用户定义消息。问题是它们存储在sys.messages中的message_id是相交的,因此这些数据库不能在同一个SQL Server实例上部署而不更改一个数据库中的所有消息(但这些太昂贵了 - 我必须更改所有存储过程)。

有没有办法制作特定于数据库的错误消息?

1 个答案:

答案 0 :(得分:1)

sys.message表是数据库范围的,所以你根本无法轻易做到这一点。该表实际上只应用于DB范围内的事物(如扩展存储过程和其他服务器扩展),而不是用于存储过程。但我想改变这已经太晚了。

我只看到两种方法:

  1. 在添加消息时使用“语言”字段以识别消息而不是应用程序。当然,这会导致其他问题,因为您需要让每个应用程序都使用它自己的“语言”。
  2. 使用两个不同的SQL Server实例,每个应用程序一个。