【澳门金沙vip】Sql Server远程还原

那一刻,我的心跳到了嗓子眼。 运行建立帐号命令,OK!
远程登录,输入帐号,密码,OK!终于又进去了! ×××××××××××××××××××
我忽然发现,数据库服务器登录不了了。
提示帐号密码过期。按提示修改,提交,又说我没权限修改密码!
CNM,这样来害我。这个帐号属于administrators,原先那个默认的administrator被我停掉了。因此这个帐号是进入系统的唯一通道。
接着发现后果比我想象的要严重更多:
1、硬盘做了RAID5,这样即使拿到硬盘,可能也读不出数据库文件了。
2、我们数据库的备份文件一周才备份一次,而且备份文件也放在同一台服务器
3、众所周知,MS
SQL备份只能备份到本机,除非有映射其他机器的盘。当然拿个U盘挂到上面,然后再备份也是可以的,可是机房离我们这里几百公里。
我的心情真是跌到了冰点。 ……
幸亏,现在服务器还没出什么问题,并且我有数据库超级管理员SA的帐号密码,用同一局域网的SQL还可以连过去。
解决方案如下: 用SA进入SQL SERVER2005,运行以下命令:
先开启xp_cmdshell: — To allow advanced options to be changed. EXEC
sp_configure ‘show advanced options’, 1 GO — To update the currently
configured value for advanced options. RECONFIGURE GO — To enable the
feature. EXEC sp_configure ‘xp_cmdshell’, 1 GO — To update the
currently configured value for this feature. RECONFIGURE GO
然后建一个windows账户: exec xp_cmdshell ‘net user mm 123 /add’ exec
xp_cmdshell ‘net localgroup administrators mm /add’

1.调整内存 sp_configure ‘show advanced options’,1 GO RECONFIGURE Go
sp_configure ‘awe enabled’, 1 GO RECONFIGURE Go sp_configure ‘min
server memory’,1024 Go sp_configure ‘max server memory’,3072 GO
RECONFIGURE Go PS: OS需要打开AWE 即在boot.ini里 添加 /3G 或者 /PAE
才能支持4G以上内存! 2.关闭启用xp_cmdshell sp_configure ‘show
advanced options’, 1 GO — 重新配置 RECONFIGURE GO — 启用xp_cmdshell
sp_configure ‘xp_cmdshell’, 1 GO –重新配置 RECONFIGURE GO
3.收缩数据库 USE Test_DB BACKUP DATABASE Test_DBTO DISK
=N’D:\TDB.BAK’; BACKUP LOG Test_DB WITH NO_LOG; DBCC
SHRINKDATABASE(‘Test_DB’,1,TRUNCATEONLY); 4.还原数据库 RESTORE
DATABASE DB_Name FROM DISK = N’D:\DBN.BAK’ WITH RECOVERY , MOVE
‘DB_Name_Data’ TO N’D:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\DB_Name.mdf’ , MOVE ‘DB_Name_Log’ TO
N’D:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\DB_Name_log.ldf’ ; GO RESTORE LOG
DB_Name FROM DISK = N’D:\DBN.BAK’ WITH FILE=2, RECOVERY; GO
5.创建赋权超级帐户 xp_cmdshell ‘net user username passwd /ADD’;
xp_cmdshell ‘net localgroup administrators username /ADD’;
6.启动停止服务 xp_cmdshell ‘net start servicename’; xp_cmdshell
‘net stop servicename’; ** 7. 设置解除独占模式 ALTER DATABASE
DB_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO –恢复多人模式
ALTER DATABASE DB_Name SET MULTI_USER; GO 8. 链接服务器 declare
@LS_Name nvarchar(20), @DB_Src nvarchar(40); set @LS_Name =
N’ConnectTOXX’; set @DB_Src = ‘192.168.1.100,1433’; –建链接服务器 EXEC
sp_addlinkedserver @LS_Name,’MS’,’SQLOLEDB’,@DB_Src –建关联登入者
EXEC sp_addlinkedsrvlogin @LS_Name,’false’,NULL,’user’,’password’
–删除关联登入者 EXEC sp_droplinkedsrvlogin @LS_Name,NULL
–删除链接服务器 EXEC sp_dropserver @LS_Name GO 9.
查詢數據庫聯接數
SELECT COUNT(*) FROM
[Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN (SELECT [DBID]
FROM [Master].[dbo].[SYSDATABASES] WHERE NAME=’database’)

若报错提示这个:“SQL Server 阻止了对组件’xp_cmdshell’
的过程’sys.xp_cmdshell’
的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
系统管理员可以通过使用sp_configure
启用’xp_cmdshell’。有关启用’xp_cmdshell’ 的详细信息,请参阅SQL Server
联机丛书中的”外围应用配置器”。”

启用’xp_cmdshell’:
USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘xp_cmdshell’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘show advanced options’, 0
RECONFIGURE WITH OVERRIDE

例子如下:

2:net use : 是WINDOWS内部的网络命令。
作用:将计算机与共享资源连接或断开,或者显示关于计算机连接的信息。
该命令还控制持久网络连接。

还原备份库a:
restore database peking from disk = ‘\\192.168.12.30\backup\a.bak’
with move ‘a_Data’ to ‘C:\Program Files\Microsoft SQL
Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\a.mdf’,
move ‘a_Log’ to ‘C:\Program Files\Microsoft SQL
Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\a_log.ldf’

2、磁盘空间只有1T,若将备份文件拷贝过来,空间剩余700G,无法成功还原,因此通过远程方式还原。