我们将服务器从2005年迁移到2014年,用户可以在2005服务器中将其删除 但在2014年,我们收到错误,因为没有许可或没有退出 我们已经给了相同的权限,甚至他是系统管理员。在我们的应用程序端,他们无法删除应用程序用户通过我们的数据库中的用户连接的视图,他拥有所有权限,他是sysyadmin
答案 0 :(得分:1)
我遇到了同样的问题(SQL Server 2016)。
有点奇怪,但当我使用我的本地Windows帐户(也映射到SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '<your_table>' and COLUMN_KEY = 'PRI'
)通过 Windows身份验证连接到SQL Server时,我收到此错误。< / p>
当我使用用户名sa
及其相关密码通过 SQL Server身份验证连接到SQL Server时,我拥有所有权限,这个讨厌的错误消失了。
答案 1 :(得分:0)
我有一个非常类似的问题。移动数据库时,请确保Schema没有更改。
在我的例子中,所有的表和视图都放在一个带有databasename的模式中,所以不要调用表格,例如。 table1,它们被称为database.table1。
如上所述,这是显示此错误的一个原因。
编辑:看到他们建议相同的评论之后,在表名之前使用模式,是的。如果dbo是你的架构,那么尝试编写dbo.tablename
答案 2 :(得分:0)
在您的情况下,请检查是否两次创建了Drop view Statement,有时会在两个不同的位置删除该视图,这将导致此问题。
答案 3 :(得分:0)
如果只是发生此问题,就可以简单地解决,请按照以下步骤操作:
student_fast
。答案 4 :(得分:-1)
已经发布了好几年了。 我遇到了同样的情况。如果我按照以下方式运行:
Drop view [Schemaname.viewname]
会出现错误。
如果我拿走[ ]
,就像
Drop view Schemaname.viewname
有效。不知道是什么原因。