草庐IT

磁盘故障

全部标签

sql-server - "FOR XML EXPLICIT"Msg 6833 "requires parent tags to be opened first"Error 故障排除建议

我继承了一个1000行的存储过程,它使用FORXMLEXPLICIT生成XML。我的问题是它大部分时间都有效。在某些情况下,我收到错误:ParenttagID2isnotamongtheopentags.FORXMLEXPLICITrequiresparenttagstobeopenedfirst.Checktheorderingoftheresultset.Number:6833Severity:16State:1我需要有关如何解决此问题的想法。我需要找出嵌套失败的地方。这可能是父行未发出但子行发出的情况。更糟糕的是,这个问题只发生在我们的测试系统上,它可能丢失了一些生产数据。问题是

sql-server - 如何将SQL查询结果保存到磁盘上的XML文件

我想将表从SQLServer2012导出到XML文件。我找到了niceanswer和here如何从SQLServer数据库查询生成XML结果,但我仍然不知道如何将此结果物理保存到文件中。SQL查询是:SELECT[Created],[Text]FROM[db304].[dbo].[SearchHistory]FORXMLPATH('Record'),ROOT('SearchHistory')我使用MicrosoftSQLServerManagementStudio来执行这个结果。我在结果窗口中看到了XML,但我无法保存它。上下文菜单中有“将结果另存为..”,但是对于98900行,我用这

windows - 获取磁盘设备的物理设备对象名称

我需要从Windows上的用户模式应用程序检索磁盘设备的“物理设备对象名称”,如设备管理器中所示。我现在有一个解决方案,它涉及一个通过IOCTL加载和询问的内核驱动程序。一旦进入内核领域,我就可以毫不费力地找到那个名字。如果可能,我想避免使用内核模块。有什么想法吗? 最佳答案 您可以使用设置API函数获取它。具体来说,我相信您可以通过SetupDiGetDeviceRegistryProperty和SPDRP_PHYSICAL_DEVICE_OBJECT_NAME获得它。 关于windo

windows - 是什么导致磁盘上的驱动程序和映射到内存的驱动程序之间存在差异?

嘿,今天我尝试对NDIS.sys进行二进制比较,我发现了一些奇怪的东西。我接受了一个函数,并开始比较它。前30个字节在磁盘(使用IDA)和内存(使用WinDbg)上是相同的。然后,事情发生了变化。我看到类似“jmp_imp_XXXXX”的内容。JMP字节相同,但地址不同。我的问题是-是什么造成了差异?我认为这与搬迁有关。虽然跳转是在同一个模块中寻址,但它是一个长跳转,它相对于模块基地址。如果发生重定位,它也需要重定位这个地址,尽管它在同一个模块上。我是对还是完全错了?:-)谢谢。 最佳答案 是的,当一个模块没有加载到它在内存中的首选

windows - 是否可以将终止进程所需的所有信息保存到磁盘,然后重新启动它?

我正在考虑VM的工作方式,但在常规Windows操作系统进程的级别。我的想法是,如果我可以拍摄快照并卸载进程,我就永远不必因为用完RAM而退出另一个应用程序。 最佳答案 这在任何常见操作系统中都不实用。 关于windows-是否可以将终止进程所需的所有信息保存到磁盘,然后重新启动它?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6317127/

sql - 如果不是 CPU、磁盘或网络,查询执行过程中的瓶颈是什么?

我使用SQLServer2005,想知道如果没有CPU、磁盘或网络,当SQLServer工作时用户在等待什么。奇怪的是,系统监视器显示4个处理器的平均使用率为5%,磁盘(演示的50MB/s写入)的工作速度约为5-8MB/s,但执行(插入和选择)占用了10分钟。我很乐意安装额外的硬件,但我看不出什么设备是瓶颈,也不知道如何衡量它的容量和当前工作负载。如有任何建议,我们将不胜感激。谢谢附加信息:RAM的容量一直保持在70%左右,我运行的是windowsxp。 最佳答案 检查您的磁盘读写“等待”时间。一个重负载的数据库可能只是用非常小的数

c# - WMI 关闭磁盘

我想关闭磁盘(WMI)。到目前为止,我有以下代码:ManagementScopescope=newManagementScope("\\\\.\\ROOT\\cimv2");ObjectQueryquery=newObjectQuery("SELECT*FROMCIM_DiskDrive");//createobjectsearcherManagementObjectSearchersearcher=newManagementObjectSearcher(scope,query);ManagementObjectCollectionqueryCollection=searcher.Ge

c - 如何使用 fgets 在 for 循环中计算磁盘读取速度(以 MB/s 为单位)

我有以下功能for(i=0;i它用文件指针流fp中的字符串填充“指向X字符数组的X字符数组的指针”。变量lines是数字文件的行数(预先计算)。我想计算fgets操作的读取速度。但是我不确定该怎么做,也不确定“公式” 最佳答案 使用clock_gettime获取一些时间,并将其包裹在fgets周围。然后从b中适本地减去a,您就有了执行fgets所需的时间(和一个clock_gettime调用)。#includestructtimespeca,b;clock_gettime(CLOCK_MONOTONIC,&a);fgets(...)

c++ - 如何创建文件路径可以像磁盘一样访问的虚拟文件系统

我需要在内存或磁盘上创建FileSystem类型的东西,它可以像磁盘上的文件一样访问,它的路径可以在fopen()等函数中使用。详细信息:我正在使用AddFontResourceEx函数在应用程序中加载字体。由于此功能需要文件路径,因此文件需要存在于磁盘上。但我要求用户不能访问/查看字体文件。我尝试了AddFontMemResourceEx函数,但加载的字体不可枚举,因此用户无法在应用程序中看到字体。我也尝试过一些创建VFS的库,但它们像数据库一样工作,即你可以创建文件/目录并访问它们。但不能在AddFontResourceEx或任何其他函数中使用它们的文件路径。是否存在某种方法可以让

c - fwrite() 性能远低于磁盘容量

我有一个包含1700万个元素的struct动态分配数组。为了将它保存到磁盘,我写了fwrite(StructList,sizeof(Struct),NumStructs,FilePointer)在后面的步骤中,我使用等效的fread语句读取它,即使用sizeof(Struct)和NumStructs的计数.我预计生成的文件大约为3.5GB(这都是x64)。是否可以通过传递sizeof(Struct)*NumStructs作为大小和1作为计数来加快速度?我绞尽脑汁想知道为什么在具有32GBRAM(大量写入缓存)的快速计算机上写入操作可能需要分钟。我已经运行了自制基准测试,缓存足够激进,前