我们正在 WSFC 多子网集群上测试 AlwaysOn 可用性组并使用动态 DNS 注册。我们的问题是,有时活动子网中可用性组侦听器 (AGL) 的 IP 以及非活动子网中 AGL 的 IP 会在 DNS 中注册。
当我们最初设置集群时,默认情况下,RegisterAllProvidersIP设置为1,因此我们希望 AGL 的活动 IP 和非活动 IP 都在 DNS 中注册。我们按照MS AlwaysOn Pro 团队概述的步骤将RegisterAllProvidersIP更改为0,以便只有活动站点中的 IP 向DNS 注册。进行此更改后,我们进行了大量测试并发现了以下行为:
这个问题没有模式。我们在创建多个记录时查看了 DNS,它们都具有完全相同的日期/时间戳,因此这些记录显然是同时创建的。为了解决这个问题,我们只需运行以下命令,只注册活动 IP: Get-ClusterResource AGL_Network_Name | 更新-ClusterNetworkNameResource
是否有人在生产环境中成功地将多子网集群与 AA AG 一起使用?如果是这样,我很感激你能提供的任何帮助。
我们已经确认问题发生在VMware和物理服务器 …
有没有一种方法可以让我在 sql server 2012 中获取报告或创建自定义报告,它可以每天两次或一次更新我列出的驱动器的可用磁盘空间和实际磁盘空间。
我需要这个是因为我的客户需要查看一个月内的磁盘空间使用情况才能看到所需的模式。
谢谢!
我在服务器上有很多 SQL Server 作业。每当完成任何作业执行时,我都需要执行 SP。一种困难的方法是在每个调用该 SP 的作业上创建一个步骤。
有没有简单的方法可以做到这一点?作业完成后,SQL Server 是否执行任何 SP 或任何内容?
我们有一个 SQL Server 2012 实例,其中包含一个包含许多产品线数据的数据库。
我们正在寻找一种方法将这些数据的子集放入同一实例上的另一个数据库中。
这不一定是连续的,因为我们正在寻找方法来轻松导出我们可以发送给供应商的子集备份(我们有一家公司将这些数据加载到他们自己的 sql server 中以生产我们的产品)出售,自然是巨大的,我们希望将其缩减到他们经常使用的产品线)或用于加载 SQLite DB 以用于离线应用程序。
ProductDB - 所有产品线数据的超集。
ProductLine1DB - 结构与ProductDB相同的子集,但数据仅与产品线 1 相关。
ProductLine2DB - 结构与ProductDB相同的子集,但数据仅与产品线 2 相关。
这可以每晚、每周、根据我们需要的频率进行,但不能连续复制。
我们不想添加分发服务器甚至额外的订阅服务器。我们希望复制发生在同一台服务器上,而订阅者数据库在同一台服务器上。
这是事务复制的好选择吗?
为什么或者为什么不?
我们显然有其他选择来加载这些数据,但似乎使用事务复制之类的东西可能是一个很好的例子。我听说它功能强大,但在未进行最佳设置时容易出现问题。
注意: 我不是 DBA,只是一名开发人员,但我们目前正在寻找新的 DBA,我们中的一些人正在临时接管这样的职责。
我需要一种很好的方法来在不同服务器和不同数据库之间复制 SQL Server 2012 中的单个表。我试过复制品,它工作得很好,但可能有更好/更简单的方法,我现在看不到。
也许有一种方法可以使用任务将数据作为作业导入。数据不需要一直同步。每隔 5-10 分钟,第二个数据库 [B] 就可以使用数据库 [A] 中的数据进行更新。
是否可以只为一张表设置镜像?
当然,我检查了网络,这给了我编写导入任务脚本的想法。
还有什么可能以及如何?
我正在尝试连接到 SSDB 目录以使用 .NET 对象模型执行包,例如
using Microsoft.SqlServer.Management.IntegrationServices;
var sqlConn = new SqlConnection(connectionString);
var ssis = new IntegrationServices(sqlConn);
var project = ssis.Catalogs["SSISDB"].Folders[package.Path].Projects[package.Project];
var pinfo = project.Packages[package.Name + ".dtsx"];
var id = pinfo.Execute(false, env, packageParams)
Run Code Online (Sandbox Code Playgroud)
如果我运行这个,我会得到一个错误
The server principal "XXXX" is not able to access the database \"SSISDB\" under the current security context
Run Code Online (Sandbox Code Playgroud)
如果我授予用户 sysadmin 权限它就可以工作,所以这绝对是一个权限问题,但我不能用它作为解决方案。
在旧的集成服务模型下,您将使用户成为 db_ssisadmin、db_ssisdtuser 或 db_ssisoperator 的成员 - 尝试过,但没有帮助:-(
所以我手头有以下场景:
我有一个为特定应用程序运行的产品数据库,数据库中的所有插入都通过三个单独的连接进入。
最近我开发了一个新的数据库扩展,以便使用 SSAS 创建预测。
我的老板希望我通过创建产品数据库的副本来运行现场测试,以查看预测的执行情况。
我的问题是双重的:
根据 SQLServer 2012 的 Microsoft 文档,数据库镜像功能将在未来版本中删除:https://msdn.microsoft.com/en-us/library/ms189852.aspx该服务器目前正在运行 2012 但它可能会在未来所以我觉得这个方法是死路一条。
我应该尝试在这种情况下使用数据库镜像吗?
这种数据库镜像方式有什么好的选择?
我有一个非常复杂的数据模型。如果不解释正在建模的内容,我将无法理解大多数 SQL 示例,因此我将尝试进行解释。
Mainlines -> Releases -> Overlays -> Calibrations <- Parameters
Calibrations 是 Mainline-Release-Overlay 链和 Parameters 的子节点。这是我想退货的套装。
现在,复杂性在于——为了节省空间——我们存储基本 Mainline 的校准,然后只存储在发布和覆盖级别发生更改时的差异。这会产生大约 16K 行的“基本”校准集,然后每个版本有几百个更改,每个覆盖可能只有几个更改。发生参数删除。为了跟踪这一点,校准有一个状态字段 (tinyint),它被设置为 1 以进行删除。
叠加层依次进行版本控制。因此,要获得完整的“校准”,我们需要查询校准表以获取最新版本的参数数据,直至特定的叠加版本号。参数元数据可能会改变,但名称保持不变,因此这些校准可能指的是不同版本的参数,尽管名称相同。
到目前为止,以下内容已经完美且即时地运行(有以下注意事项):
SELECT c.Parameter_ParameterID, p.Designation AS Name, c.Data, o.Version
FROM Calibrations c, Parameters p, Overlays o, Releases r
WHERE r.Mainline_MainlineID = 9
AND o.Release_ReleaseID = r.ReleaseID
AND c.Overlay_OverlayID = o.OverlayID
AND c.Parameter_ParameterID = p.ParameterID
AND o.Version =
(SELECT MAX(o1.Version)
FROM Parameters p1, Calibrations c1, Overlays o1, Releases r1
WHERE r1.Mainline_MainlineID = 9
AND o1.Release_ReleaseID …Run Code Online (Sandbox Code Playgroud) performance sql-server sql-server-2012 greatest-n-per-group query-performance
我已经看到它多次提到您可以配置事件会话以在事件触发时采取行动。有没有人有关于如何做到这一点的任何信息?我知道您可以使用服务代理对事件采取行动,但我不认为这是事件会话的一部分。
sql-server extended-events service-broker sql-server-2012 sql-server-2014
我们正在尝试在 Windows 2012 R2 操作系统上从 SQL Server 2012 迁移到 SQL Server 2014。
升级后,我们正在进行性能测试,并观察到仅从一个表(根本没有连接)运行简单查询的巨大差异。
该查询在 SQL Server 2012 中执行时间为 4 秒,但在 SQL Server 2014 中执行时间超过 1 分钟。
SQL Server 安装在 2 个不同的 VM(不同的 IP 地址)上。他们在每台机器上只有一个 SQL Server 实例。
两台机器之间的处理器/内存/硬盘空间相同。
这些机器安装了相同的应用程序。我们直接从 SQL Server Management Studio 运行相同的选择查询。
performance sql-server upgrade sql-server-2012 sql-server-2014
sql-server-2012 ×10
sql-server ×9
performance ×2
c# ×1
clustering ×1
disk-space ×1
mirroring ×1
ssis-2012 ×1
upgrade ×1