最近折腾SQL发现出现无法打开备份,网上查了很多资料没解决到,最后自己摸索搞定了,详细过程贴出来
脚本
sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go
USE [数据库名]
GO
DBCC SHRINKDATABASE(N'数据库名', 10, TRUNCATEONLY)
GO
declare @sql varchar(500)
select @sql='\\192.168.3.253\sqlbackup\数据库名'+'_db_'+convert(varchar(10),getdate(),112) +
substring(convert(varchar(10),getdate(),108),1,2) +'.bak'
exec 数据库名.sys.xp_cmdshell 'net use Q: \\192.168.3.253\sqlbackup 123456 /user:\\192.168.19.253\administrator'
BACKUP DATABASE [数据库名] TO DISK = @sql WITH NOFORMAT, NOINIT, SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
sp_configure 'show advanced options',0
reconfigure
go
sp_configure 'xp_cmdshell',0
reconfigure
go
可以根据自己的实际情况更改。
无法打开备份设备的主要原因是数据库服务器里面的数据库服务SQLSERVER(MSSQLSERVER)是以系统本地服务来启动的。这里我们创建1个系统用户,管理-用户管理--新建用户(**)-隶属于更改前缀为sqlserver-browser-(机器名)的用户。计算机管理-服务-找到SQLSERVER(MSSQLSERVER)服务打开-登录-此账户(点击浏览-高级-立即查询-选择我们刚创建的用户并填写密码)然后重新启动SQLSERVER(MSSQLSERVER)服务,再试试就OK了
我是批处理登录的SQL,调用的脚本,批处理加到计划任务里,每天定时执行
osql -S 192.168.**.** -U sa -P -d dragondb -i d:\sqlbank\备份SQL.sql
希望大家能顺利解决自己的问题