-1
不幸的是我在SQL Server 2008中创建表调用'sysmessages'。当我将数据库恢复到SQL Server 2012时,我意识到我有两个表调用'sysmessages'。 我不想更改我的表名,因为它在代码中使用。有没有办法从一个数据库中删除'sysmessages'表?
我可以只从特定的数据库系统表中删除吗?
不幸的是我在SQL Server 2008中创建表调用'sysmessages'。当我将数据库恢复到SQL Server 2012时,我意识到我有两个表调用'sysmessages'。 我不想更改我的表名,因为它在代码中使用。有没有办法从一个数据库中删除'sysmessages'表?
我可以只从特定的数据库系统表中删除吗?
select * from sys.sysmessages
,你会解决它像select * from dbo.sysmessages
edit - no。 2.不适用于SQL 2012,但它是测试和SQL 2008 R2
工作你不能删除系统表,最好的办法是改变你的代码
我没有测试过,但可能'SELECT * FROM dbo.sysmessages'仍然最终会从系统视图中选择以实现向后兼容的原因,因为它在2000年的dbo架构中。 –
@MartinSmith true,与SQL 2012中的SQL 2008R2不同,它真的最终会从sys.sysmessages中选择 –