如果固态驱动器在两台机器上都是本地驱动器,它们是否可以用于 SQL Server 故障转移群集上的 TempDB?它在 2012 年受支持,但我们的集群是 SQL 2005。它运行的应用程序不能升级到 2012。
如果 SSD 驱动器在两台服务器上位于相同的本地路径上,它不会在故障转移时重建 TempDB 吗?集群不会识别操作系统识别的任何驱动器吗?或者还有其他需要考虑的问题。
我意识到微软不会支持它,但性能提升会很棒。我们在该集群上的 TempDB 是使用最多的数据库,我们无法更改它运行的应用程序中的任何代码。
SELECT CONCAT_WS(parent_title, parent_fname, parent_sname) AS 'Parent'
CONCAT ('£1.50', sum(activity_price) AS Amount, COUNT(*) AS 'N.Activities'
FROM Activities A, Parent P, Child C, Register R
WHERE C.parent_id=P.parent_id AND C.child_id=R.child_id AND A.activity_id=R.activity_id
GROUP BY P.parent_id;
Run Code Online (Sandbox Code Playgroud)
查询浏览器显示错误接近于 'CONCAT(£1.50', sum(activity_price)....... FROM 在第 2 行。
移动模型数据库后,SQL Server 2008 R2 无法启动。有任何想法吗?错误:945,严重性:14,状态:2。有什么想法吗?Sql 2008 R2 不会以trace -f -T3608 或单用户模式-m 启动。需要参数来启动短信以将模型移回原处。
我需要安排一个每周从备份中恢复数据库的任务。我已经设置了用于备份数据库的维护计划(管理 > 维护计划),但无法找到如何执行还原任务 - 这是否需要是执行 T-SQL 语句任务,或者是否有工具箱项目?
我们有一个包含以下列的 PriceCombo 表:id(非空)、a_id(空)、b_id(空)、c_id(空)、折扣(非空)。我们正在使用此表来确定分配各种商品组合的价格。
a_id = id of region
b_id = id of merchandize category
c_id = id of customer category
Run Code Online (Sandbox Code Playgroud)
所以基本上,我们总是知道 a、b 和 c,但我们有一个灵活的折扣方案,这样每笔销售都按照我们能找到的最具体的规则进行折扣。
我们的问题是我们无法防止数据库中的重复,例如,我们希望防止在 a_id、b_id 和 c_id 中具有相同值的两行
a_id=1, b_id=1, c_id=1 and
a_id=1, b_id=1, c_id=1
Run Code Online (Sandbox Code Playgroud)
不被允许和
a_id=1, b_id=1, c_id=null and
a_id=1, b_id=1, c_id=null
Run Code Online (Sandbox Code Playgroud)
不被允许,但
a_id=1, b_id=1, c_id=null and
a_id=1, b_id=null, c_id=null
Run Code Online (Sandbox Code Playgroud)
是允许的,因为这些在这 3 列方面不相同。
我在任何地方都没有找到关于如何创建唯一约束的答案,该约束既跨越多列又允许空值但不允许“相同”(至少在约束中指定的列方面)行
最近几天,从主数据库运行的服务代理命令消耗的资源比以前多得多。对数据库的影响很大(从不好的方面来看),它会导致内部等待。在 2014 年 7 月 10 日之前和之后,我没有对数据库进行任何更改(您可以在图表中看到此开始日期)。我检查了是否在任何数据库中启用了服务代理,发现它是在 Tempdb 和 Msdb 中。什么会导致这些变化?
我附上了一张图表,你可以看到行为的变化。

我附上了另一个屏幕截图,你可以从 sp_who2 看到,我不明白的是,你可以看到“LastBatch”是非常旧的,从 10/12 07:55 开始(这个结果来自今天 10/ 20/2014 10:23 当地时间)。为什么会话没有关闭。?
我正在从一个临时表中导入一些数据,该表有一列定义为VARCHAR(150). 目标表列定义为NVARCHAR(200). 我正在使用一个INSERT INTO语句,但是当我运行 SQL 语句注释掉此列时,查询运行正确。当我取消注释这一行时,我得到:
Msg 8152, Level 16, State 4, Line 26
字符串或二进制数据将被截断。
该语句已终止。
关于为什么会发生这种情况的任何想法?
INSERT INTO table (col1, col2)
SELECT column1
,column2
FROM tmpTable
Run Code Online (Sandbox Code Playgroud)
col1被定义为NVARCHAR(200)并且col2是DateTime。
column1被定义为VARCHAR(150)并且column2是DateTime。
当我注释掉column1并且col1导入语句运行正常时。
我想知道是否有一个表可以保存每个用户或每个系统对表的访问。
我同时使用 SQL Server 2005 和 2008。
sql-server ×7
audit ×1
clustering ×1
constraint ×1
hardware ×1
mysql ×1
restore ×1
tempdb ×1
truncate ×1
wait-types ×1