我正在尝试查找是否有任何方法可以限制在 SQL Server 实例上加载 .bak 文件。
例子:
创建了名为“Zack”的用户,并且是名为“AdventureWorks”的数据库的 dba,他每天备份数据库并将其存储在文件夹中。
用户“Mike”可以访问 .bak 文件之一,并在本地加载整个数据库及其数据。
我们如何限制这一点并只允许授权用户恢复 SQL Sserver 中的 .bak 文件。
尝试查看 Microsoft 的多个文档,但找不到有关此用例的任何资源。当我遇到障碍时,你的见解将会非常有帮助。
我在运行 SQL Server 2017 的服务器上的 SSMS 中遇到了一个问题,我运行了一个查询来更新数据库的所有者,并且查询消息选项卡显示查询已成功完成。然而,我很快就收到服务器问题的通知,令我惊讶的是,查询正在休眠并阻止数据库的使用。杀死 spid 解决了问题,但是这样的事情是怎么发生的呢?有什么我可以检查的吗?
我正在 SQL Server 中处理扩展事件会话,并遇到了我不完全理解的 T-SQL 代码的一部分。具体来说,我对以下代码部分中使用“Mode = 3 OR Mode = 4”感到困惑:
...
ADD EVENT sqlserver.latch_suspend_end
(WHERE (
Duration > 0
AND (Mode = 3 OR Mode = 4)
AND has_waiters = 1
)
)
...
Run Code Online (Sandbox Code Playgroud)
我一直在尝试寻找文档或任何类型的信息来解释“Mode = 3”和“Mode = 4”在这种情况下代表什么,但到目前为止,我还没有运气。
此外,我有兴趣找到描述不同事件的属性和可能值的文档或参考的综合来源,而不仅仅是针对这个特定示例。有人可以向我指出相关文档或解释这些模式值在此扩展事件会话中的含义吗?
预先感谢您的帮助!
我只想监视每当标识列数据类型值即将达到其最大限制时它会在何处引发警报。
\n例如,我有一个“A”表,该表具有Id包含 2,147,483,000 行的整数标识。众所周知,SQL Server 整数限制为 +-2,147,483,647
整数Id标识列即将达到其最大限制。
我尝试使用 max(整数数据类型) 函数查询所有数据库表,并与自己的限制进行比较。但这是相当昂贵的。
\n我需要标识列数据类型的列表及其表名,该值即将达到其最大限制。
\n\xc4\xb0s 有任何方法可以做到这一点,例如自动通知的内置警报机制,或者我需要创建一个使用 max 函数查询表的作业等。
\n我在这里寻找想法。我继承了一个大型 SQL 资产,其中包含多种配置的多台服务器,该资产已经增长了 10-15 年,并且没有特定的 DBA 技能人员负责。我是第一个加入该组织的 DBA(也是目前唯一的一个)。
正如标题所示,大约 70 个服务器上有大约 700 个数据库,它们具有不同的功能,并且其中的安全方法也不同。本地开发和供应商提供的数据库的混合。
我在整个庄园安装了 Microsoft 监控代理,以便在 Azure 中构建对正在发生的情况的概述 - 事实证明存在相当多的问题。
我不太确定从哪里开始。例如,我可以首先解决严重程度较高的问题。识别应该退役的服务器也有一定的难度。我已经升级了运行不受支持的 SQL 版本(2012 及之前版本)的服务器。
但很多建议都是诸如“禁用 SA 帐户”之类的内容,这并不总是像听起来那么简单,特别是如果它被用于驱动某些数据库功能的话。
你会从哪里开始?你会怎么办?
最近有人告诉我,可以在 SQL Server 中创建一个没有事务日志的新数据库。我使用 SQL Server 很长时间了,但从未见过它被完成,而且我认为这是不可能的。我已经浏览了 Microsoft 文档中的“CREATE DATABASE”语法,但找不到任何有关它的信息,但有时我可能会失明,可能会错过它。
可以创建一个没有事务日志的数据库吗?如果是这样,有人可以指出我的文档吗?
需要明确的是,我并不是在谈论将数据库附加到日志。我知道可以附加一个带有事务日志的数据库。我也不是在谈论日志备份。
谢谢。
我一直在阅读一篇又一篇关于数据库备份和快照之间区别的文章,但它们没有任何意义,所以请帮助我理解
\n\n\n“快照是系统/卷在特定时间点的映像。”
\n“备份是执行备份时整个系统/卷的副本。”
\n
\n\n“快照仅保留自上次快照以来数据库的更改\ns”
\n
\n\n“快照制作速度快且尺寸小”
\n
编辑:来源:(来自备份与快照的所有顶级谷歌结果)
\nhttps://phoenixnap.com/kb/snapshot-vs-backup
\n\n\n快照是您的系统/卷在特定时间点的映像。\n
\n备份是执行备份时整个系统/卷的副本。\n
\n
https://www.sqlshack.com/understanding-database-snapshots-vs-database-backups-in-sql-server/
\n\n\n\n数据库快照就像数据库在某个时间点的视图。
\n快照备份的另一个用途是可以为数据库创建\n多个快照,并且可以在不同的时间点\n获取这些快照
\n可以随时创建备份。快照是数据库的\xe2\x80\x9c时间点\xe2\x80\x9d\n副本。
\n
\n\n快照很小,可以快速轻松地制作,而不会对服务器产生太大影响。
\n
请考虑以下错误消息。
消息 207 级别 16 状态 1 第 7 行
列名“FOO”无效。
由于我触发它的方式,我碰巧知道这是一个解析/编译时错误。
假设我正在运行一个不属于过程的长脚本,并且我收到了相同的错误消息。此错误消息中的内容告诉我错误是在解析/编译时而不是运行时发生的?
CREATE TABLE Department_History
(
DepartmentNumber INT
);
GO
ALTER TABLE Department_History ADD FOO INT;
-- This is fine and shows FOO.
SELECT * FROM Department_History;
-- When uncommented, this fails at parse time.
INSERT Department_History (DepartmentNumber, FOO) VALUES (4, 5), (6, 7), (8, 9);
Run Code Online (Sandbox Code Playgroud) 在 SQL Server 扩展事件中,是否有任何方法可以将“开始”事件(例如 )rpc_starting与“完成”事件(例如 )链接起来rpc_completed?例如,是否有类似相关 ID 的东西可以唯一标识对 SQL Server 的调用?
我想查询记录的事件,以获取通话的开始时间(来自 )rpc_starting及其持续时间(来自 )rpc_completed。到目前为止,我还没有找到任何方法来唯一链接同一调用的开始和结束。
我认为该request_id操作可能会起作用,但对于我查看过的事件,它似乎显示为 0。
我想选择过去 15 分钟内的数据,例如:
在 12.02 我想要从 11:45 到 12:00 的行
在 12.09 我仍然想要从 11:45 到 12:00 的行
在 12.18 我想要从 12:00 到 12:15 的行
数据以datetime2格式存储,我使用的是2019标准版。感谢任何帮助让我开始。规范稍后可能会更改(例如,10 分钟而不是 15 分钟),但我希望能够自己解决这个问题。
谢谢