相关疑难解决方法(0)

与 2008 R2 相比,更喜欢 SQL Server 2012 的客观商业原因是什么?

我的公司正面临为新的数据库服务器购买 SQL Server 2012 Denali 还是 SQL Server 2008 R2 的决定。我正在寻找客观的理由来选择一个。

我们的要求:

  • 标准版(出于经济原因和不需要企业功能)
  • OLTP 工作负载(这意味着我们不需要新的窗口函数和列存储索引)
  • 数据库大小 10-100 GB
  • 不需要商业智能功能。只需要关系引擎
  • 同步数据库镜像

目前,我知道以下原因:

SQL Server 2012 德纳利

  • 最新版本可用

SQL Server 2008 R2

  • 成熟的技术

我似乎找不到很多技术原因来偏爱其中一个。基本上,这归结为选择成功运行的成熟技术与可用的最新和最好的版本。

做出决定的客观原因是什么?

sql-server-2008 sql-server sql-server-2008-r2 sql-server-2012

50
推荐指数
4
解决办法
2万
查看次数

将图像存储在 BLOB 中还是仅存储在 URL 中更好?

可能的重复:
文件 - 在数据库中与否?

我想知道是否有任何充分的理由仍然在数据库中使用 blob 字段。几年前,我使用了一个包含一堆图像的数据库,该数据库非常慢,我看不出有什么好的理由将图像保存在数据库中,所以我将图像取出并存储了文件名反而。

这是明智之举吗?你代替我做什么?

database-tuning architecture

40
推荐指数
7
解决办法
4万
查看次数

为什么“SELECT POWER(10.0, 38.0);” 抛出算术溢出错误?

我正在更新我的IDENTITY溢出检查脚本以考虑DECIMALNUMERIC IDENTITYcolumns

作为检查的一部分,我计算每一IDENTITY列的数据类型范围的大小;我用它来计算该范围的百分比已用完。因为DECIMALNUMERIC 该范围的大小2 * 10^p - 2p是精度在哪里。

我用DECIMALNUMERIC IDENTITY列创建了一堆测试表,并尝试按如下方式计算它们的范围:

SELECT POWER(10.0, precision)
FROM sys.columns
WHERE 
       is_identity = 1
   AND type_is_decimal_or_numeric
;
Run Code Online (Sandbox Code Playgroud)

这引发了以下错误:

Msg 8115, Level 16, State 6, Line 1
Arithmetic overflow error converting float to data type numeric. 
Run Code Online (Sandbox Code Playgroud)

我将它缩小到IDENTITY类型的列DECIMAL(38, 0)(即具有最大精度),然后我POWER()直接尝试对该值进行计算。

以下所有查询

SELECT POWER(10.0, 38.0);
SELECT CONVERT(FLOAT, (POWER(10.0, 38.0)));
SELECT CAST(POWER(10.0, 38.0) …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server datatypes t-sql type-conversion

16
推荐指数
2
解决办法
1万
查看次数