不能放弃约束

use*_*502 1 sql t-sql sql-server-2008

删除约束时没有运气...我以'sa'身份登录,应该有足够的权限来执行它但我仍然得到:

Msg 4902, Level 16, State 1, Line 6
Cannot find the object "dbo.Products" because it does not exist or you do not have permissions.
Run Code Online (Sandbox Code Playgroud)

这是查询:

USE [PRSS10_DATABASE]
    IF EXISTS (SELECT * 
      FROM sys.foreign_keys 
       WHERE object_id = OBJECT_ID(N'dbo.FK_Product_SMC')
       AND parent_object_id = OBJECT_ID(N'dbo.Products')
    )
      ALTER TABLE [dbo.Products] DROP CONSTRAINT [FK_Product_SMC]
Run Code Online (Sandbox Code Playgroud)

现在我可以访问表..表存在,外键也是..我可以缺少什么?

Mik*_*iro 6

这是括号.当你这样[dbo.products]做使它认为整个对象被命名为"dbo.products" 你想要的是[dbo].[Products]它将"dbo"识别为模式,将"Products"识别为表.