我有一個存儲過程,這對於一個特定的數據庫這樣進行數據庫備份:BACKUP DATABASE正在異常終止
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)。我得到異常「BACKUP DATABASE異常終止」。
備份文件夾具有相同的權限設置,都是這樣的:
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.
可能是什麼原因呢?