sql-server-2008-r2 - 如何将SQL Server 2008 R2数据库转换为SQL Server 2012?

标签 sql-server-2008-r2 sql-server-2012

我安装了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/

相关文章:

sql-server - 在 SQL 中将一列数据显示为两列

sql - 将列数据拆分为多行

sql-server - 选择每 5 行中的最大值

c# - 从 .NET 安全地获取下一个 SQL Server 序列值

sql-server - UNPIVOT 返回数据类型

sql-server - 无法在 PS1 文件中运行 Invoke-Sqlcmd,但可以在控制台上运行

sql - 根据 T-Sql 中的日期范围求列总和

sql-server - 为什么我不能在 T-SQL 函数中的表变量上运行 INSERT EXEC?

sql-server - SQL Server 数据库优化策略

database - 对于不使用源代码管理的团队 - 如何跟踪 SQL Server 2012 中的架构更改?