小编Pre*_*gha的帖子

如何在 SQL Server 2012 中转移 dbo 架构的所有权

我不小心给了用户 db_owner 架构的所有权(使用 UI 中的复选框,如下所示),现在我不能:

  1. 将所有权转让给其他用户
  2. 从数据库中删除用户(尽管我可以删除 SQL Server 中的登录名)

我试过数据库主体在数据库中拥有一个架构,并且无法删除。

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo
Run Code Online (Sandbox Code Playgroud)

虽然它成功完成,但用户仍然拥有所有权,并且它是灰色的,所以我似乎也无法在 UI 中执行此操作。

在此处输入图片说明

找到了解决办法:

除了Arron 的回答之外,我意识到我会在错误的数据库(facepalm!)中运行上述命令。一旦数据库得到纠正,上面的 SQL 和下面的答案都有效。

schema security sql-server-2012

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

如何平衡 SQL Server 内存与 SQL Server Analysis Services 内存

我们有许多具有相同配置的系统

  • 一台服务器(虚拟或物理)
  • 运行 SQL Server (SQL) 和 SQL Server Analysis Server (AS)
  • 多核
  • 16GB 内存

每天晚上 SQL Server 会做大约 2-3 小时的处理,然后是 2-3 小时的 AS 处理。然后全天只查询 AS。

假设这是一个专用服务器,没有其他应用程序值得关注,并且两组处理是完全同步的 - 没有重叠总是一个接一个 - 我怎样才能最好地设置 SQL 和 AS 服务器内存限制。

询问的原因是,如果我不为 SQL 设置限制,它将抢占它所能获取的所有内存。但是 - 我的理解是,如果出现以下情况,SQL 将很乐意放弃此内存:

  • 它没有使用它并且

  • 另一个服务/程序请求它。

所以从逻辑的角度来看,我相信允许 SQL 根据需要使用尽可能多的东西,但我不太确定 AS' TotalMemoryLimit。我不确定 AS 是否会放弃它的记忆。事实上,阅读更多让我相信让它承担一切是错误的。

这是否意味着我实际上需要为两者设置限制?我对最佳实践应该是什么以及考虑到流程不重叠我们需要衡量什么感到困惑。

希望这是有道理的。

sql-server ssas memory

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

我应该如何在 SQL Server 上为 BI 配置配置这些磁盘?

假设恒定内存 (32gb) 和 CPU (4),2 x 磁盘阵列,我有以下磁盘

  • 2 x 150 (10k)
  • 6 x 150 (15k)

它们都是本地磁盘。

我的要求

  • 我的数据库是 350gb 并设置为默认的 10% 增长
  • 我的操作系统和 SQL Server 是 Server 2k8R2(C:驱动器操作系统 + 页面 + 应用程序 = 55Gb)
  • 日志要求约为 70gb,并设置为默认 10% 的增长,并定期被截断
  • 我的 TempDb 目前约为 12GB,并设置为默认 10% 的增长

我的问题是我试图了解最好将 TempDB 和操作系统以及日志放在哪里。我的经验仅限于这两个的最佳配置

这不是一个在线交易系统。它有大量数据写入(新数据 + 索引重建/重组),然后大量数据读取(我估计约为 50/50)处理了大约 13 个小时,然后就安静了。

我的理解是,与日志相比,在正常处理期间大量使用 TEMPDB。

我的想法如下

  • 2 x 150g (15k) Raid 1 = 150g for OS + TempDB
  • 2 x 150g (10k) Raid 1 = 150g for LOG(注意这里的磁盘较慢)
  • 4 x …

disk-structures business-intelligence sql-server-2008-r2

8
推荐指数
1
解决办法
1326
查看次数

将 TempDB 拆分为与 CPU 数量相等的多个文件

这篇文章的SQL Server的tempdb最佳实践提高性能建议我应该拆分tempdb成若干文件等于内核的数量。因此,对于 4 个内核,您将获得 4 个文件。

通过拥有更多数量的文件,您可以增加 SQL Server 可以随时推送到磁盘的物理 I/O 操作的数量。SQL Server 可以下推到磁盘级别的 I/O 越多,数据库运行的速度就越快。使用标准数据库,SQL Server 可以将其需要的大量数据缓存到内存中。由于 tempdb 的高写入特性,数据需要先写入磁盘,然后才能缓存到内存中。

虽然理论上听起来不错,但它真的像一般优化一样好吗?它是否可能仅适用于 IO 非常高的特定系统?

sql-server storage disk-structures sql-server-2008-r2 tempdb

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

使用大量 RAM 组织 SQL Server 的策略

我们现在为我们的数据库配备了一台新服务器,除此之外,我们还有 128GB 的​​ RAM 可用(以前我有 16GB)。我知道 SQL Server 非常擅长管理它的资源,但我想知道是否应该在服务器/数据库设置或处理代码(存储过程/索引等)中使用任何特殊设置或策略来确保 SS可用内存的最佳优势。

DB 大约 70GB,它是一个非事务性数据库(它是一个数据仓库)。所以基本上大写然后大量读是事情的正常流程。

sql-server-2008 sql-server hardware

8
推荐指数
1
解决办法
444
查看次数

如何授予 SQL Server 作业所有者代理凭据的权限

  • 我创建了一个 Credential Cred1(DOMAIN\USER1 with the secret = domain password)
  • 我已经创建了一个 SQL 代理作业,所有者为 NT AUTHORITY\SYSTEM
  • 作业需要代理为凭证Cred1

因此,当我运行该作业时,它失败并显示不允许 NT AUTHORITY\SYSTEM 为 CmdExec 代理 1(我只有一个凭据)的消息。

“无法开始执行 step1(原因:JobOwner NT AUTHORITY\SYStem 没有使用代理 1 的权限”

我已经做了一些谷歌搜索所需的权限,我读到我需要让操作员访问 MSDB 中的 NT AUTHORITY\SYSTEM 登录名。我试过这个,但仍然没有运气。

sql-server-2008-r2 sql-server-agent

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

在 SQL Server 上 REBUILD 索引时,tempdb 和 LOG 磁盘速度有什么关系?

假设我有一个比 LOG 和 tempdb(通过随机写入速度衡量)磁盘快 50 倍的数据磁盘。(不要问为什么这是我们会在需要时修复的东西)

我有一个表,它有 1900 万行,大约有 30 个索引(所以基本上很重要)。

如果我的磁盘速度与数据磁盘相同,那么 LOG 和 tempdb 的磁盘速度会增加多少因素。

编辑: 更多的统计数据。

我们已将 LOG 移至 RAID 数据驱动器作为测试,遗憾的是 REBUILD 的速度没有提高。还是1小时。

  • tempdb 在它自己的 Raid10 阵列上
  • LOG 在它自己的 Raid10 阵列上
  • 数据在它自己的 Raid10 阵列上

  • RAM > 100 Gb(是 100 Gb)并且对使用它创建数据或索引的 SQL 没有限制

请注意,这不是一个事务系统,而是一个数据仓库。

index sql-server tempdb transaction-log

5
推荐指数
1
解决办法
432
查看次数

默认情况下将 SQL Server 2008R2 上的备份压缩设置为打开

我似乎找不到设置服务器属性的选项,该选项将使 SQL 数据库备份的压缩默认为 ON,因此我不必每次都手动设置它。

任何人都可以指出我。

sql-server backup sql-server-2008-r2 configuration compression

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

能否将 SQL 代理作业通知发送给一个操作员表示成功,而另一位操作员表示失败?

我们要求向某些人发送成功通知,而其他人则收到失败通知。

在此处输入图片说明

但是 UI 似乎只允许 1 个运算符 + 1 个条件的组合。

所以我想知道我们是否可以通过在 MSDB 中事务 sql 来完成?

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

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

是否应该允许回收 SQL Server TempDB 空间?

如果我目前没有空间问题,我应该最初将我的 TempDB 大小设置为一个大空间而不是让它的空间被回收吗?

确定 TempDB 的最佳初始大小的最佳方法是什么?

我的 TempDB 目前为 12GB,并且设置为 10% 自动增长

sql-server-2008-r2 disk-space tempdb

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