我安装了SQL Server 2012,并附加了最初由SQL Server 2008 R2生成的数据库。
一切似乎都可以正常运行,但有一个问题:合并速度从每秒1000次降至每秒10次(速度降低了100倍)。
我推测这是因为我正在从SQL Server 2012访问SQL Server 2008 R2数据库。是否有某种方法可以将数据库转换为SQL Server 2012格式?还是有其他事情可能解释性能下降100倍?
最佳答案
请确保将数据库的兼容模式设置为110,并更新统计信息。
ALTER DATABASE MyDatabase SET COMPATIBILITY_LEVEL = 110;
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += CHAR(13) + CHAR(10) + 'UPDATE STATISTICS '
+ QUOTENAME(SCHEMA_NAME(schema_id))
+ '.' + QUOTENAME(name) + ' WITH FULLSCAN;'
FROM sys.tables;
PRINT @sql;
--EXEC sp_executesql @sql;
关于sql-server-2008-r2 - 如何将SQL Server 2008 R2数据库转换为SQL Server 2012?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272637/