2014-09-04 80 views
0

我在調試一個問題,該問題涉及將數據庫備份到目錄的SQL Server。爲什麼我無法備份到SQL Server中的目錄?

我以管理員權限運行啓動應用程序,這是在app.manifest文件中設置:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

應用程序設置的初始目錄爲默認的SQL Server備份目錄:

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup 

用戶可以更改備份目錄,並且可以鍵入它,所以類似這樣的內容:

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup 12 

然後該程序然後指示SQL使用存儲過程備份到的目錄:

BACKUP DATABASE @DatabaseName TO DISK = @FilePath WITH NAME = @BackupName 

其中:

  • @FilePath是用戶選擇
  • @BackupName目錄是YYYYMMDDHHMMSS.bak

該呼叫失敗:

操作系統錯誤5(訪問被拒絕)。

所以,我沒有使用ICACLS默認SQL Server備份目錄,在命令行上的目錄權限一番調查:話又說回來

icacls .\backup 

CREATOR OWNER:(OI)(CI)(IO)(F) 
NT AUTHORITY\SYSTEM:(OI)(CI)(F) 
BUILTIN\Administrators:(OI)(CI)(F) 
MIKE-2K8-1\SQLServerMSSQLUser$mike-2k8-1$MSSQLSERVER:(OI)(CI)(F) 

該目錄的用戶創建:

icacls .\backup 12 

BUILTIN\Administrators:(I)(F) 
CREATOR OWNER:(I)(OI)(CI)(IO)(F) 
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) 
BUILTIN\Administrators:(I)(OI)(CI)(IO)(F) 
BUILTIN\Users:(I)(OI)(CI)(RX) 
MIKE-2K8-1\SQLServerMSSQLUser$mike-2k8-1$MSSQLSERVER:(I)(OI)(CI)(RX) 

我可以看到權限是不同的SQLServerMSSQLUser根據目錄...我怎麼能改變權限?

回答

1

用戶帳戶是否在db_backupoperator組的一部分下運行BACKUP DATABASE查詢?

+0

目錄C:\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup的備份成功,但對於此目錄的完全相同的用戶失敗C:\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup 12 - 除目錄外沒有任何更改。 – user3174075 2014-09-04 17:23:47

+0

好吧,試試看: icacls「C:\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup 12」/ grant:r「SQLServerMSSQLUser $ mike-2k8-1 $ MSSQLSERVER」:(OI) (CI)(I)(RX)M – binks 2014-09-04 18:30:44

+0

是的工作......謝謝 – user3174075 2014-09-04 19:39:48

相關問題