紧急呼叫,请高手作答

spidertan 2003-12-17 04:02:33
开始我的机器既是域控制器也是DNS服务器,SQL Server就建在我这台机器上,SQL Server服务器名称就叫我本地计算机名称(比如admin),不知怎么回事,我这台域控制器的组策略编辑用不了,一气之下就决定把它干掉,可是匆忙之下忘了干一件大事,就是把Sql Server中的数据导出,现在可苦死我了,自从域控制器降下来以后,我找不到我的SQL Server服务器了,不知道该怎么找到我的SQL Server服务器与实例,请大家指点,我现在有点怕了,不敢轻易作什么事,心中有一点线索但不知道具体该怎么做,还望高手指点迷津,谢谢!
...全文
106 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
spidertan 2003-12-18
  • 打赏
  • 举报
回复
感谢yun198183(钱钱0.7) 的留言,使我心中有个底,先前我真是害怕了,总归那微软的产品在程序出错的处理上还不够好,比如错误恢复,还有visual studio.net2003安装错误无法自动卸载等等,真希望微软在程序出错后修正的处理上能更强大和完善一些,不然真让我们摸不着头脑。
结贴了
yun198183 2003-12-17
  • 打赏
  • 举报
回复
重新命名服务器的过程非常简单。你所需要做的就是给服务器改名,就像平时为Windows NT或Windows 2000 Server改名那样。重新启动计算机,然后系统会给出一个出错信息:“安装文件被破坏,或者未知的包标识”。看起来很吓人。但实际上你只需要重新运行SQL Server的安装程序,会有提示“是否升级到当前版本”。点击Yes,安装程序很快就结束了。实际上并没有进行重新安装,只是重新设置了有关服务器名字方面的选项。然后我们需要运行一些存储过程重置服务器名字,以便让SQL Server中的一些函数,例如有关复制的函数,能够有效地工作。
我们切换到示范计算机,这将是我们的最后一个示范。先关掉一些刚才启动的应用程序。到“我的电脑”属性,转到“网络标示”的属性,改变这台计算机的名字。我们把这台计算机的名字改为“Win2kSQL”,点击OK。然后提示需要重新启动计算机。OK,重新启动。
重新启动后,我们回到了登录界面。正如我们刚才已经提到的,有提示说“安装文件被破坏,或者未知的包标识”。
我们现在需要登录到服务器上,转到SQL Server安装文件的目录,然后重新运行安装程序。
现在我们到SQL Server安装文件的目录,运行安装程序。NT有提示说有SQL Server服务不能正常运行。需要等一会儿安装程序才能继续。
Windows NT提示说服务控制失败。现在安装程序可以继续了,接下来安装程序询问安装到哪里。我们选择本地安装。然后是搜索已安装组件。下面安装程序询问是否升级到标准版。这个提示看起来比较奇怪,但这正是我们现在想要的。点击Yes,SQL Server将更新一些服务器设置。现在运行完毕,我们返回并启动SQL Server服务。
打开Query Ananlyzer,我们将装入最后一个脚本。转到脚本目录,打开这个叫做“Rename SQL”的脚本。如果我们现在打开sysservers表的话,我们就会发现它仍然是指向原先的服务器名。我们需要把这个服务器先删除,然后再添加,以便让sysservers表能够反映新的服务器名。现在我们来运行这段脚本,删除原先的服务器,然后再添加。现在我们就已经成功改变了服务器的名字



高级安装选项
选择"安装选项"安装程序屏幕中的"高级"选项后,"高级选项"对话框提供三种选择。

选项
记录无值守 .ISS 文件

创建用于无值守安装的安装程序初始化文件。

注册表重建

重建损坏安装的注册表。

维护故障转移群集的虚拟服务器

更改现有群集,例如修改名称、添加和删除群集的节点。
------------------^^^^^^^^



--打开修改系统表的开关
EXEC sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE

update sysservers set xx='xx' where .....

--关闭修改系统表的开关
EXEC sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE
go

spidertan 2003-12-17
  • 打赏
  • 举报
回复
希望大家讨论,我想找到解决问题的根本方法,比如说我更改计算机名称之前叫a,此时的SQL Server数据库服务器名称就叫a,当我修改计算机名称后叫b,那么我们还用a去启动SQL Server的服务是不行的了,必须把它也相应修改为b,这在启动服务的系统用户和密码不改的前提下进行。现在问题的关键就在于如何把SQL Server修改成b,同时在SQL Server企业管理器中能够连接上数据库实例b?
cgsun 2003-12-17
  • 打赏
  • 举报
回复
将数据文件(*.mdf,*.ldf)复制出来备份.

然后重新安装SQL.

安装完成后,用附加数据库的方法还原数据库.
spidertan 2003-12-17
  • 打赏
  • 举报
回复
如果在安装SQL Server时不使用默认的计算机名为实例名是不是就不会出现当计算机的名称和属性改变时找不到数据库Sql Server的实例名?如果是这样,Sql Server起码也应该给我们一个修改实例参数的地方,这样至少与系统的关系不是太大
zjcxc 2003-12-17
  • 打赏
  • 举报
回复
那应该没办法了.重新安装吧.
spidertan 2003-12-17
  • 打赏
  • 举报
回复
zjcxc(邹建)
不行,我从域控制器上降下来后使用光盘来恢复过,找不到实例名,所以我也没办法修改启动sqlserver服务的参数
zjcxc 2003-12-17
  • 打赏
  • 举报
回复
修复的过程自动完成.不需要干预
zjcxc 2003-12-17
  • 打赏
  • 举报
回复
修改了计算机名?

修改计算机名,要放入SQL安装光盘,执行安装程序修复一下就可以正常了.
spidertan 2003-12-17
  • 打赏
  • 举报
回复
幸好数据都还在,要不然死翘翘
spidertan 2003-12-17
  • 打赏
  • 举报
回复
现在好怀恋oracle,至少我可以通过修改配置文件找到机器上的orcale数据库,而现在我有点疑惑,本地计算机名称改了,为什么不能修改Sql Server的配置文件去找到Sql Server的数据库?
spidertan 2003-12-17
  • 打赏
  • 举报
回复
我现在找不到mssqlserver服务
gmlxf 2003-12-17
  • 打赏
  • 举报
回复
是啊,先将数据文件先拷贝到其他机器以防丢失。
zjcxc 2003-12-17
  • 打赏
  • 举报
回复
附加数据库:

企业管理器
--右键"数据库"
--所有任务
--附加数据库
--选择你的.mdf文件名
--确定
--如果提示没有.ldf文件,是否创建,选择"是"


查询分析器中的方法:
--有数据文件及日志文件的情况
sp_attach_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件
,'日志文件名(*.ldf注意要带目录)' --后面可以是用,分隔的该数据库的多个日志文件

--如果只有数据文件的情况
sp_attach_single_file_db '数据库名'
,'数据文件名(*.mdf注意要带目录)' --后面可以是用,分隔的该数据库的多个数据文件

zjcxc 2003-12-17
  • 打赏
  • 举报
回复
将数据文件(*.mdf,*.ldf)复制出来备份.

然后重新安装SQL.

安装完成后,用附加数据库的方法还原数据库.
txlicenhe 2003-12-17
  • 打赏
  • 举报
回复
参考:
六种数据移动方法
1. 通过工具DTS的设计器进行导入或导出
  DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进入向导模式,按提示一步一步走就行了,里面分得很细,可以灵活的在不同数据源之间复制数据,很方便的。而且可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力。也可以直接打开DTS设计器,方法是展开服务器名称下面的Data Transformation Services,选Local Packages,在右边的窗口中右击,选New Package,就打开了DTS设计器。值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引。
  其实建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化。
2. 利用Bcp工具
  这种工具虽然在SQL Server7的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQL Server早期版本的人。Bcp有局限性,首先它的界面不是图形化的,其次它只是在SQL Server的表(视图)与文本文件之间进行复制,但它的优点是性能好,开销小,占用内存少,速度快。有兴趣的朋友可以查参考手册。
3. 利用备份和恢复
  先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了。这种方法可以完全恢复数据库,包括外键,主键,索引。
4. 直接拷贝数据文件
  把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复:
EXEC sp_attach_db @dbname = 'test',
@filename1 = 'd:\mssql7\data\test_data.mdf',
@filename2 = 'd:\mssql7\data\test_log.ldf'
这样就把test数据库附加到SQL Server中,可以照常使用。如果不想用原来的日志文件,可以用如下的命令:
EXEC sp_detach_db @dbname = 'test'
EXEC sp_attach_single_file_db @dbname = 'test',
@physname = 'd:\mssql7\data\test_data.mdf'
这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。
5. 在应用程序中定制
  可以在应用程序(PB、VB)中执行自己编写的程序,也可以在Query Analyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要时SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:
1> select ... into new_tablename where ...
2> insert (into) old_tablename select ... from ... where ...
区别是前者把数据插入一个新表(先建立表,再插入数据),后者是把数据插入已经存在的一个表中,我个人喜欢后者,因为在编程的结构上,应用的范围上,第二条语句强于前者。
6. SQL Server的复制功能
  SQL Server提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:
1>SQL Server Agent必须启动,MSDTC必须启动。
2>所有要复制的表必须有主键。
3>如果表中有text或image数据类型,必须使用with log选项,不能使用with no_log选项。
另外max text repl size选项控制可以复制的文本和图像数据的最大规模,超过这个限制的操作将失败。
4>在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$…。
5>为SQL Server代理使用的Windows NT帐号不能是一个本地的系统帐号,因为本地的系统帐号不允许网络存取。
6>如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系。

txlicenhe 2003-12-17
  • 打赏
  • 举报
回复
不行的话就重装一个SQL(当然可以考虑换在另一台服务器上装),再用刚才的数据库文件附加即可
或用备份文件恢复。
txlicenhe 2003-12-17
  • 打赏
  • 举报
回复
是不是服务没有启动啊?密码没修改吧?

管理工具->服务->MSSQLSERVER->属性->启动-->修改此处的用户和密码(与登陆操作系统的用户和密码相同)
或改为本地系统帐号

再启动该服务
txlicenhe 2003-12-17
  • 打赏
  • 举报
回复
1:不管怎样,先将数据库文件和备份文件(如果有的话)复制到另一地方再说。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧