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
根據目錄...我怎麼能改變權限?
目錄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
好吧,試試看: 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
是的工作......謝謝 – user3174075 2014-09-04 19:39:48