标签: sql-server-2008

如何自动交付 SQL Server 内置报告?

当您右键单击对象浏览器中的多个项目时,它会为您提供报告菜单选项。根据选择的项目类型,可能存在各种报告。然而,似乎没有任何用于自动交付这些报告的内置功能。它藏在某个地方?

我真正的问题是:有没有办法将其中一些设置为通过电子邮件自动发送?我的目标报告是 SQL Server 代理的“作业步骤执行历史记录”和“热门作业”报告。我使用的是 SQL Server 2005/2008

sql-server-2005 sql-server-2008 sql-server

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

此场景的最佳索引

我们的数据库中有一张表

tblCustomText(
  ParentID int NOT NULL,
  CustomFieldID int NOT NULL,
  Value char(50) NOT NULL, 
  Log_CreateDate datetime NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

(ParentID+CustomFieldID) 是唯一的。

读取操作是这样的: SELECT Value WHERE ParenID=@p1 AND CustomFieldID = @p2(有时使用 JOIN 代替 WHERE)

写操作:85% 是 INSERT,13% 是 UPDATE,2% 是 DELETE。(通过 ParentID+CustomFieldID)

现在,我想知道应该为这个表定义哪些索引?(它包含 ~6M 行)

index sql-server-2008 database-design sql-server

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

删除 NDF 文件后附加数据库时出错

我错误地从 SQL Server 2008 数据库中删除了 .ndf 文件。在尝试附加以前的副本时,SSMS 会引发此错误:

服务器“MDSWIN34”的附加数据库失败。(Microsoft.SqlServer.Smo)


附加信息:

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)


操作系统在读取文件“C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\template.ndf”中偏移量 0000000000000000 的过程中向 SQL Server 返回错误 38(到达文件末尾。)。SQL Server 错误日志和系统事件日志中的其他消息可能会提供更多详细信息。这是一种严重的系统级错误情况,会威胁数据库的完整性,必须立即纠正。完成完整的数据库一致性检查 (DBCC CHECKDB)。此错误可能由多种因素引起;有关详细信息,请参阅 SQL Server 联机丛书。(Microsoft SQL Server,错误:823)

这是什么原因?我丢失了所有数据吗?

sql-server-2008 dbcc

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

在我们创建它的同一查询中引用新创建的计算列

SELECT 
(SUBSTRING(Column1,1,3)) AS ComputedColumn
WHERE ComputedColumn !="dec"
INTO Table2
FROM Table1;
Run Code Online (Sandbox Code Playgroud)

这是一个示例,其中我有一个计算列(它基本上是通过使用表达式创建的)。如果我运行它,我会收到“列名无效”错误,因为我在创建它的同一查询中引用了计算列。

在名为 SAS 的应用程序中,这是通过在 WHERE 子句中为计算列名称添加前缀“(CALCULATED)”来解决的。Sql Server 中是否有类似的解决方案。除了这样做:

SELECT 
(SUBSTRING(Column1,1,3)) AS ComputedColumn
WHERE (SUBSTRING(Column1,1,3)) !="dec"
INTO Table2
FROM Table1;
Run Code Online (Sandbox Code Playgroud)

我知道这是可能的,但是当表达式非常大时会非常混乱。在我们创建它的同一查询中,必须有另一种方法来引用新创建的计算列。

感谢十亿!安娜

sql-server-2008

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

并行重新分区、排序和哈希匹配

我刚刚开始深入研究查询计划,最近了解到“哈希匹配”很糟糕。不过,我知道很少有事情如此绝对,而且我想确定我是否有错误的哈希匹配。

我的查询包含两个表,使用并行性。它在两个表上使用聚集索引查找,然后在这两个查找之后转到具有分区类型散列的并行(重新分区流)步骤。对于一个表,创建一个位图,然后通过哈希匹配将这两个连接(内连接)。

我的理解是,如果要连接的数据是有序的,则将使用合并连接 - 这是更可取的。聚集索引搜索是有序的。

所以...我想我只是在寻找有关这种情况的一些信息。哈希匹配是否总是遵循流的重新分区?重新分区会忽略顺序吗?或者我不应该被这种“邪恶的”哈希匹配所困扰?

谢谢!!

sql-server-2008

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

我可以将系统数据库从一个版本的 SQL Server 移动到另一个版本吗?

我们正在将数据库从一台运行 SQL Server 2005 的计算机转移到另一台运行 SQL Server 2008 的计算机上。

我正在按照此处找到的步骤操作,尝试使用所有用户登录名和服务器级权限复制主数据库,但是它告诉我无法恢复备份,因为它是由不同版本的服务器创建的.

有没有办法将master数据库从一个版本的 SQL Server复制到另一个版本的 SQL Server?

sql-server-2005 sql-server-2008 sql-server backup restore

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

单个驱动器服务器上的表大小和表分区

假设我在只有一个驱动器的服务器上有一张大桌子。该表可能增长到半 TB(数亿行)。我认为分区的目的主要是为了维护目的,因为只有一个驱动器。

表应该以什么大小进行分区?

sql-server-2008 sql-server

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

配置 SQL Server 探查器

每隔 15 秒左右,我试图分析的应用程序就会触发:

@@TRANCOUNT > 0 COMMIT TRAN
IF @@TRANCOUNT > 0 COMMIT TRAN
IF @@TRANCOUNT > 0 COMMIT TRAN SET IMPLICIT_TRANSACTIONS OFF 
IF @@TRANCOUNT > 0 COMMIT TRAN SET IMPLICIT_TRANSACTIONS OFF  
elect top 1 accountId from account with (nolock)
Run Code Online (Sandbox Code Playgroud)

这是常规的 SqlServer 模式吗?

以及如何配置探查器以使我看不到它?

IT 来自与我要为其配置 SQL 分析的进程和用户相同的进程和用户。

非常感谢

sql-server-2008

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

为什么 SQL Server 2008R2 使用的内存比“最大服务器内存”设置多?

可能重复:
Microsoft SQL Server 2008 内存

我已经明确地将 SQL server 2008R2 中的最大内存值设置为 13,000 MB,但是当我检查任务管理器时,我看到它正在使用 14,071,448 KB (13,741 MB)

我很担心,因为最近由于 SQL 服务器分配了几乎所有服务器内存的低内存情况,服务器崩溃了。

我已经检查过,我输入的数字是正确的(即没有错误地输入 KB)。

sql-server-2008 sql-server

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

在表中插入和更新数百万行的性能

我们有一个用户导入应用程序的 CSV。

在检查 CSV、验证和应用一些业务逻辑之后,我们得到了应该在表(订阅者)中执行的插入和更新操作

我们获得了大约 100 万次插入和 100 万次更新操作。

执行它们的最有效方法是什么?

1) 对于插入,我们计划将它们放在一个 CSV 文件中并作为 BULK INSERT 执行它们。

2)我们应该为更新做些什么?有没有类似于 BULK INSERT 的东西?

3)我们还应该看看其他优化吗?

3a)例如在执行此操作时禁用索引?我们应该考虑数据库应该对应用程序的其他用户正常保持可用......

3b) 建议???

performance sql-server-2008 sql-server

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