标签: alwayson

是否可以通过管理/资源管理API为Azure网站启用Always On?

我正在编写一些自动部署Azure网站的代码(包括在Azure中创建网站).我正在使用Nuget中提供的Azure管理库和Azure资源管理库.其中大部分已经到位,但是我无法通过我见过的任何API找到启用"Always On"属性的方法.可以通过网站的"配置"选项卡下的azure管理门户设置此属性.

我检查过:

  1. MSDN上的属性参考:http://msdn.microsoft.com/en-us/library/azure/dn236426.aspx
  2. powershell API(get-azureresource,get-azurewebsite,...)查看是否有对Always On的引用(没有)
  3. REST调用管理门户通过Fiddler发送.这里有一个POST中的Always On参考https://manage.windowsazure.com/Websites/UpdateConfig(据我所知,它不是管理或资源管理API的一部分).JSON主体中发送的确切路径是/ siteConfig/AlwaysOn.

那么,问题是,是否可以通过"官方"API启用/禁用Always On?

谢谢!

api rest azure azure-web-sites alwayson

12
推荐指数
1
解决办法
2716
查看次数

使用SqlCommand.ExecuteScalar()从序列中选择高磁盘使用时返回NULL

我有时会在生产环境中遇到这种SqlCommand.ExecuteScalar()情况NULL.

我在这里遇到了很多类似的问题,最接近的是:SqlCommand.ExecuteScalar返回null但原始SQL没有.但给出的建议与我的情况无关.

代码示例如下:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (var command = connection.CreateCommand())
    {
        command.CommandText = "SELECT NEXT VALUE FOR Seq_Revision";
        command.CommandType = CommandType.Text;

        return (long)command.ExecuteScalar(); //<---ExecuteScalar() here returns NULL sometimes
    }
}
Run Code Online (Sandbox Code Playgroud)

Seq_Revision 这里是简单的MSSQL序列,如下所示:

CREATE SEQUENCE [dbo].[Seq_Revision] 
 AS [bigint]
 START WITH 0
 INCREMENT BY 1
 MINVALUE -9223372036854775808
 MAXVALUE 9223372036854775807
 CACHE  10 
GO
Run Code Online (Sandbox Code Playgroud)

而且我很确定它永远不会实际返回NULL.


我也观察到类似的怪(不可重复的行为)时,NULL该代码示例中返回,而我敢肯定有有这个ID的实体:

NHibernate.ISession.Get<FooEntity>(entityId)
Run Code Online (Sandbox Code Playgroud)

有趣的是,NULL通过此方法返回与SQL节点上磁盘活动较多(磁盘队列长度> ~50)时的时间帧相关联.

可能很重要:我们使用具有2个节点的AlwaysON群集,其中一个节点用于读取模式(ApplicationIntent=READONLY在连接字符串中).

MSSQL版本是:

Microsoft …
Run Code Online (Sandbox Code Playgroud)

c# sql-server ado.net alwayson sql-server-2014

11
推荐指数
1
解决办法
459
查看次数

使用AlwaysOn群集进行加密

我有一个数据库,从旧的SQL Server 2008R2实例移动到SQL Server 2012 AlwaysOn群集.数据库中有几个字段使用SQL Server内置加密功能(主密钥,证书,对称密钥)进行加密.

我在QA AO实例上运行了以下命令(与旧服务器上运行的步骤相同):

 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'

 CREATE CERTIFICATE myCert  
    WITH SUBJECT = 'password'

 CREATE SYMMETRIC KEY myKeyName    
    WITH ALGORITHM = TRIPLE_DES 
    ENCRYPTION BY CERTIFICATE myCert 
Run Code Online (Sandbox Code Playgroud)

另外,我必须运行以下命令才能正确解密数据:

 OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'
 ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,我会看到所有解密的数据:

OPEN SYMMETRIC KEY myKeyName
DECRYPTION BY CERTIFICATE myCert 
select TOP 1000 userid, CONVERT(nVARCHAR(255),DECRYPTBYKEY(password)) from  users
CLOSE SYMMETRIC KEY myKeyName
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是,如果我在生产AO群集上运行这些相同的步骤,则此查询:

select TOP 1000 userid, CONVERT(nVARCHAR(255),DECRYPTBYKEY(password)) …
Run Code Online (Sandbox Code Playgroud)

sql-server encryption alwayson

10
推荐指数
1
解决办法
803
查看次数

SQL Server 2012 AlwaysOn同步副本实际上不是同步读取

我正在尝试在将数据写入主副本之后从同步辅助副本中读取数据.但我的数据不存在于二级.

在辅助数据上出现数据之前,存在大约100-500ms的延迟.

是否可以使辅助副本与读取查询真正同步?

synchronization scalability sql-server-2012 alwayson

9
推荐指数
1
解决办法
2262
查看次数

如何始终在拇指上显示滑块的当前位置

如何在拇指下方显示工具提示/标签的滑块控件,在有/无用户拖动的情况下始终显示值(时间跨度).

我在我的滑块上尝试了AutoToolTipPlacement ="BottomRight"AutoToolTipPrecision ="3".但只有在我拖动拇指时才会显示工具提示.即使我使用按钮控件调用播放滑块,我也希望显示.(如视频播放器)

关键是要减小我的usercontrol的大小,并避免额外的标签定时器或位置.

如果我的方向错误,请建议我更好的想法.谢谢!

wpf slider tooltip alwayson

7
推荐指数
1
解决办法
5598
查看次数

AlwaysOn可用性组侦听器访问权限

这个问题是关于访问可用性组侦听器的正确方法吗?

假设我有两个AlwaysOn可用性组,其中包含以下AG:AG1AG2.
我还有两个听众LISTENER1(在AG1上)和LISTENER2(在AG2上).我有2个SQL节点NODE1,NODE2并且都运行了2个SQL实例:INSTANCE1INSTANCE2.

如何通过侦听器正确连接到主副本AG1
我知道它不应该是NODE1\INSTANCE,但以下哪项是正确的?

LISTENER1
Run Code Online (Sandbox Code Playgroud)

要么

LISTENER1\INSTANCE1
Run Code Online (Sandbox Code Playgroud)

我注意到两者都工作正常,我假设后者连接到LISTENER1的主要副本,而不是让SQL浏览器发挥其魔力并连接到INSTANCE1(幸运的是 - 在这个特定的设置中恰好是正确的).

我注意到如果我使用LISTENER1\INSTANCE2,这也可以,但是连接到承载AG1主副本的节点的INSTANCE2实例!

兔子洞甚至更进一步:如果我在两个SQL节点上安装默认实例,我会得到另一种行为:连接到LISTENER1,将我连接到默认实例.

我的逻辑是正确的(SQL浏览器服务)还是我在这里完全错了?

仅供参考:在这种情况下,命名实例使用动态端口,所有侦听器都托管在端口1433上

sql listener alwayson

6
推荐指数
1
解决办法
330
查看次数

Microsoft AlwaysOn故障转移解决方案和Delphi

我正在尝试使用Delphi应用程序来使用AlwaysOn解决方案.我在Google上发现我必须MultiSubnetFailover=True在连接字符串中使用.

应用程序在Delphi XE3中编译并使用TADOConnection.

如果我Provider=SQLOLEDB在连接字符串中使用,应用程序启动但看起来MultiSubnetFailover=True没有效果.

如果我使用Provider=SQLNCLI11(我在Google上发现OLEDB不支持AlwaysOn解决方案而且我必须使用SQL Native客户端)我在尝试打开连接时获得无效属性.

连接字符串是:

Provider=SQLOLEDB.1;Password="password here";Persist Security Info=True;User ID=sa;Initial Catalog="DB here";Data Source="SQL Instance here";MultiSubnetFailover=True
Run Code Online (Sandbox Code Playgroud)

我是否必须升级到Delphi上的较新版本才能使用此故障转移解决方案,或者我是否在连接字符串中缺少某些内容?

delphi adoconnection delphi-xe3 alwayson

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

将 ApplicationIntent=ReadOnly 与将数据插入临时表的存储过程一起使用

我正在使用 SQL Server 2012 AlwaysOn 侦听器,我想使用带ApplicationIntent=ReadOnly参数的连接来调用一些存储过程,这是我的问题:将数据插入临时表的存储过程可以使用连接ApplicationIntent=ReadOnly

sql-server alwayson

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

SQL Server AlwaysOn 中的脏读

我有一对 SQL Server 2014 数据库,设置为同步 AlwaysOn 可用性组。

两台服务器均设置为Synchronous commit可用性模式,会话超时时间为 50 秒。次级设置为Read-intent only可读辅助设备。

如果我写入主数据库,然后立即从辅助数据库读取(通过ApplicationIntent=ReadOnly),我会始终读取脏数据(即写入之前的状态)。如果我在写入和读取之间等待大约一秒钟,我就会得到正确的数据。

这是预期的行为吗?如果是这样,我可以采取什么措施来确保从辅助设备读取的数据是最新的?

我想使用辅助数据库作为主数据库的只读版本(以及故障转移),以减少主数据库的负载。

sql sql-server acid alwayson

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

SSIS包通过可用性组连接到只读数据库

我试图连接到可用性组中的辅助服务器,以将数据库的只读版本与SSIS包中的OLE DB连接一起使用,但似乎无法做到这一点。这么简单。可以做到吗?

编辑:忘记添加,我们希望能够使用项目参数来传递连接字符串。

ssis sql-server-2012 alwayson

0
推荐指数
1
解决办法
2268
查看次数