我在Visual Studio中的数据库项目中创建了一个数据库触发器,这就是我得到以下错误的地方(并且只是在trAudit_Transactions.sql文件中,但在我运行它时没有数据库服务器)
触发器:[MYDB]。[trAudit_Transactions] 有一个未解析的用户 [MYDB_Audit]的引用。
我的触发器看起来像这样
CREATE TRIGGER [trAudit_Transactions] ON [MYDB].[TRANSACTION_WAIT]
WITH EXECUTE AS 'MYDB_Audit' -- the error comes from here
FOR INSERT, UPDATE, DELETE
AS
...
由于我无法发布/构建解决方案(因为错误),我只是注释掉行nr 2并创建脚本,取消注释错误的部分,它在服务器上运行得很好。
为什么/这是什么?只是在Visual Studio中?当我更改已发布的脚本并针对db运行它时,一切正常。
创作的其余部分在这里
CREATE LOGIN [MYDB_Audit] WITH PASSWORD = N'xxx' CHECK_POLICY = OFF;
CREATE USER [MYDB_Audit] FOR LOGIN [MYDB_Audit];
CREATE ROLE [db_mydb_audit] AUTHORIZATION [dbo];
ALTER ROLE [db_mydb_audit] ADD MEMBER [MYDB_Audit];
GRANT CONNECT TO [MYDB_Audit];
我已经尝试了所有我能想到的东西,并且在没有运气的情况下到处搜寻。
这里发生了什么?我错过了什么?