我们将部署带有只读辅助服务器的 SQL Server 2012 可用性组,并希望在使用 CDC 或更改跟踪的同时针对辅助服务器执行 SSIS 提取(目前尚未决定使用哪个)。
我希望 CDC 和 CT 的底层实现将允许它们的功能存在并在辅助设备上使用,但尚未能够找到任何以这种方式或另一种方式说明的内容。
有没有人有任何经验(以及更好的官方文档)指出此解决方案的可行性(或不可行)?
我们现在倾向于使用变更跟踪,因为我们对历史数据没有硬性要求,但我希望能够识别任一实施的任何问题/风险。
sql-server sql-server-2012 availability-groups change-tracking change-data-capture
我的服务器错误日志中定期显示以下错误消息序列:
错误:9245,严重性:16,状态:1。
在上一个时间间隔内,抑制了 257 个查询通知错误。
但是我找不到错误 9245 的任何细节。我查看了产生错误的 spid,它与服务代理有关。我也经常出现这样的错误,我怀疑它们都是相关的:
对话句柄“{1C8BCD7B-3366-E211-93C7-005056BA3606}”上的查询通知对话框。由于以下错误关闭:
<?xml version="1.0"?>
<Error xmlns="http://schemas.microsoft.com/SQL/ServiceBroker/Error">
<Code>-8490</Code>
<Description>Cannot find the remote service 'SqlQueryNotificationService-b7240bb0-6586-4cee-bb7c-a3d2e706c0f8' because it does not exist.</Description></Error>
该错误是我们已经知道了一段时间,但目前还无法在我们的应用程序代码中解决的错误。前两个错误在最近几天才刚刚开始出现,错误的频率和被抑制的查询通知的数量似乎都在增加。
有没有人对进一步的故障排除步骤或错误 9245 的信息有任何见解?
编辑:一些附加信息 -
关于 Jon 的问题,我们在 App 中实现了 SqlDependency,我相信它可能没有正确完成,导致查询通知对话框消息。当我们之前在 SQL 2008R2 上运行此应用程序时,我们启用了跟踪标志 4133,如以下知识库文章所述:http : //support.microsoft.com/kb/958006,这至少减少了事件日志中出现的消息数量。
也就是说,我上面发布的第一个错误消息序列(错误:9245)是新的(据我所知)。几周前,我们将服务器升级到 SQL 2012 SP1,并且在 9245 错误开始出现时尚未启用跟踪标志 4133。
同样值得注意的是,虽然错误发生的频率越来越高(每 5 到 10 分钟接近 1 个错误)持续大约 12 小时,但昨天早上我在这里询问错误后不久突然停止:9245。大约一个小时后,我启用跟踪标志 4133,从那以后我就没有看到错误。虽然这两个错误似乎是相关的,但我并不完全确定它们是否直接相关。
我将查看我可以从该服务器上的其他 Windows 事件日志中找到的内容,并查看是否还有其他任何内容与这些错误发生的时间相关。我还禁用了 4133 以确认它对 9245 错误没有影响。
Edit2:在禁用跟踪标志 4133 几分钟后,错误又开始发生,我相信我现在也知道两者之间的关系,所以我将继续回答我自己的问题。
我有一个从 sql server 2012 到 pervasive sql 的链接服务器的连接。
当我做的select field1, field2, field3 from mytable一切正常!
但是,当我这样做时,select field1, field2, field3, field4, ...field10+ from mytable我收到此错误消息:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "KSLAP208" reported an error. The provider reported an unexpected catastrophic failure.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "KSLAP208".
Run Code Online (Sandbox Code Playgroud)
我查看了日志,这是它所说的:
2013-02-08 11:27:30.93 spid55 ***Stack Dump …Run Code Online (Sandbox Code Playgroud) 如果不安装 SQL Server 媒体 2008 和 2012,我们如何知道媒体属于某个版本(如 Developer、Standard 或 Enterprise)?
今天早上发现在 Win2012 上运行的 SQL Server 2012 服务已经关闭。当我以服务器管理员身份登录并尝试访问 SSMS 时,在输入我的凭据后,我收到了“传输”错误。在检查 Windows 服务时,SQL Server 和代理均已停止。我试图启动它们,但出现超时错误。
SQL 事件日志包含以下条目:
服务器无法加载启动 SSL 连接所需的证书。它返回以下错误:0x8009030d。检查证书以确保它们有效。
Windows 事件日志包含以下条目:
日志名称:应用程序
来源:MSSQLSERVER
日期:14/03/2013 09:01:40
说明:无法加载用户指定的证书 [Cert Hash(sha1) "A1CF6EE1C352B7A185950EB400013269759C24BD"]。服务器将不接受连接。您应该验证证书是否已正确安装。请参阅联机丛书中的“配置 SSL 使用的证书”。
说明:TDSSNIClient 初始化失败,错误为 0x80092004,状态代码为 0x80。原因:无法初始化 SSL 支持。找不到对象或属性。
说明:TDSSNIClient 初始化失败,错误为 0x80092004,状态代码为 0x1。原因:初始化因基础结构错误而失败。检查以前的错误。找不到对象或属性。
描述:由于网络库中的内部错误,无法启动网络库。要确定原因,请查看错误日志中紧接此错误之前的错误。
说明:SQL Server 无法生成 FRunCommunicationsManager 线程。检查 SQL Server 错误日志和 Windows 事件日志以获取有关可能的相关问题的信息。
以下过程解决了该问题:
以上仅解决了问题,直到下次重新启动,再次发生。显然,SSL 证书需要 SQL2012 读取的权限,但我不敢一直重启,直到这个问题得到解决,所以我现在通过 RDC 而不是通过 …
DBCC SHOWCONTIG scanning 'MyTable' table...
Table: 'MyTable' (2048062382); index ID: 1, database ID: 28
TABLE level scan performed.
- Pages Scanned................................: 1019182
- Extents Scanned..............................: 127400
- Extent Switches..............................: 127399
- Avg. Pages per Extent........................: 8.0
- Scan Density [Best Count:Actual Count].......: 100.00% [127398:127400]
- Logical Scan Fragmentation ..................: 0.01%
- Extent Scan Fragmentation ...................: 77.25%
- Avg. Bytes Free per Page.....................: 135.7
- Avg. Page Density (full).....................: 98.32%
Run Code Online (Sandbox Code Playgroud)
我读过 Scan Density = 100% 非常好,并且 Logical Scan Fragmentation <1% 也很棒。77% …
performance sql-server fragmentation sql-server-2012 query-performance
问题:如何让我的可用性组注册为ag-ewgtest.sql.company.com我的服务器认为自己的给定server.company.com。
设置:我的 SQL Server 2012 可用性组位于多个子网上,类似于这篇 MSDN 博客文章 中的描述。当我进入故障转移群集管理器时,它显示名称解析尚不可用:

然后我右键单击“名称:ag-ewgtest”并选择属性。我勾选了“发布 PTR 记录”,它显示全名是ag-ewgtest.company.com.

我的问题是我只被允许更新 DNS 区域sql.company.com。如果我将 DNS 名称更改为 ,ag-ewgtest.sql.company.com则全名变为ag-ewgtest.sql.company.com.company.com.
我尝试将我的 NIC 更新为:

但并没有什么不同。如何更改我的可用性组尝试注册的子域?
我们目前正在考虑地理分布式应用程序的目标架构。
此应用程序跟踪和安排所有材料单元在各个生产现场的移动。
将有两个逻辑实体:
这是应用程序的逻辑图:

这个应用程序的实现不能直接从上图导出,因为我们必须考虑以下约束:
因此,我想到了一种新架构,我们将在其中为每个区域创建具有同步数据库的全局实体(相同的可执行文件)的相同实例:

我想知道是否有人已经使用 SQL Server 复制来实现相同的目标。
这是正确的方法吗?欢迎所有建议/警告!
非常感谢,塞巴斯蒂安。
我们正在开展一个项目,其中我们需要在 SQL Server 中处理大量图像、文本等。我们正在考虑使用 Filestream 和 filetable 功能。然而,即使在网上搜索了大量数据后,我们也无法找到以下查询的答案:
我们正在尝试在我们的系统上创建一个共享文件夹,然后将其映射到文件流。所以我们正在创建一个共享文件夹(比如 D:\Ftable ),它的访问级别设置为每个人的完全访问权限。现在,当我们转到 SQL Server 配置管理器并尝试将此文件夹设置为 filstream 的共享文件夹(启用文件流访问的属性选项卡)时,它会向我们抛出错误:Windows 共享文件夹名称不是有效的 Windows 共享。我们知道文件流文件夹必须是本地文件夹,但是即使我们只是尝试放置不同的本地文件夹路径(如 D:\test 等),它也会给我们一个错误。
我们还想知道是否可以在映射驱动器上创建文件流共享目录?我们在一个系统上创建了一个共享文件夹,并将该文件夹映射到另一个系统上(使其显示为本地)。然而,再一次,当我们尝试将映射驱动器上的特定文件夹设置为文件流共享文件夹时,它会抛出一个错误。
非常感谢有关该主题的任何指示/帮助。我们的主要访问权限是在我们选择的物理位置创建文件流共享,该共享位置是共享的,以便我们可以远程/或通过工具将数据传输到它。
我最近在我的 2012 SQL Server 上安装了 SP1。从那时起,当我从我的电脑而不是从本地服务器本身连接时,SSMS 的行为有点奇怪。
我不再在服务器和代理上看到绿色的“正在运行”图标,并且几个菜单选项变灰(服务器菜单和代理菜单上的启动/停止/重新启动)。

此外,当我尝试访问活动监视器时,出现以下错误:

我发现了以下关于活动监视器的文章。我按照那里的步骤操作(尽管我是 sql 服务器上的本地管理员,应该已经拥有所有这些权限)但无济于事。服务器运行的是 Windows 2008 R2 Datacenter SP1。当我远程桌面到服务器本身并直接使用 SSMS 时,我没有这些问题,当域管理员通过 SSMS 远程连接到服务器时,一切都对他有用。
有任何想法吗?
sql-server ×10
sql-server-2012 ×10
architecture ×1
dns ×1
filestream ×1
performance ×1
replication ×1
ssms ×1