当我执行收缩数据库时,电已经停了,我现在无法访问我的数据库,它是(恢复中),我如何恢复它?注意:这是一个非常庞大的数据库:25 GB。
编辑:
我在 serverfault.com 上的问题:https : //serverfault.com/questions/395067/electricity-gone-off-while-shrinking-database-how-can-i-recover-my-database
我有三个 select 语句,它们的大部分列都是相同的,除了少数。所以这是一个例子
select
*orgid='0'
,'P' as OrgType*
, Lang
,*cast(Null as varchar) as BoardName
,cast(Null as varchar) as SchoolName*
,SUM(CASE WHEN IncludeColumn = 1 AND SecondInclude IN(5) THEN 1 ELSE 0 END) as Column1
,SUM(CASE WHEN IncludeColumn = 1 AND SecondInclude IN(6) THEN 1 ELSE 0 END) as Column2
,SUM(CASE WHEN IncludeColumn = 1 AND SecondInclude IN(4) THEN 1 ELSE 0 END) as Column3
FROM *TABLEA*
WHERE *[Include_All] = 1*
Group By *[Lang]*
select
orgid=boardname
,'B' as OrgType
, …Run Code Online (Sandbox Code Playgroud) 如何通过命令释放sql server的内存使用。我的系统有 16GB RAM,但是当通过 sql server 获取大量查询时,内存使用量已满。如果我重新启动 SQL Server 服务内存使用量变得免费。但我想在每个巨大的查询执行后释放 sql server 的内存使用量。
在 SQL Server 连接语法中,我们可以使用LEFT JOINorLEFT OUTER JOIN和查询结果,上面的每个连接都没有区别。这对我来说是一个更有用的问题。
当查询或存储过程的执行计划大于 8000 字节时,它将使用 MPA(多页分配器),而不是使用缓冲池中的计划缓存,它使用缓冲池外的内存。此行为在 SQL 2012 中有所更改,并且 MPA 和 SPA 是缓冲池的一部分。但我使用的是 SQL 2008 R2 标准版。
多页分配是否意味着将一次分配两个或更多 8K 页或将分配大小大于 8K 的页以保存查询的执行计划?
我在 SQL Server 2008 中有一个 var char 列,它通常小于 100 字节,但在某些情况下可能会高达 5607 字节。我需要索引它,但我不能,因为 SQLServer 中的最大索引大小是 900 字节。
世界上有什么方法可以向此列添加任何类型的索引吗?例如,在前 900 个字节上创建索引?
谢谢
早上好,
我在如何布置我的数据库方面遇到了一些问题,希望得到一些指导。我有几个表(降雨量数据),每个表都包含以下列:
Date (DateTime), Value_of_rainfall (Float)
Run Code Online (Sandbox Code Playgroud)
这些表中的每一个都用于特定位置。
有人建议我创建另一个包含以下列的表:
LocationID (tinyInt), LocationName(char(6))
Run Code Online (Sandbox Code Playgroud)
并在第一个表中插入一个名为 LocationID(tinyInt) 的新列。
现在我的困惑是关于我存储在降雨数据数据表中的数据。建议将来自每个位置的所有数据包含在一个数据表中。我希望对信息进行的统计分析非常(就我迄今为止所设想的)位置特定,并且不需要一次查询多个位置。一个位置几个月的数据 = 近 300 万行,我希望对数据进行长时间运行的计算。那么数据仓库会更合适吗?如果是这样,有人可以给我一些关于我应该如何布置它的指示吗?
谢谢你的时间。
注意:我使用的是 Sql Server 2008
sql-server-2008 data-warehouse database-design relational-theory
我需要跟踪某个表的使用情况,该表将在明年退役,并且觉得我可以从事务日志中获取相关数据(存储过程和对其使用的内联 sql)。我已经看到一些昂贵的购买选项用于读取日志,但我想知道是否有人知道任何开源解决方案或一些如何解析这些日志的示例代码?
我为 SSRS 2008 创建了一份报告,其结果如下。
我希望实现的是粉红色,AD 中的那些结果在 AM 和 PM 下,文本居中,即合并的单元格。
工作日和上午/下午是基于我表中字段的矩阵中的组标题。为了显示数据,我使用了矩阵数据区域内的表格。
我已经阅读了其他关于在表中创建一个附加行的其他帖子,该行将 2 个单元格合并在一起,使用表达式在不使用时隐藏该行,尽管我没有设法让它正常工作。
2012 年 3 月 28 日更新:
我设法让 AD 出现在 AM 和 PM 下。我所做的是删除 AM/PM 列组并在 Weekdays 组下创建 2 个单元格,并在这些单元格中输入文本 AM 和 PM。然后我在矩阵的数据部分创建了 2 行,底行有 2 列。在这些单元格中的每一个中,都有一个带有表达式的表格
=IIF(Fields!SessionIdentifier.Value="AD","AD",Nothing)
每个表中的行可见性是使用表达式设置的:
=IIF(Fields!SessionIdentifier.Value="AD", False, True)
我现在想做的是在矩阵为空时隐藏矩阵数据区域中的顶行,但我还没有想出执行此操作的表达式。

我在 Microsoft SQL 2008 数据库中的某些表上启用了变更数据捕获。以下两个查询都返回 1:
select top 1 is_cdc_enabled from sys.databases where name = N'<DatabaseName>'
select top 1 T.[is_tracked_by_cdc]
from sys.tables as T
left join sys.schemas as S
on T.[schema_id] = S.[schema_id]
where S.[name] = N'<SchemaName>' and T.[name] = N'<TableName>'
Run Code Online (Sandbox Code Playgroud)
但是当我更改相关表的数据时,cdc.<SchemaName>_<TableName>_CT仍然为空。
为什么?