小编Sko*_*ioh的帖子

是否可以在零停机时间内部署企业ASP.NET应用程序和SQL架构更改?

我们有一个庞大的ASP.NET Web应用程序需要部署到LIVE,停机时间为零或几乎为零.让我指出,我已经阅读了以下问题/答案,但遗憾的是它并没有解决我们的问题,因为我们的架构有点复杂.

假设我们目前有两台IIS服务器响应请求,并且两台服务器都连接到同一台MSSQL服务器.解决方案看起来像小菜一碟,但这并不是因为我们不时要应用的主要架构变更.由于它的大小很大,简单的数据库备份大约需要8分钟,这已经变得不可接受了,但出于安全原因,它必须在每次新部署之前完成.

我想请求您帮助尽可能缩短部署时间.如果您对不同的架构有任何好的想法,或者您使用的工具可以帮助我们,那么请不要害羞并分享信息.

目前我们提出的最好的想法是购买另一个SQL服务器,它将被设置为原始数据库的副本.从负载均衡器,我们将所有新流量路由到两个IIS Web服务器之一.当第二个Web服务器没有运行会话时,我们可以部署新代码.现在来了困难的部分.此时我们将与网站脱机,取消两个SQL服务器之间的复制,这样我们就可以直接获得数据库的快照,并保持一致的状态(在8分钟内节省了7.5分).最后,我们将更新主SQL服务器上的数据库模式,并在我们将第二个Web服务器升级到新版本时通过更新的Web服务器路由所有流量.

还请分享您对此解决方案的看法.我们能以某种方式设法消除与网站脱机的需要吗?带有mammuth Web应用程序的bluechip公司如何进行部署?

每个想法或建议都非常受欢迎!购买新的硬件或软件确实不是问题 - 我们错过了突破性的想法.在此先感谢您的帮助!

编辑1(2010.01.12):
另一个要求是消除人工干预,因此事实上我们正在寻找一种可以自动应用的方式.

我只想提醒您需求清单:
1.备份数据库
2a.部署网站
2b.更新数据库架构
3.更改为更新的网站
4(可选):如果出现问题,可以轻松恢复到旧网站.

c# sql-server asp.net deployment iis

19
推荐指数
1
解决办法
2979
查看次数

在SQL Server中从字符串转换为uniqueidentifier错误时转换失败

我一直收到错误"从字符串转换为uniqueidentifier时转换失败",最后我的绳子结束了.我把问题缩小到尽可能小,同时保持错误.如果要重现,请首先从此处安装CSV分割器:

http://www.sqlservercentral.com/articles/Tally+Table/72993/

这是测试代码.我在SQL 2008R2上,但在与SQL 2005兼容的数据库中:

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ZZZTESTTABLE]') AND type in (N'U'))
DROP TABLE [dbo].[ZZZTESTTABLE]
GO

CREATE TABLE [dbo].[ZZZTESTTABLE](
    [Col1] [uniqueidentifier] NOT NULL,
 CONSTRAINT [PK_ZZZTESTTABLE] PRIMARY KEY CLUSTERED 
(
    [Col1] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

-- Test table that I would like to check my values against
insert dbo.ZZZTESTTABLE(Col1) values('85B049B7-CDD0-4995-B582-5A74523039C0')

-- Test string that will be …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

13
推荐指数
2
解决办法
8万
查看次数

"page-break-inside:avoid" - 不起作用

我正在制作一个打印css ...我想要打印某些块作为一个整体,因此我使用'page-break-inside:avoid'.但这似乎不起作用.

我一直在拼命寻找解决方案...我使用谷歌浏览器

    .print-block
    {
        display: block;
        page-break-inside: avoid !important;
        margin-bottom: 10px;
        padding-bottom: 5px;
        border-bottom: 1px dashed black;
    }
Run Code Online (Sandbox Code Playgroud)

这是CSS,我正在使用...

html css printing reporting page-break

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

标签 统计

sql-server ×2

asp.net ×1

c# ×1

css ×1

deployment ×1

html ×1

iis ×1

page-break ×1

printing ×1

reporting ×1

sql ×1

t-sql ×1