Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stored procedures 备份数据库正在异常终止_Stored Procedures_Sql Server 2008 R2_Backup - Fatal编程技术网

Stored procedures 备份数据库正在异常终止

Stored procedures 备份数据库正在异常终止,stored-procedures,sql-server-2008-r2,backup,Stored Procedures,Sql Server 2008 R2,Backup,我有一个存储过程,它为特定数据库执行数据库备份,如下所示: ALTER PROC [dbo].[SP_Backup] @DataBaseName NVARCHAR(500) = NULL @fullPath NVARCHAR(500) OUTPUT AS BEGIN DECLARE @dbpath NVARCHAR(500); SELECT @DataBaseName = DB_NAME() SELE

我有一个存储过程,它为特定数据库执行数据库备份,如下所示:

 ALTER PROC [dbo].[SP_Backup]
    @DataBaseName NVARCHAR(500) = NULL 
    @fullPath NVARCHAR(500) OUTPUT
AS 
    BEGIN
        DECLARE @dbpath NVARCHAR(500);
            SELECT  @DataBaseName = DB_NAME()
            SELECT  @dbpath = physical_name
            FROM    sys.database_files
            WHERE   ( name = N'myDb' );
            SELECT  @fullPath = SUBSTRING(@dbpath, 0,
                                LEN(@dbpath) - CHARINDEX('\',
                                REVERSE(@dbpath)
                                + '\') + 1);
            SELECT  @fullPath = @fullPath + N'\Backups\' + @DataBaseName + N'.bak'
            BACKUP DATABASE @DataBaseName
        TO DISK = @fullPath;
    END;
问题是,它在一台服务器上工作,而在另一台服务器上不工作(两台服务器在同一台机器上。--sql 2008 r2)。我得到一个异常“备份数据库异常终止。”

备份文件夹具有相同的权限设置,如下所示:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.Server1\MSSQL\DATA\Backup
C:\Program Files\Microsoft SQL Server\MSSQL10_50.Server2\MSSQL\DATA\Backup
sql用户也一样

日志文件中包含以下信息:

Error: 18204, Severity: 16, State: 1.
BackupDiskFile::CreateMedia: Backup device 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.Server2\MSSQL\DATA\Backups\myDb.bak' failed to create. Operating system error 3(failed to retrieve text for this error. Reason: 1815).
Error: 3041, Severity: 16, State: 1.
BACKUP failed to complete the command BACKUP DATABASE myDb. Check the backup application log for detailed messages.

原因可能是什么?

您可以尝试检查实例


创建文件夹时出现问题

SELECT  @fullPath = @fullPath + N'\Backups\' + @DataBaseName + N'.bak'
server1有“Backups”文件夹,sql可以在其中保存备份,但server2上没有此文件夹