无法读取此系统上以前注册的服务器的列表。请在“已注册的服务器”窗口中重新注册您的服务器

环境:

服务器系统:

数据库版本:Microsoft SQL Server 2008 R2

错误提示如下图:


截图来自:点击打开链接

详细错误信息:

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerException: 无法读取此系统上以前注册的服务器的列表。请在“已注册的服务器”窗口中重新注册您的服务器。 ---> Microsoft.SqlServer.Management.Sdk.Sfc.SfcSerializationException: 对 /RegisteredServersStore/ServerGroup/AnalysisServicesServerGroup 的反序列化操作失败。 ---> System.IO.DirectoryNotFoundException: 未能找到路径“C:\Users\Administrator\AppData\Local\Temp\2\19enqzv5.tmp”的一部分。
   在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
   在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
   在 System.CodeDom.Compiler.TempFileCollection.EnsureTempNameCreated()
   在 System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension, Boolean keepFile)
   在 System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension)
   在 Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
   在 Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
   在 System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
   在 System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
   在 System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
   在 System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
   在 System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
   在 System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
   在 System.Xml.Serialization.XmlSerializer..ctor(Type type)
   在 Microsoft.SqlServer.Management.Sdk.Sfc.SfcUtility.GetXmlValue(String xmlContent, Type valueType)
   在 Microsoft.SqlServer.Management.Sdk.Sfc.SfcSerializer.GetPropertyValueFromXmlString(String xmlString, Type propType, IXmlSerializationAdapter serializationAdapter)
   在 Microsoft.SqlServer.Management.Sdk.Sfc.SfcSerializer.CreateInstanceFromSerializedData(Type instanceType, String instanceUri, List`1 serializedData)
   在 Microsoft.SqlServer.Management.Sdk.Sfc.SfcSerializer.Deserialize(XmlReader reader, String instanceUri, Object& instance, SfcObjectState state)
   在 Microsoft.SqlServer.Management.Sdk.Sfc.SfcSerializer.Deserialize(XmlReader xmlReader, SfcObjectState state)
   --- 内部异常堆栈跟踪的结尾 ---
   在 Microsoft.SqlServer.Management.Sdk.Sfc.SfcSerializer.Deserialize(XmlReader xmlReader, SfcObjectState state)
   在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServersStore.InitChildObjects(String file)
   --- 内部异常堆栈跟踪的结尾 ---
   在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServersStore.InitChildObjects(String file)
   在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServersStore.InitializeLocalRegisteredServersStore()
   在 Microsoft.SqlServer.Management.RegisteredServers.RegisteredServersStore.get_LocalFileStore()
   在 Microsoft.SqlServer.Management.UI.ConnectionDlg.ConnectionDialog.OnLoad(EventArgs e)
   在 System.Windows.Forms.Form.OnCreateControl()
   在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   在 System.Windows.Forms.Control.CreateControl()
   在 System.Windows.Forms.Control.WmShowWindow(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
   在 System.Windows.Forms.Form.WmShowWindow(Message& m)
   在 System.Windows.Forms.Form.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 已加载的程序集 **********

解决方案:

重启服务器。好吧,我承认我也木有找到好的解决方案,希望网友有好的解决方案,麻烦说一下。


很抱歉,Lua是一种脚本语言,它并没有直接提供读取进程主窗口标题的功能,也不支持直接执行命令行命令。 如果您想要实现这个功能,可以考虑使用Lua调用外部命令行工具来实现。比如在Windows系统下,可以使用tasklist命令列出所有进程的信息,再使用findstr命令查找包含特定进程名的行,最后使用for /f命令解析出主窗口标题。 具体的实现过程可以参考以下代码: ```lua -- 定义要关闭的进程名 local processName = "服务器" -- 调用tasklist命令获取所有进程信息 local handle = io.popen("tasklist /v /fo csv") -- 读取命令输出结果,并解析出包含进程名的行 local result = handle:read("*a") local line = string.match(result, '\n"[^"]*%' .. processName .. '%[^"]*"[^\n]*\n') -- 如果找到了包含进程名的行,则解析出主窗口标题 if line then local pid, windowTitle = string.match(line, '([^,]+),("[^"]*")') windowTitle = string.sub(windowTitle, 2, -2) -- 去掉引号 print("进程 " .. pid .. " 的主窗口标题为 " .. windowTitle) -- 如果主窗口标题为指定值,则调用cmd命令关闭进程 if windowTitle == processName then os.execute("taskkill /f /pid " .. pid) print("进程已关闭") end else print("未找到进程 " .. processName) end -- 关闭命令输出流 handle:close() ``` 需要注意的是,这种方法并不是很可靠,因为tasklist命令输出的信息可能会因为语言环境和操作系统版本的不同而有所不同。而且使用命令行工具会增加程序的依赖性和不可移植性,建议在实际开发使用更加可靠和跨平台的方法。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值