假设您有一个应用程序基础架构,通常只需要:
这是对你们服务器大神的挑战:
我不关心硬件,只关心服务器软件本身。我很想听听您亲自投入生产的任何解决方案。特别是如果它们是独特的替代品。
对于想法,请考虑一些可能的变体,a)降低了与 OSS 竞争的准入门槛的任何 Microsoft 服务器解决方案,或b)性能相似的 Microsoft 产品的任何 OSS 替代品。
a)的示例:SQL Server 2008 Express Edition SP1是SQL Server的 100% 免费版本,它将根据许多较小/早期应用程序的需求进行扩展。
b) 的一个例子:在 Linux 上运行Mono 框架。
与“标准”堆栈不同的一个示例:在 Linux 上运行 Mono 将需要完全不同的服务器操作系统熟悉度。基于 Windows 的知识都没有真正转移。
缩小规模的一个例子:SQL Server Express 只能扩展到 1GB 的内存和 4GB 的磁盘存储。在那之后,应用程序将需要移动到 SQL Server 的付费版本之一。
注意:有一个社区 wiki 答案,用于协作处理更大的答案。随意添加更多细节。
我遇到了一个奇怪的问题,我尝试通过 Visual Studio 中的数据源或通过 SQL 管理控制台本身连接到在第二台计算机上运行的 SQL Server 2008(两台计算机都运行 Win7 64 位)。
第一次尝试连接时,它超时。第二次尝试工作正常。
我可以毫无困难地访问第二台计算机上的共享,这似乎是我第一次尝试为每个应用程序实例连接到 SQL。也就是说,如果我打开两个 Visual Studio 实例,它们在第一次尝试连接时都会失败,但在第二次尝试连接时会成功。我必须为每个实例连接两次(无论任何其他应用程序中的失败/成功顺序如何)。
我希望这是有道理的。
有什么建议吗?
假设我有一个 SQL Server 数据库,其数据文件的初始大小为 100 GB,但它只包含 10 GB 的数据。然后,数据库备份的大小将仅为 10 GB。
我想将此备份还原到不同的服务器(或同一服务器上的不同数据库),但我不希望它占用与原始备份相同的磁盘空间 (100 GB),这是默认情况下发生的情况。
在进行备份之前我无法缩小原始数据库(它是一个生产数据库,它需要那么多预先分配的空间);我可以在还原完成后缩小还原的数据库,但我真的希望它在这样做时不占用 100 GB;此外,在这种特定情况下,我没有那么多可用磁盘空间,因此不会进行任何还原。
有什么办法可以恢复数据库并让它只占用与它包含的实际数据一样多的空间?
我正在使用 SQL Server 2008 在 C# 中设置数据库自动故障转移,并且我使用见证设置具有“自动故障转移镜像的高安全性”,我的连接字符串看起来像
"Server=tcp:DC01; Failover Partner=tcp:DC02; database=dbname; uid=sewebsite;pwd=somerndpwd;Connect Timeout=10;Pooling=True;"
在测试期间,当我关闭主体服务器上的 SQL Server 服务时,自动故障转移就像一个魅力,但如果我使主体服务器脱机(通过关闭服务器或杀死网卡)自动故障转移不起作用并且我的网站只是超时。
我发现这篇文章的最后第二篇文章表明这是因为我们使用的命名管道在主体离线时不起作用,但我们在连接字符串中强制使用 TCP。
我错过了什么才能让这个数据库自动故障转移工作?
希望有人可以提供帮助 - 在 SQL server management studio 2008 R2 中有没有办法让我可以为链接的 SQL server 设置别名?
我有一个通过 IP 地址添加的服务器,但我没有登录凭据 - 但是由于连接已经建立,我可以正常登录。
问题是,这是一个开发环境,在实时部署之前,我作为链接服务器拥有的 IP 需要由我存储的不同名称的进程“访问”,例如“myserver”而不是 192.168.xxx.xxx。 ..
非常感谢任何帮助。
看起来某人或某事正在尝试使用“sa”帐户进行暴力尝试登录我们的生产 SQL Server 实例。他们没有成功,因为我们的“sa”帐户被禁用,但我应该采取什么步骤来确保事情是安全的?

HP Proliant DL380 G4 系列服务器能否在 2011 年的 IT 世界中保持高质量?
这听起来像是一个奇怪的问题,但我们是一家非常小的公司,其主要业务与 IT 无关。因此,我的 IT 资金必须延伸很长的路要走。
我需要一个好的网络和数据库服务器。一段时间内的负载和需求将相当低,因此我不打算也没有钱以 6000 美元的价格购买全新的 HP Dl380 G7 系列机箱。在今天四处搜索时,我发现 ATL 的一家公司从商业租赁中购买服务器,然后将它们分解为零件。他们清理、检查和测试每个部分,然后根据您要求的任何规格自定义“重建”服务器。有趣的是,他们还为他们销售的所有服务器提供 3 年保修。
我正在考虑购买以下两种:
所有这些只需 750 美元或 1500 美元即可购买两台装备精良的服务器。然后价格上涨到下一个型号,即 G5 系列。类似服务器的价格从 750 美元到 2000 美元不等。我现在没有 4000 美元买两台服务器。
所以回到我最初的问题,如果我在其中一台机器上加载 Windows 2008 R2 服务器和 IIS 7,在另一台机器上加载 Windows 2008 R2 服务器和 …
我有一台服务器报告 8 GB 的内存已用完 99%。当重新启动 Sql Server 时,它的使用率下降到大约 5%,但在大约 2 小时内逐渐恢复到 99%。
当我查看 sqlserver 进程时,它被报告为仅使用 100k ram,并且通常不会大幅上升或低于该数字。事实上,如果我将 TaskManager 中的所有进程加起来,它几乎没有触及我的可用总数的表面(但 TaskManager 仍然通过“显示所有进程”显示 99% 的内存使用率)。
似乎 Sql Server 发生了巨大的内存泄漏,但它没有报告它。服务器运行良好近两年,这仅在过去 3-4 周内才开始显现。
任何人都看过这个或对这个问题有任何见解?
编辑
当服务器达到 99% 时,性能下降。对服务器、应用程序等的所有查询都会爬行。重新启动服务使事情再次变得活泼,直到 2 小时过去了,服务器再次达到 99%。
据我所知,只有当主机开始耗尽物理内存时,才会发生膨胀,即使用率超过 90%。我有一个运行在三节点集群中的 SQL 服务器(每个主机中有 64 GB RAM),它被分配了 8 GB RAM 作为来宾。在过去的几个月中,我们一直在遇到各种系统的间歇性性能问题,我们强调的一个方面是 SQL 服务器似乎经常出现内存膨胀。尽管主机内存始终保持在 75% 以下。
我是否误解了气球膨胀的触发因素,并且定期使用 2GB 气球不是什么大问题?
我(希望)附上了一张最近几天值得进行内存监控的图片。
我们正在运行 ESX4.1,来宾 VM 是运行 SQL Server 2008 R2 的 Windows Server 2008 R2
编辑:根据 Chopper3 评论中的以下建议,我们今晚将进行一些更改。对低影响服务器的快速测试似乎产生了正确的影响,所以我们明天应该满负荷运行。可以解释我们最近看到的许多可能的与性能相关的问题。
我们为房地产公司设计网站。网站仅用于显示信息,所有网站共享一个通用模板。我们有大约 150 个网站供不同的客户使用。一些第三方数据提供商每小时向我们提供有关网站上每个列表的所有更新。每个客户的更新发生在不同的时间。平均而言,我们每个网站有 1000 个列表。并且每小时更新 80% 的数据都会发生变化或更新。
现在我们在 Sql server 2008 中有一个数据库,适用于所有客户(最初设计用于满足 10-20 个网站)。数据库中的表是所有人共享的。问题是每当更新发生时,它也会减慢其他与更新完全无关的客户网站。同时删除客户数据,减慢所有站点。
我计划通过为每个客户创建一个单独的模式来改造数据库,但我不确定这是否是处理我们问题的最佳方式。拥有一个单独的数据库会产生许多维护问题(备份、镜像等)。谁能建议我更好的方法来处理这个问题。如果我为每个客户创建单独的架构并将他们的表与其他表隔离,我不确定它如何影响性能。或者有什么更好的解决办法?
sql-server-2008 ×10
sql-server ×3
sql ×2
backup ×1
database ×1
hardware ×1
hp ×1
hp-proliant ×1
licensing ×1
mono ×1
networking ×1
nosql ×1
restore ×1
security ×1
shrink ×1
vmware-esx ×1
windows ×1