【发布时间】:2019-02-24 09:36:55
【问题描述】:
我正在运行一个使用 signalr 的 asp.net MVC 应用程序,并且我在 SQL 服务器背板 (https://docs.microsoft.com/en-us/aspnet/signalr/overview/performance/scaleout-with-sql-server) 之外运行 signalR。我之前在此设置中遇到了一些问题,我的一位开发人员删除了“aspstate”数据库并重新运行 aspnet_regsql 以在他的脑海中“清除问题”。 不幸的是,这似乎使事情变得更加糟糕,我不知道如何解决它。现在我收到以下错误:
对象“sp_executesql”的执行权限被拒绝, 数据库“mssqlsystemresource”,架构“sys”。违反主键 约束“PK__Schema__04D490DBAD491E7F”。无法插入重复键 在对象“SignalR.Schema”中。重复键值为 (1)。安装 SignalR SQL 对象 数据库架构 [SignalR] 已存在 表 [SignalR].[Schema] 已存在 正在安装架构版本 1 消息 表 [SignalR].[Messages_0] 已存在消息 ID 表 [SignalR].[Messages_0_Id] alread exists 该语句已 终止。已安装架构版本 1 已安装 SignalR SQL 对象
我已尝试删除此数据库并将其指向一个新数据库,但一点运气都没有,感觉好像有些东西被缓存了,我什么都不会清除它。有什么想法可以解决这个问题吗?一段时间以来一直在为此烦恼,但没有多少重新启动/重置/重建可以解决它。
【问题讨论】:
-
它是否适用于可用性组中的任一注释?我不会在 SignalR 方面提供太多帮助,但我是一名数据库专家,所以可能会在那里提供帮助。
-
不,它没有。我不完全确定这个问题与 AG 相关,但认为应该提及。我认为主要问题是我之前试图清除它以解决另一个可能导致此问题的不相关问题。我删除了信号器数据库中的所有内容(其中有 3 个),但它在上面寻找的模式 id 可能缓存在某处,或者在临时数据库中?
-
db 错误什么时候发生,在应用启动时,在插入期间?
-
插入期间。
标签: sql-server signalr signalr-backplane