标签: sql-server-2012

再次了解 SQL Server 虚拟帐户

让我重新启动有关 SQL Server 虚拟帐户权限的问题

有关 SQL Server 2012 同一版本的(同一)MSDN 文章“配置 Windows 服务帐户和权限”在“与异常磁盘位置相关的文件系统权限”部分中指出:

虚拟帐户无法对远程位置进行身份验证。所有虚拟帐户都使用计算机帐户的权限。以以下格式配置计算机帐户<domain_name>\<computer_name>$。”

如果“虚拟帐户无法通过远程位置的身份验证”,那么为什么:

  • 使用计算机帐户的权限和
  • 域帐户的格式?

同一篇文章“Windows 7 和 Windows Server 2008 R2 中可用的新帐户类型”部分包含:

虚拟账户

Windows Server 2008 R2 和 Windows 7 中的虚拟帐户是托管本地帐户,它提供以下功能来简化服务管理。虚拟账号是自动管理的,虚拟账号可以在域环境下访问网络Server 2008 R2如果在 Windows或上安装 SQL Server 期间对服务帐户使用默认值Windows 7,则使用以实例名称作为服务名称的虚拟帐户,格式为NT SERVICE\<SERVICENAME>。作为虚拟帐户运行的服务通过使用计算机帐户的凭据访问网络资源,格式为<domain_name>\<computer_name>$

我应该如何更好地理解无需身份验证即可访问网络?

sql-server permissions network sql-server-2012

5
推荐指数
0
解决办法
2920
查看次数

Agent XPs 自动禁用

在其中一台 SQL Server 2012 服务器中,代理 Xps 会自动禁用。没有固定的模式,问题突然开始。通过探查器发现名为的应用程序SQL AGent- Enable\disable Agent Xps正在禁用 XP。后者是通过 SQL Agent-Initial BootProbe 启用的。

sql-server sql-server-2012 sql-server-agent

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

修复链接服务器而不重新启动 SQL Server 实例

问题: 有时夜间作业会失败,当我调查它时,这是跨链接服务器的查询失败的结果。但由于某种原因,该查询似乎以某种方式保持“开放”状态并导致后续失败。

糟糕的解决方案: 我发现解决此问题的唯一方法是重新启动实例,这似乎可以清除所有内容。但当它发生在生产中时,显然有点麻烦。

问题: 是否有人有重置打开状态的链接服务器的策略?我什至不太确定幕后发生了什么。

进行的其他检查: -

  • 在链接到的服务器上测试了查询。我可以选择那一侧的数据
  • 使用链接测试了服务器上的其他所有内容。那里一切工作正常,只是当它尝试跨该链接查询时失败。

唯一的解决方案是真正重新启动实例吗?

sql-server sql-server-2008-r2 linked-server sql-server-2012

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

恢复失败,操作系统错误 32,文件正被另一个进程使用

我正在为客户编写一组(部分)自动化数据库部署的过程,大多数情况下工作正常,但有时 RESTORE 命令会失败,并出现操作系统错误 32,即文件正在被另一个进程使用(详细信息如下)。

我在谷歌上进行了广泛的搜索,但发现很少适用于我的具体情况。我怀疑我忽略了某些东西,但我似乎找不到它。

这是命令:

RESTORE DATABASE [NBBC_Logistics] FROM DISK = '\\wpdboardq01\Shares\DbCopy\DevBackups\NBBC_Logistics_140916112310.bak' 
    WITH FILE=1, NOUNLOAD, STATS=10,
     MOVE 'NBBC_Logistics' TO 'D:\MSSQL2K12\MSSQL11.MSSQLSERVER\MSSQL\DATA\NBBC_Logistics.mdf',
     MOVE 'NBBC_Logistics_log' TO 'D:\MSSQL2K12\MSSQL11.MSSQLSERVER\MSSQL\DATA\NBBC_Logistics_log.ldf',
     REPLACE 
    ;
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误消息:

Msg 3634, Level 16, State 1, Line 11
The operating system returned the error '32(The process cannot access the file because it is being used by another process.)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'D:\MSSQL2K12\MSSQL11.DEV\MSSQL\DATA\NBBC_Logistics_log.ldf'.
Msg 3156, Level 16, State 8, Line 11
File 'NBCC_Logistics_Model2_log' cannot be restored to 'D:\MSSQL2K12\MSSQL11.DEV\MSSQL\DATA\NBBC_Logistics_log.ldf'. Use WITH MOVE to …
Run Code Online (Sandbox Code Playgroud)

sql-server restore sql-server-2012

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

多个命名实例和可用性组

我们在两个区域有一个两节点多子网 Windows Server 2012 R2 集群。我们在每个节点上有三个命名的 SQL Server 2012 独立实例,并且正在每个 SQL 实例上设置可用性组。我已在一个实例上成功设置了一个 AG,但是当我尝试在第二个命名实例上设置第二个 AG 时,我收到以下错误消息:

DPA01\BAPP01尝试与 id 的可用性副本建立连接时发生连接超时[567C-F10B-43C3-A2DB-BEDDD307589B]。存在网络或防火墙问题,或者为副本提供的端点地址不是主机服务器实例的数据库镜像端点。”

看起来它不支持单个节点上具有不同端口的多个端点。有人遇到过这种情况吗?第一个实例,我使用 5023 作为端点端口,第二个实例使用 5022。但是我无法在端口 5023 上从节点 2 远程登录到节点 1,而我可以在端口 5023 上从节点 1 远程登录到节点 2。节点 1 没有监听该端口港口。

我的简单问题:支持以下设置吗?

在两个节点窗口集群上拥有多个 SQL 命名实例,并在每个实例上拥有 Always On 可用性组。

我的设置示例:

Node1 
Named instances: SQLINS1, SQLINS2
Availability Groups - AO1 on SQLINS1 and AO2 on SQLINST2

Node2 
Named instances: - SQLINS3, SQLINS4
Availability Groups - AO1 on SQLINS3 and AO2 on SQLINST4
Run Code Online (Sandbox Code Playgroud)

在哪里:

Replicas of AO1: …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012 availability-groups

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

无法卸载 Sql Server 2012 Express(带 SP1)

我的堆栈: . Windows 10 企业版。SQL Server 2012 Express(捆绑 SP1)。

问题:
。安装 SQL 以测试向后兼容性。
。当我尝试卸载时,会出现以下提示。

在此输入图像描述

尝试的解决步骤:
。卸载单个组件。
。重新安装该版本的 SP1。

这些步骤都没有奏效。最后一招是删除注册表项,然后重新尝试删除。

有任何想法吗?

sql-server installation sql-server-2012 windows-10

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

对于作为访问链接服务器的 SQL 登录名运行的作业,“当前安全上下文不受信任”

我在尝试从作业运行存储过程时遇到错误“访问远程服务器被拒绝,因为当前安全上下文不受信任。[SQLSTATE 42000](错误 15274)”,并且存储过程查询链接服务器。该作业配置为作为 SQL 登录名运行,我将其称为 user1,并且我已在每个可能的位置授予 user1 权限和所有权。

以下是该作业的设置方式:

  • 所有者为 user1 的 SQL Server 代理作业
  • 作业中的一个步骤在“高级”选项卡上配置为“以用户身份运行”user1(“常规”选项卡上的“运行身份”列表是一个空白列表 - 不确定这是否是一个因素)
  • 该步骤调用 user1 有权执行的存储过程
  • 存储过程定义为WITH EXECUTE AS 'user1'
  • 链接服务器具有 user1 的本地/远程映射,并输入远程用户和远程密码。两台服务器上的用户名和密码相同。“对于上面列表中未定义的登录,连接将”选项设置为“使用登录的当前安全上下文进行”。我还尝试将此选项设置为“使用此安全上下文进行”,并重复 user1 及其密码。
  • user1 具有在远程服务器上查询的适当权限。
  • 我什至让 user1 成为本地服务器上的系统管理员

尽管如此,我仍然遇到访问错误。我一定在某个地方遗漏了一些东西......有什么想法吗?

sql-server linked-server sql-server-2012 jobs

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

为什么全文索引落后了?

我在表上设置了全文索引;该表处于相当恒定的负载下,每天接收约 50k 插入和约 35k 删除,插入之间的间隔相当短(最多 5 分钟)。
该索引配置为自动更改跟踪,通常能够在插入后几秒钟内处理所有文档。但昨天监测提示,该指数已超过4小时未更新。
收到该警报后,我检查了以下内容:

  • 全文日志中没有出现新条目。最后一个条目是信息性的 - 全文自动填充已完成。
  • 索引填充状态(由 sys.dm_fts_index_population 报告)停留在“已停止处理”状态。
  • 运行命令“FT BATCH CMPLETE”的单个会话耗尽了整个 CPU 核心。该会话的last_request_start_time 距全文日志中最后一个条目的秒数以内。除此之外,CPU 处于空闲状态。
  • 两个(共 30 个)片段的状态为 6 / 正在用于合并输入并准备好查询(如 sys.fulltext_index_fragments 所报告);这些碎片的大小每个接近 60GB。

大约 10 小时后,索引编制又神秘地恢复了,就像它停止了一样。

我认为索引因合并而暂停的想法正确吗?如果不是,我还可以检查什么以获得更好的诊断?

该问题大约每月在不同服务器上发生两次。据我所知,该索引没有按计划重组或重建。我正在寻找一种解决方案,可以让我完全避免索引暂停,或者在维护停机期间安排索引暂停。服务器是 SQL Server 2012 Enterprise。

index sql-server full-text-search sql-server-2012

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

SSISDB 主密钥

最近,由于硬件故障,我不得不将 ssisdb 数据库以及所有其他用户数据库恢复到新服务器。

我现在在尝试在新计算机上运行 ssis 作业时看到以下错误请在数据库中创建主密钥或在执行此操作之前在会话中打开主密钥

我相信我已经找到了纠正问题的正确方法,但我希望有更多经验的人可以确认我的计划。

由于密钥没有单独备份,我的理解是我需要使用创建目录时使用的密码来解密现有的数据库主密钥。幸亏我有这个密码。

然后,我可以更改主密钥并使用新的服务主密钥添加加密,以便可以自动解密该密钥。

use SSISDB
go
open master key decryption by password= '<password from catalog creation>'
alter master key add encryption by service master key
Run Code Online (Sandbox Code Playgroud)

这似乎是正确的道路,还是我偏离了基地?

sql-server ssis sql-server-2012 ssis-2012

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

SQL Server 2012 - 如何查看锁的日志?

我使用的是 SQL Server 2012 Express Edition,请问如何查看数据库中记录的所有锁定/块进程?我想查看以前锁定/阻塞的进程的原因是SQL Server只允许我们查看数据库中当前锁定的进程。

我发现我的 SQLException 日志文件中几乎没有超时错误,所以我想知道是否有一种方法可以查看或查询导致超时的锁/块的过去记录。

我没有打开数据库 TT 的阻止进程报告

sql-server-2012 locking blocking

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