一:SQL如何备份到异机 (转)
写成存储过程,建立作业定时备份
1. --在sql中建个映射
exec master..xp_cmdshell 'net use z: //本地计算机名或IP/本地共享文件夹的共享名 "密码" /user:远程计算机名或IP/administrator'
/*--说明:
z:是映射网络路径对应本机的盘符(可以去掉,如果去掉,则在COPY 时将z: 换成 //本地计算机名或IP/本地共享文件夹的共享名 即可。)
administrator是登陆的用户名
密码 面指定的administrator用户的密码
所使用的登陆用户对于本地共享文件夹应该有写入的权限,否则COPY时会报拒绝访问。
--*/
2.--备份;with init覆盖 | noinit添加
backup database 库名 to disk='E:/H_BACKUP.bak' with init
3.--COPY
exec master..xp_cmdshell 'copy E:/H_BACKUP.bak z:'
4.--删除(这句可以去掉)
--exec master..xp_cmdshell 'del E:/H_BACKUP.bak'
5.--完成后删除映射
exec master..xp_cmdshell 'net use z: /delete'
付:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
exec xp_cmdshell 'net user mm 123 /add' --添加一用户
exec xp_cmdshell 'net localgroup administrators mm /add' --为用户添加管理员权限
exec xp_cmdshell 'net user mm /delete' --删除一用户
二:笨方法
1. 知道远程MSSQL IP 用户名 密码。
2. 在本地MSSQL企业管器里新注册 远程数据库。
3. 将远程数据库的,用户自定义函数,用户表,存储过程,全部 生成SQL脚本 ,保存在本地。(视图不需要)
4. 在本地新建一数据库,在新建数据库中执行之前生成的SQL脚本,注意要先执行用户自定义函数的脚本,因为有可能存储过程里调用了用户自定义函数。
5. 然后在新建的数据库中用导入/导出工具,将数据导入本地的数据库。(注意:如果数据库中存在有自增的字段的表,并且该表的数据不是连续自增的,此时就不能用导入/导出工具将该表数据导入到本地数据库对应的表中)