小编var*_*ble的帖子

存储在master db/msdb中的sql server登录可以用于迁移吗?

在sql server中,当我们扩展安全性,扩展登录名时,有登录名列表。

所有这些都存储在主数据库中吗?

如果是这样,那么在迁移到另一台服务器时,如果我们备份这个主数据库并恢复到新服务器,那么登录名是否会迁移到新服务器?

同样,SQL 服务器作业、计划等存储在 msdb 中?这可以备份/恢复以将作业迁移到新服务器吗?

如果没有,那么备份这些系统数据库的目的是什么?

sql-server

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

使用户成为 SQL Server 管理员的权限是什么?

来自文档:确定有效的数据库引擎权限

SQL Server 管理员可以查看有关所有登录名和用户的信息。权限较低的用户通常只能看到有关他们自己身份的信息。

根据上述引用,使用户成为SQL Server 管理员的权限是什么?

sql-server permissions sql-server-2019

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

在哪里可以配置数据库备份(维护计划和 sql 作业除外)?

没有运行 SQL 备份的维护计划或作业。

但sql日志显示数据库的i/o冻结,数据库的i/o已恢复,数据库已备份,备份数据库已成功处理x页。

在哪里可以找到已配置的备份?

sql-server backup sql-server-2019

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

“索引也维护在事务日志中”是什么意思?

“索引也保存在事务日志中”

这是否意味着当查询有索引的表时,整个索引会被拉入内存并随后记录到 tlog 中?

index sql-server transaction-log

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

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

丢失行和重复行的症状是由于分配顺序扫描还是由于无锁和页拆分所致?

NOLOCK 导致分配顺序扫描而不是索引顺序扫描。

NOLOCK 不会阻止写入,因为它不在表上获取共享锁。

在NOLOCK扫描期间,由于没有共享锁,并且在扫描当前到达的点之前发生了写入(插入/更新),那么这种情况将导致记录丢失。

类似地,在写入(插入/更新)期间,当读取一行后发生页拆分,并且该行现在是下一页的一部分(由于页拆分),那么这种情况将导致重复记录。

我一直在阅读文章,这些文章似乎表明丢失/重复行问题是由于分配顺序扫描造成的。

  1. 如上面的示例所示,丢失/重复记录问题是由于没有锁定和页面拆分造成的。正确的?是否也是分配顺序扫描导致的?

  2. 如果分配有序扫描确实会导致丢失行/重复项,那么我想问 - 假设引擎使用了索引顺序扫描(我知道引擎不会这样做,但只是为了这个问题而假设)而不是分配顺序扫描,那么它将如何解决丢失/重复行问题?

index sql-server isolation-level nolock

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

如何衡量sql server的内存需求?

我有一个带有 200GB RAM 的生产 SQL 服务器。

其中 150GB 分配给 sql server(通过在 sql server 属性中设置最大内存设置)

其余的由 ssis、操作系统、防病毒、应用程序使用。

我想测试 150GB 内存对于 sql server 是否足够,因为大约有 20 个数据库,数据文件大小从 5GB 到 500GB。如何捕获内存使用信息?

sql-server memory

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

当表有不唯一的聚集索引时,非聚集索引指向什么?

假设表有 name 和 id 列。

ID是唯一的非聚集索引。所以this指向堆表。

如果我将Name设置为聚集索引(非唯一),那么ID非聚集索引将指向什么?

我知道它不会指向堆,因为该表现在是聚集索引。

通常,非聚集索引指向聚集键,但在上述情况下,聚集键不是唯一的。那么ID(非聚集索引)指向什么呢?

index sql-server

0
推荐指数
2
解决办法
191
查看次数

ASYNC_NETWORK_IO 等待类型是否会导致线程锁定,直到客户端应用程序消耗整个结果?

ASYNC_NETWORK_IO 等待类型主要是由于客户端应用程序无法足够快地处理从 SQL Server 到达的数据而引起的。

当查询执行时,当结果开始可供使用时,客户端应用程序开始使用结果。假设结果由 4 个线程保存,那么,在结果完全被客户端应用程序消耗之前,保存数据的线程是否保持锁定状态?

sql-server wait-types waits sql-server-2019

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

sys.dm_exec_requests 中具有相应阻塞会话 ID 的记录未显示在同一结果集中意味着什么?

sys.dm_exec_requests - 这些是活动请求

sys.dm_exec_sessions - 这些是活动会话

一个会话可以有 1 个或多个请求。

从检测和解决阻塞的角度出发,我正在探索上述dmvs。我观察到 sys.dm_exe_sessions 中存在的 session_id 在 sys.dm_exec_requests 中不存在。

例如 - 在 sys.db_exec_requests 中,有一条记录,等待类型为LCK_M_X,等待资源为KEY: 2......。相应的阻塞会话 ID 未显示在 sys.dm_exec_requests 中。

它在 sys.dm_exec_sessions 中显示,状态为sleeping。这种情况意味着什么 - 即 - 由于休眠会话而导致请求被阻止?

sql-server sql-server-2019

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