我有一个计划任务(在 Windows 任务计划程序中),它使用 SMO(Windows 身份验证)连接到 SQL Server 并创建数据库备份。到目前为止,此任务在管理员帐户下运行,我想将其更改为使用 SYSTEM 帐户。
我更改了计划任务,令我惊讶的是,它开箱即用。
我想了解为什么会这样。系统为Windows Server 2012 R2,数据库为SQL Server 2012 (SP1) Express Edition。这是一个标准安装,添加了一个 SQL Auth 用户。
在 SSMS 中,这些是登录名及其关联的服务器角色:
数据库本身具有以下用户及其角色:
查看用户 NT AUTHORITY\SYSTEM 的“有效权限”会产生以下输出:
为什么 NT AUTHORITY\SYSTEM 有备份数据库的权限?我很高兴它确实如此,但我真的很想了解为什么......
除了更便宜之外,使用 SQL Azure 与使用带有 SQL Express 的虚拟机相比有什么问题/优势吗?
我们正在为 50 多个网站设置 SQL 服务器,您有什么建议吗?
我们目前在专用服务器上安装了 SQL Express,我们希望将此服务器切换到 Azure。
我有一个 mssql 数据库,我们称之为:mssqlDB01。我的任务是对所有表执行碎片整理。这个数据库有几百个表,每个表都有 1 到 15 个索引。
谷歌让我发现了一种对每个表的所有索引进行碎片整理的做法,但我无法弄清楚如何在所有表上执行此操作。
ALTER INDEX ALL ON TABLENAME REBUILD;
Run Code Online (Sandbox Code Playgroud)
我要找的是
ALTER INDEX ALL ON * REBUILD;
Run Code Online (Sandbox Code Playgroud)
但它抱怨
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '*'.`
Run Code Online (Sandbox Code Playgroud)
下面让我找到我的数据库中的所有表
SELECT * FROM information_schema.tables WHERE TABLE_TYPE='BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式将其推送到命令中吗?
ALTER INDEX ALL ON (SELECT * FROM information_schema.tables WHERE TABLE_TYPE='BASE TABLE'; ) REBUILD;
Run Code Online (Sandbox Code Playgroud) 我在多实例 SQL Server 上有一个 SQL Server 实例 (SQLSERVER01-i01),具有专用 IP 地址和端口 (162.xxx.xxx.51:1433)(Windows Server 上的每个 SQL Server 实例都有自己的 IP 地址),它们都在一台 Windows 服务器 (SQLSERVER01 / 162.xxx.xxx.50) 上运行。
我还有一个专用的 Reporting Services 实例 (SQLSERVERRS01-i01),它有自己的 IP 地址和端口 (168.xxx.xxx.71:1433),它在不同的 Windows 服务器 (SQLSERVERRS01) 上运行,有自己的 IP 地址 (168 .xxx.xxx.70)。
专用的 Reporting Services 服务器有一个应用程序APPL1,可以通过http://SQLSERVERRS01-i01:80/Reports_APPL1或 通过 访问该应用程序http://SQLSERVERRS01:80/Reports_APPL1。
由于*:80主机标头的 Reporting Services 配置中的配置,SSRS 将接收这两个请求。
我们在每个 IP 范围之间有多个防火墙,这意味着我们必须为每个 IP 到 IP 或 IP 范围到 IP 的连接应用特定的规则。但是,当涉及两台服务器时,安全性规定它始终必须是防火墙中的 IP 到 IP 规则。
(基于屏幕截图进一步向下)
当 Reporting …
当我们的 gMSA 帐户自动轮换时,我们会看到大约 1-10 分钟的登录失败。这对于连接到 MS SQL 服务器的 gMSA 客户端帐户尤为明显,但我认为其他 gMSA 帐户也会发生这种情况。MS SQL 服务器不是作为 gMSA 帐户运行的,但我们的应用程序使用 gMSA 来建立到 SQL 的客户端连接。默认情况下 ManagedPasswordIntervalInDays 是每 30 天一次,所以我们每个月都会在同一时间看到这个。
当我检查域控制器日志时,我没有看到 gMSA 用户的任何登录失败,但是 SQL 服务器记录了以下错误
SSPI 握手失败,错误代码为 0x8009030c,在建立具有集成安全性的连接时状态 14;连接已关闭。原因:AcceptSecurityContext 失败。操作系统错误代码指示失败的原因。登录尝试失败 [CLIENT: xxxx]
根据我的发现,此错误通常表示用户名/密码组合错误。
这发生在多个客户端上,每个客户端最终都会在 1-10 分钟后重新开始连接。客户端不会同时开始连接,但在那个时间窗口内似乎是随机的。
一开始我觉得可能跟修改密码的AD复制有关,所以我们把默认的跨站复制间隔修改为USE_NOTIFY来立即复制。如果复制是问题所在,我希望在 DC 上看到登录失败,而在 DC 上看不到登录失败。我还以为 SQL 服务器可能正在缓存身份验证令牌,但如果是这种情况,我希望看到所有客户端同时解析(即当 SQL 服务器刷新时)因为客户端每个都开始重新工作在不同的时间,它似乎不在 SQL 服务器端,而更可能在客户端。也许缓存 gMSA 密码,或者可能与超时和重试回退相关的东西。
当我尝试在 Windows Server Standard 2008 R2 上安装 MSSQL 2008 时出现以下错误:

我有一个约 45GB 的数据库,它增长迅速(每周约 1GB)。
所以它做了很多插入;Web 应用程序的用户不多,因此现在读取量很低。
但我注意到 RAM sql server 用户从服务器第一次启动时的 ~1GB 到一周后使用 ~7GB 的 RAM。
是否存在某种内存泄漏?MSDN 上有一篇文章建议 SQL 服务器增加它用于缓存的内存,并且会一直增加。但是,服务器只有 7.5GB 或 ram,所以我担心它会耗尽内存,除非我每周重新启动 SQL Server……这似乎是错误的。
这是典型的行为吗?是否可以设置一些设置来设置内存使用上限?
我使用 MySQL 已经很长时间了,发现一般查询日志和慢速查询日志对于找出服务器上发生的事情和识别瓶颈非常有用。
现在我需要使用 SQL Server。SQL Server 是否有类似的日志设施?如果有,他们叫什么?
log-files logging sql-server sql-server-2005 sql-server-2008
这几乎全部在标题中。我希望答案是否定的,但想询问以确保。基本上,单个 SQL Server 实例可以被多个名称引用。我知道您可以设置 DNS 以将多个名称解析为同一个 IP/服务器,但这会如何影响连接到 SQL Server?
新来的,问候之类的。
我的问题比较简单,但情况有点奇怪。目前,我刚刚受雇为医疗保健调度员改进(基本上是修复)服务器机房。然而,他们的服务器机房一团糟。一切正常,但问题是我不知道首先会中断什么。他们刚刚从他们的 SQL 服务器(保留他们日常操作所需的一切的主服务器)丢失了 10 天的数据中恢复过来。该服务器是定制的,运行带有 SQL '05 的 Windows '03,需要严重升级。然而,他们的备份系统也是一个问题,因为他们在 4 个磁带上拥有所有必需的东西,其中一个已经失败(崩溃和错过那 10 天的原因)。我为新的 SQL 服务器以及来自戴尔的磁盘备份设备定价的所有东西。
在所有这些背景之后,我对你们的问题是。我应该先得到哪个?控制整个公司的新服务器,还是确保万无一失的更好的备份解决方案?而且,我将如何说服管理层购买其中一件商品。我准备了一个不错的案例,准备展示这些案例中的每一个对操作的重要性。我只是觉得还有一些我可能没有想到的点也会有所帮助。