局域网中有两台电脑
A为windows server 2003
B为windows server 2003
现在B上设置了一共享目录db_backup,然后在A上通过 \\ip\db_backup 不能进行访问,提示系统错误67 找不到网络名
排查方法:
1、检查A机子中的 TCP/IP 上的 NetBIOS、Computer Browser服务是否启动;
2、检查B机子中的Server、WorkStation、TCP/IP 上的 NetBIOS、Computer Browser服务是否启动,要拷贝的db_backup是否已经设置为共享文件夹
以上没有设置的项,全部设置完成后基本可以排除该问题了。(如还未解决,请查看两个机子的防火墙是否关闭)
以下附带备份传送命令:
简单模式:(在A机器中设置)
A、通过bat文件执行sql语句备份目标数据库:
sqlcmd -U 数据库名 -U 数据库用户名 -P 密码 -i d:\db_backup\backup.sql -o d:\db_backup\backup.log
上面的d:\db_backup\backup.sql 是要执行的sql语句的路径
d:\db_backup\backup.log是执行完成后的日志文件路径(方便查看结果)
下面是backuptest.sql的语句:
use 数据库名
Go
backup database 数据库名 to disk='d:\db_backup\备份的文件名.bak' with init
go
B、通过bat文件 传送数据库备份文件的具体命令:
net use m: \\ip\共享文件夹 密码 /user:用户名 /*建立两个机子的映射*/
copy d:\db_backup\要拷贝的文件 M: /*执行拷贝命令(拷贝到B机子的db_backup文件夹下)*/
net use m: /del /yes /*删除连接并拷贝那个文件到B机子*/
以上简单模式的缺点:每天的备份文件都会被第二天的覆盖掉
复杂模式:(在A机器中设置)
A、通过bat文件执行sql语句备份目标数据库:
下面是要执行的bat文件语句:
md %date:~0,10%
sqlcmd -U 数据库名 -U 用户名 -P 用户密码 -i d:\db_backup\backuptest.sql -o d:\db_backup\%date:~0,10%\backuptest.log
net use m: \\ip\db_backup 密码 /user:用户名
md M:\%date:~0,10%
xcopy d:\db_backup\%date:~0,10% M:\\%date:~0,10% /s
net use m: /del /yes
下面是backuptest.sql的语句:
use 数据库名
GO
declare @src varchar(50)
set @src='d:\db_backup\'+convert(varchar(10),getdate(),120)+'\备份的文件名.bak'
backup database 数据库名 to disk=@src with init
GO
检查以下几点:
1、能否ping通192.168.1.100
2、Server2003上D$共享是否正确(默认设置,没改过就没问题,可以新建个共享作连接测试)
3、Server2003上Server、Workstation、Computer Browser、Net logon服务是否开启
4、开始-我的电脑-右键-映射网络驱动器,作测试。
(我的是域环境,符合上述设置,用XP客户端映射2003服务器,没有问题)
z:和\\之间要有空格
找不到网络名”是你的Workstation服务未启动;目标删除了IPC$
* 和/之间要有空格