改变 WID 的位置

一、把 \windows\wid 目录移动到 E:\wid。
要在安全模式下进行。
以后的所有工作都可以在正常模式下进行。

二、修改注册表中的有关内容,共有 7 个地方,分成 4 个方面。
 1、关于类注册,有两个。这两个的修改需要先取得对键值的控制权。
[HKLM\SOFTWARE\Classes\CLSID\{A6F16B19-0040-4947-8D3F-52DE129BB615}]
@="Microsoft WID Server Virtual Device Interface for Server"

[HKLM\SOFTWARE\Classes\CLSID\{A9A3FE12-61C7-496E-AABF-B83E3287AB82}]
@="Microsoft WID Server Virtual Device Interface for Client"

2、关于服务,有两个。
[HKLM\SYSTEM\CurrentControlSet\Services\MSSQL$MICROSOFT##WID]
[HKLM\SYSTEM\CurrentControlSet\Services\WIDWriter]

DisplayName 和 Description,要注意前面的 @ 不能省略。

3、关于 SQL Server 的有一个。
[HKLM\SOFTWARE\Microsoft\Microsoft SQL Server]

4、关于事件日志的有两个。
[HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\MSSQL$MICROSOFT##WID]
[HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\WIDVDI]

经过这两步,WIDWriter 服务已经可以启动了,但是,SQL Server 服务还是不能启动。后来,发现,是由于权限的问题。
这个权限的设置就有点难度了。是要求 MSSQL$MICROSOFT##WID 用户必须对 Data 和 Log 目录有写入的权限。而这个用户是无法添加的。因此,只能从正常的服务器上把权限复制过来。

三、设置 WID 目录的权限。

1、复制原来的权限:
cacls C:\Windows\WID\Log /s
下面的是输出:
C:\Windows\WID\Log "D:PAI(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;;0x13019f;;;S-1-5-80-1184457765-4068085190-3456807688-2200952327-3769537534)(A;OICIIO;SDGWGR;;;S-1-5-80-1184457765-4068085190-3456807688-2200952327-3769537534)"

2、设置新目录的权限:
cacls e:\wid\log /s:"D:PAI(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;;0x13019f;;;S-1-5-80-1184457765-4068085190-3456807688-2200952327-3769537534)(A;OICIIO;SDGWGR;;;S-1-5-80-1184457765-4068085190-3456807688-2200952327-3769537534)"

用同样的方法设置 Data 的权限。Binn 的权限可能不设置也行。

四、改变数据文件的位置。
实际上,系统文件才只有 100 多兆,不一定真有移动的必要。
因此,前面的操作意义并不好,仅在于学习而已。

真正需要移动的是数据文件,因为数据文件可能会很大,并且在系统盘上进行频繁访问也对性能有影响。
这就需要安装工具 SQL Management Studio 了,有 600 多兆。
连接时,服务器名填写 \\.\pipe\MICROSOFT##WID\tsql\query。余下的操作就没有什么难度了,分离、附加就好了。

五、出现的问题。
大概会有两个:
1、3417 错误
这是 SQL 错误,是由于在 SQL Server 运行状态下复制的 master 等数据库造成的。停止 SQL Server 服务后再复制数据库文件就可以了。

2、1067 错误
这是 Windows 错误,说是进行意外终止。上,就是前面说的,MSSQL$MICROSOFT##WID 用户对数据库目录没有读写权限造成的。

3、3605 错误
这是 SQL 错误,说是验证数据库 SUSDB 架构失败。当把 WSUS 3.0 的 SUSDB 附加到 Windows 2012 中的 WID 时发生。
在 SQL 日志中,具体表现为:
错误 50000, 严重性 16, 状态 1
Detected an authorized object in schema
Database verification script failed for database

%programfiles%\update services\tools\wsusutil postinstall [sql parameter] [content parameter]
两个参数分别指定 SQL 服务器和升级补丁的位置,对于 WID, SQL 就不必指定了。实际上,CONTENT 也不必指定,因为在安装时指定过了。如果不放心,就指定一焉,比如:F:\WSUS
静静地等上 5、6 分钟,就好了。

六、说明。
微软是说通过备份与恢复的办法,实现数据库的迁移。
备份就不用多说了。
恢复的过程是这样的:
USE master
GO

ALTER DATABASE SUSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

DROP DATABASE SUSDB
GO

RESTORE DATABASE [SUSDB] FROM DISK = N'C:\SUSDB.bak' WITH FILE = 1, MOVE N'SUSDB' TO N'c:\Windows\WID\Data\susdb.mdf', MOVE N'SUSDB_log' TO N'c:\Windows\WID\Data\SUSDB_log.ldf', NOUNLOAD, STATS = 10

不过,即使这样,也一样出现 3605 的错误。

改变 WID 的位置相关推荐

  1. IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置

    IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置 之前的代码能够将滑块的位置信息转换成数字显示在编辑框,但是编辑框的数字信息无法在滑块的位置来体现出来,也就是说,我编辑框中输入数字, ...

  2. js封装函数_JavaScript基础-如何封装函数来改变元素的位置

    点击右上方红色按钮关注"小郑搞码事",每天都能学到知识,搞懂一个问题! 大家好!我是/小郑搞码事/的小郑 今天给大家分享JavaScript的基础知识-改变元素的位置. 没错,用J ...

  3. css3 两种背景色,CSS3 / 实例改变背景色和位置 - 汇智网

    实例 实例改变背景色和位置 @keyframes myfirst { 0% {background: red; left:0px; top:0px;} 25% {background: yellow; ...

  4. echarts柱状图改变标签的位置及柱状图颜色

    echarts柱状图改变标签的位置(柱状图里面的数值位置)及柱状图颜色 在 series里面改变label对象里面的label属性 import * as echarts from 'echarts' ...

  5. html设置控件坐标,html表格按钮位置调整 html中怎样改变表格的位置

    如何设置html 表单按钮的位置? 设置html 表单按钮的位置的代码是: 超文本标记语言, 标准通用标记语言下的一个应用. " 超文本 "就是指页面内可以包含图片. 链接,甚至音 ...

  6. 迅播Gvod清理缓存与改变缓存文件夹位置的方法

    为了增加P2P的效果,大部分网络影视点播客户端都免不了要在电脑中留下缓存文件,但像迅播.乐鱼.迅雷看看会在产生缓存的同时并将目录进行了隐藏,导致有些朋友删除困难,下面就教大家怎么删除这些缓存文件. 一 ...

  7. 火狐浏览器改变书签栏位置_通过书签改善生活

    火狐浏览器改变书签栏位置 书签是向Web浏览器添加功能的一种简单方法,对于作为Web开发人员的工作流可能是有用的添加. 在本文中,我将指出一些有用的书签,提供有关构建自己的书签的技巧,并演示一些利用这 ...

  8. AfterEffect插件-常规功能开发-改变渲染输出位置-js脚本开发-AE插件

    文章目录 1.算法程序 2.作者答疑 1.算法程序   AfterEffect(AE)插件是Adobe公司开发的特效制作软件,稳定快速的功能和特效,在视频制作领域使用非常广泛,本文向大家介绍如何在项目 ...

  9. Android 根据坐标点动态改变View的位置

    在开发项目中,需要动态改变View的位置,其实只需要用api的 layout()方法即可,不断改变坐标值,通过onTouchEvent()来获取点的坐标点,然后计算出View的宽和高就可以了 代码如下 ...

最新文章

  1. ebs查看服务状态_Oracle EBS - 工单状态
  2. 原生js删除html,原生js模拟v-for增加删除.html
  3. ActionScript 3 作用域内部细节介绍
  4. 根据进程名杀掉jps中的进程名
  5. Java中abstract与interface
  6. C#中的结构和类之间的区别
  7. zabbix数据库历史数据清除
  8. 【恋上数据结构】基数排序、桶排序、休眠排序
  9. 打造创新电磁诊疗技术平台,睿笛生物获比邻星创投、三捷资本数千万元投资...
  10. 【面经】腾讯NLP实习面经(Offer已拿)
  11. 成功解决python.exe 无法找到入口 无法定位程序输入点
  12. Hadoop集群之开启kerberos安全认证
  13. 字节跳动资深面试官亲述:面试应该注意哪些问题?
  14. 移动硬盘写速度不到1M
  15. Maximum sum on a torus UVA - 10827
  16. 手机访问电脑文件_你还在苦恼电脑和手机文件如何快速传输吗?
  17. 旋转卡壳简介(POJ2187)(洛谷P1452)
  18. 测试工程师需要掌握哪些软技能?
  19. 一小时速成!扁平化名片设计PS教程
  20. Dijkstra算法正确性证明

热门文章

  1. 解决获取不到表单数据的问题
  2. D435i与速腾聚创(rslidar-16)标定
  3. html怎么使用element ui,element-ui是什么,以及element-ui如何使用
  4. 郭金东旗下金浦集团再次荣登江苏民营企业百强榜单
  5. 离婚了,我要你抱着我出门
  6. Problem M. Mediocre String Problem
  7. 【NOR闪存】MT25TL256BBA8ESF-0AAT 256Mbit、MT25TL01GBBB8ESF-0AAT 1Gbit 16-SOP
  8. ASCII对应码表-键值(完整版)
  9. SQL索引字段使用函数操作导致不走索引
  10. (三)SpringCloud实战微服务