1.数据库从SQL Server 2008恢复到SQL Server 2014的时候,数据库的兼容性级别仍旧还是SQL Server 2008(100),因此需要手动的将兼容级别改成SQL Server 2014(120)。如果恢复的是单个数据库,可以右击数据库属性,在选项中进行修改。
2.如果恢复数据库的时候不是用sa账号进行登录的,数据库的所有者也不是sa账号,而是当时恢复时候的账号。
3.使用下面的语句查将数据库进行兼容性和所有者的修改。
SELECT 'ALTER DATABASE ['+s.name+'] SET COMPATIBILITY_LEVEL = 120
USE ['+s.name+']
EXEC dbo.sp_changedbowner @loginame = N''sa_admin'', @map = false
GO
' FROM sys.databases s WHERE s.database_id>=7
注意:SP_CHANGEDBOWNER存储过程在后续的版本中可能会废弃,所以在程序开发中最好不要使用,平常维护的时候可以。
建议使用ALTER AUTHORIZATION ON DATABASE::BM TO SA来修改数据库的所有者。