小编Nic*_*mas的帖子

什么时候全表扫描比索引扫描好?

在哪些情况下(在 SQL Server 中)全表扫描优于索引扫描?

sql-server execution-plan

7
推荐指数
3
解决办法
8726
查看次数

一个好的 SQL 嗅探器

谁能告诉我一个好的 SQL 嗅探器,在那里我可以实时观察对我的数据库运行的 SQL 命令?

如果它是免费的,那就太好了。

sql-server-2008 sql-server

7
推荐指数
2
解决办法
6128
查看次数

监控mysql上的复制

我已经设法设置主从复制

它工作正常。下跌的可能性有哪些?

是否有任何警报工具来监控?

另一件事:我可以在我的复制数据库中运行一个单独的数据库,我只是为了测试目的而运行吗?

mysql replication

7
推荐指数
1
解决办法
6988
查看次数

跨数据库链接与可信选项

最近,我们有一个存储过程请求,需要跨多个数据库进行访问。当然,这种情况并不少见,但在我们的案例中,之前我们使用了服务帐户,并且该服务帐户具有对所有数据库的读/写权限。

但是现在我们将所有权限更改为windows登录AD组,AD组中的用户没有对所有数据库的所有权限。

例子:

  • AD 组 UG1 有 10 个用户,它们是数据库 A 上的用户。
  • 存储过程 PROCA 驻留在数据库 A 中,但对属于数据库 B 和数据库 C 的表进行了选择。
  • 执行权限已授予存储过程 PROCA 和 AD 组 UG1,因为已在数据库 B 和数据库 C 上创建用户(没有其他权限)。
  • DatabaseA、DatabaseB 和DatabaseC 的数据库所有者在登录XXX 下。

众所周知,这种跨数据库的权限可以通过

  • 选项 1:在所有数据库上打开数据库跨链,或
  • 选项 2:为 AD 组 UG1 提供所需的数据库(B 和 C)的单个对象权限或
  • 选项 3:在 DatabaseA 上使用 Trustworthy db 选项并更改存储过程 PROCA 以包括作为“dbo”用户执行,以便权限可以模拟。
  • 选项 4:使用证书

我的问题是,关于安全性和保持简单和安全的最佳解决方案是什么?

请注意,没有任何开发人员是任何数据库的数据库所有者,并且提升的权限仅分配给 DBA,因此有人进行黑客攻击或 SQL 注入或冒充系统管理员的可能性是“无”的。

但同样,我想知道在这种情况下你会怎么做?我更喜欢选项3。

sql-server-2008 security sql-server

7
推荐指数
1
解决办法
3557
查看次数

在我的数据库服务器上运行防病毒软件是否安全?

Microsoft 已知某些防病毒软件的实现会导致SQL Server 出现各种问题,并且 Microsoft 有一篇支持文章专门用于为您的 SQL Server 主机选择正确的防病毒软件

根据您的经验,在您的数据库服务器上运行防病毒软件是否安全?

考虑到所有必需的防病毒排除和注意事项,它是否实用?

security sql-server best-practices

7
推荐指数
1
解决办法
4380
查看次数

如何获取 Vertica 数据库的大小?

我有一个 Vertica 数据库。我怎么知道数据库有多大?

我需要一个粗略的答案,以便向高层管理人员报告有关我们环境的基本统计数据。

database-size vertica

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

筛选索引是否有助于改进基于输入时间的查询,还是应该避免这种情况?

我只是在了解 MS SQL 2008 中新的过滤索引,我试图了解它们会在哪些方面造成伤害以及它们会在哪些方面有所帮助。

我可以看到向员工表添加过滤索引以仅索引当前员工将是一个好主意。

但是根据时间将几个过滤索引应用到一个大表呢?例如,假设我有一个表,它有一个 enterOn 日期/时间字段,并且该表有很多年的数据。如果查询通常是基于日期和其他一些字段(例如 enterby )完成的,那么是否有一些过滤索引具有将索引限制到时间跨度的 where 子句?在我的示例中,查询类似于

select enteredOn, Description, ...
from myTable
where enteredOn > '2011/01/01' and enteredBy = "My, User"
Run Code Online (Sandbox Code Playgroud)

每年都有一个过滤索引是合理的,还是在查询以下内容时会导致很多问题?

select enteredOn, Description, ...
from myTable
where enteredOn > '2009/06/01' and eneteredOn < '2010/06/01' and enteredBy = "My, User"
Run Code Online (Sandbox Code Playgroud)

index sql-server-2008 database-design

6
推荐指数
1
解决办法
511
查看次数

测试环境是否需要 Oracle DB 许可?

我计划在我们的测试环境中的服务器上设置一个 Oracle 标准版实例。

我需要为此购买许可证吗?

oracle license oracle-se

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

SQL Azure 碎片/数据库大小

我有一个在 SQL Azure 上运行的数据库,目前为 280mb。它是我们即将投入生产的系统的测试数据库,因此数据经常被批量删除然后重新创建。

当我在 SQL Azure 上使用“复制”功能时,它创建的新数据库只有 156mb。当运行查询以显示每个表使用了多少数据时,看起来每个表的大小几乎是过去的一半。

我已经确定这将归结为数据碎片,但我的问题是我能做些什么?微软似乎没有对数据本身进行任何维护,而且由于它是按使用付费的模式,当我没有 1GB 的数据时,我最终会达到 1GB 的限制!

作为参考,这是我运行以显示表大小的查询:

select sys.objects.name, (reserved_page_count * 8.0 / 1024)
from sys.dm_db_partition_stats, sys.objects
where sys.dm_db_partition_stats.object_id = sys.objects.object_id
Run Code Online (Sandbox Code Playgroud)

fragmentation azure-sql-database

6
推荐指数
1
解决办法
1195
查看次数

对象“sysjobs”的选择权限被拒绝

The select permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'. 
Run Code Online (Sandbox Code Playgroud)

我已经尝试授予sqlagentoperatorrole,但没有奏效。如何解决此错误?

sql-server-2008 permissions

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