Articles of sql server

尝试在SQL Server升级到2008 R2后login服务器时打开dll

环境是Windows Server 2003 SP2 32位,SQL Server 2008 R2 SP1 login到服务器时,将显示以下消息框:“您正试图打开”应用程序扩展名“(.dll)types的文件。 如果选中,模块是sqdedev.dll(SQL安装程序枚举器API)。 该服务器刚从SQL Server 2000 SP4转换而来。 转换顺利进行。 修补程序KB942288-v4已应用于安装程序的服务器,没有任何漏洞,升级​​运行速度相当快,结果与此消息完全相同。 转换中是否存在缺陷?还是有办法解决这个问题? 这是一个testing服务器,所以它不是关键,但我没有一个快照回滚到。

SQL Server 2005中原因不明的CPU和磁盘活动峰值

在提出我的问题之前,请允许我描述一下情况。 我有一个数据库服务器,有许多表。 其中两个最大的桌子每个都有80多万行。 大多数行的大小不到10k,尽pipe100行中的大约1行将大于1MB,但是小于4MB。 所以在160万行中,大约有16000行是这些大行。 他们之所以这么大是因为我们在数据库中存储zip文件的二进制blob,但是我离题了。 我们有一个在后台不断运行的服务,从这两个表中分别修改10行。 在上面的性能监视器图中,这些是小颠簸(红色表示CPU,绿色表示磁盘队列)。 有一次,我们得到了CPU活动的大量激增,以及磁盘活动的跳跃,由截图中的红色箭头表示。 我已经运行了SQL Server分析器,并没有任何东西可以作为解释这个高峰的候选者。 我的怀疑是,这个尖峰发生时,其中一个大行被删除。 我已经将分析器的结果input到调优向导中,并且没有得到优化build议(即,我假设这意味着我的数据库正确地为我当前的工作负载编制索引)。 即使在高峰负载的情况下,服务器在任何情况下都处于良好状态,我并不担心。 不过,我想知道是否还有其他事情可以做,以找出是什么原因造成这个高峰? 更新: 在进一步调查之后,CPU和磁盘使用率峰值下降到SQL Server的自动检查点。 数据库使用简单的恢复模式 ,并在每个检查点截断日志文件。 我们可以在下面的图表中看到这一点。 正如在MSDN上所描述的那样,当事务日志变满了70%,并且我们正在使用简单的恢复模式时,检查点就会发生。 这一直是启发,我已经明白了一些东西!

如何testingTempDB的性能?

我得到了一些有关如何最好地configuration我们的SQL存储与我们当前的SAN有冲突的build议。 我想用一些不同的configuration来做一些我自己的性能testing。 我看着使用SQLIOSim,但似乎并没有模拟TempDB。 任何人都可以推荐一种方法来testing数据,日志和TempDB的性能? 如何使用我们的生产系统中的SQL事件探查器跟踪文件? 我将如何使用这个来运行我的testing服务器? 谢谢,Matt

如何确定为什么SQL Server 08停止运行

我有一个在Windows Server 2008 Standard下运行的SQL Server 2008 Standard实例。 SQL Server服务configuration为自动启动(在networking服务帐户下); 但偶尔当我进入工作并尝试运行使用数据库的东西时,我发现它没有运行。 在IT重新启动虚拟机之后,我需要看看为什么要closures或不重新启动?

如何使用AWE的Windows Server 2003(32位)和SQL Server 2005(32位)?

服务器是Windows Server 2003 SP2(32位),运行SQL Server 2005 SP3(32位)。 我相信服务器有4 GB的物理内存。 这台机器在上个星期坠毁了两次,是一台生产机器。 据我所知,它已经启用了最大内存限制6041 MB的AWE。 我从来没有听说过AWE,但我认为这有点可疑,怀疑是机器崩溃的原因。 (仅供参考,AWE已启用,并且boot.ini文件中存在/ 3GB开关)。 我今天花了一些时间来研究SQL Server的内存架构,我不认为我很把握AWE的概念。 所以,地址Windows扩展(AWE)是相对于物理内存,而不是虚拟内存(分页)。 如果机器只有4GB的物理内存,如果没有触及分页文件,又怎么能使用? 或者,服务器没有正确应用AWE? 也就是说,我有8 GB的RAM,但Windows 2003 32位用户空间只能访问2 GB(3GB的开关)。 但是启用了AWE(并检查了内存中的页面locking)后,除了4GB的Windows(3GB Windows用户空间+ 1GB Windows内核空间)之外,我还可以为SQL Server 2005(32位)使用额外的4GB RAM,如果和只有如果我有物理RAM来支持它。 我真的很困惑,需要一些指导这个问题。 我试图确定我是否了解AWE,它是如何工作的,以及是否导致机器崩溃。 感谢您的任何帮助。

在回收应用程序池时,WebSites无法访问Sql Server数据库

我有一些网站托pipe在IIS7.5的Windows 2008 R2有时我收到通知,网站报告连接到数据库的错误,并不能连接到数据库,而SQL服务器正在运行。 服务器上没有任何变化 如果我重新启动网站仍然收到错误消息。 如果我回收应用程序池,网站可以再次连接到数据库。 我使用应用程序池的默认设置,只是将其更改为在networking服务帐户下工作。 我在Windows日志或SQL服务器日志上找不到任何有用的信息 我怎样才能find问题并修复它?

SQL2008 Max Memory设置为10GB,Target / Total perfmon counters报告使用1.6GB。 这是怎么回事?

在Windows Server 2003 Enterprise上运行带有12GB内存的SQL2008 R2 32位。 在SQL实例的内存设置中,我已经将最大内存设置为10000MB,但根据以下查询它不会超过1.6GB。 SELECT object_name,counter_name,instance_name, (cntr_value/1024) as Memory_in_MB, cntr_type FROM sys.dm_os_performance_counters WHERE counter_name IN ('Target Server Memory (KB)','Total Server Memory (KB)') 我是否遇到32位OS / SQL安装问题? 还是我需要configuration一些额外的东西,以允许它访问超过3GB? Windows正在检测12GB。

数据库进入恢复模式

我有一个运行3个数据库的SQL Server 2008 R2 Express实例。 其中两个数据库用于我写的程序,第三个用于Oracle程序。 我的数据库大概有100MB,Oracle数据库的大小在2-3GB之间波动。 在最后一天左右,Oracle数据库会间歇性地进入恢复模式,而服务器上的其他数据库将继续正常运行。 难道是程序有一些错误的逻辑,并要求服务器进入恢复模式,因为它没有得到它所期望的查询响应? 我真的不知道从哪里开始看,因为这是我第一次有一个数据库这样的行为。

我应该在另一台服务器上安装SBS 2011 Premium加载项还是只在一台服务器上安装SQL?

我正在将SBS 2003迁移到SBS 2011.新服务器安装在配备ESXi 4.1的HP DL360上,具有38GB RAM,2.53Ghz E5649,4 * 300GB SAS RAID1 + 0。 我的问题是: 我应该将SBS Premium加载项安装在单独的服务器上还是只保留一台服务器并在其上安装SQL? 为SQL提供单独的服务器有什么好处,它需要额外的资源(例如操​​作系统的RAM和磁盘空间)来保持所有的运行? 请注意,这是15-20个用户的设置,并不会有很多重载进程正在运行。

SQL Server高可用性 – 使用MSCS进行镜像?

我正在考虑为我的SQL Server驱动的应用程序提供高可用性选项。 要求是: HA防止存储故障。 当其中一个数据库服务器正在进行软件更新(例如Windows Update / SQL Server服务包的计划中断)时的数据可访问性。 一定不要过多涉及硬件采购。 该应用程序是一个ASP.NET Web应用程序。 Web应用程序的用户拥有自己的数据库实例。 我见过两个主要选项:SQL Server故障转移群集和SQL Server镜像。 据我所知,SQL Server故障转移群集需要购买共享磁盘arrays,并且如果共享存储发生故障(因此文档build议在两个群集之间设置镜像),则不提供任何保护。 数据库镜像似乎是更便宜的select(因为它只需要两个数据库服务器和一个简单的见证框) – 但是我听说当你有大量的数据库时,它不能正常工作。 我正在开发的应用程序涉及给每个客户端自己的数据库为他们的应用程序 – 可能有数百个数据库。 由于我们有自动化系统,设置镜像是没有问题的。 我的最后一点是关于客户端连接的故障转移如何工作–SQL Server故障转移群集使用MSCS,这意味着群集对客户端不可见 – 在故障转移过程中连接尝试可能失败,但简单的重新连接将使其再次工作。 不过,据我所知,镜像要求客户端了解镜像的伙伴:如果客户端无法连接到主服务器,则会尝试从服务器。 我想知道如何在ASP.NET应用程序中的连接池工作 – 客户端连接故障切换是否意味着当连接池在每个连接上尝试主服务器时,可能会有2秒的时间(假设2000毫秒的TCP超时策略)暂停尝试? 我在某处读到,镜像可以在MSCS之上使用,这意味着客户端不需要知道镜像(所以在连接过程中不会有任何潜在的延迟,也不需要对客户端,甚至连接string) – 但是我很难得到这种方法的文档或白皮书。 但是,如果这是真的,那么最好的方法就是使用MSCS对客户端进行镜像(对于客户端无知和连接性能)。 …但是,这如何扩展到可能包含数百个镜像数据库的服务器实例呢?