2017-02-21 22 views
0

我通過運行PowerShell腳本從.bak文件恢復數據庫。今天,當我試圖用「Reports」檢查數據庫時,我發現它已被禁用。見截圖:在SQL Server中禁用數據庫報告選項

enter image description here

不太清楚是否有什麼毛病我來恢復數據庫的腳本,但在這裏它是:

$restoredDbName = "dbx" 

[string] $dbCommand = "RESTORE DATABASE [$($restoredDbName)] " + 
        "FROM DISK = N'$($bakFilePath)' " + 
        "WITH FILE = 1," + 
        "MOVE N'$($fileLogicalName)' TO  N'$($restorePathD)\$($restoredDbName).mdf'," + 
        "MOVE N'$($fileLogicalName)_Log' TO N'$($restorePathD)\$($restoredDbName)_Log.ldf'," 

if($bakFilename.Contains("xyz")) { 
    $dbCommand += "MOVE N'abc' TO N'$($restorePathD)\$($restoredDbName).ndf'," 
} 

$dbCommand += "NOUNLOAD, REPLACE, STATS = 1" 
+0

你是否確實沒有權限問題?您是否嘗試使用具有系統管理員權限('sa')的用戶連接到服務器以檢查問題是否仍然存在? –

+0

我試過'sa',但仍然不能正常工作... – user1888955

+0

您使用的是什麼版本的SSMS? – supergrady

回答

0

幾件事情要嘗試:

它可能是未正確安裝的IIS角色。 常見HTTP功能(選) 應用程序開發(ASP選擇.NET) 安全性(Windows身份驗證)

這可能是因爲SSMS不運行作爲管理員「以管理員身份運行」在SSMS IE右鍵圖標或菜單選項,並選擇「以管理員身份運行」。試試這個。

我確定它不是PowerShell腳本。 另外,我在PowerShell腳本中看到了一些SQL問題。這是我用於恢復數據庫的goto腳本。

$DBName="RestoreDB" 
$fileLogicalName_DATA="XYZ" 
$fileLogicalName_LOG="XYZ_LOG" 
$backupFilePath="D:\RestoreDB.bak" 
$Datafilepath="D:\DataStore" #Do not add the trailing \ 
$Logfilepath="D:\LogStore" #Do not add the trailing \ 
$dbCommand = "use [master];RESTORE DATABASE [$DBName] " + "FROM DISK = N'$backupFilePath'" + "WITH FILE = 1, NOUNLOAD, STATS = 10, " + "move '$fileLogicalName_DATA' to '$Datafilepath" + "\" + "$DBName" + "_data.mdf', " + "move '$fileLogicalName_LOG' to '$Logfilepath" + "\" + "$DBName" + "_log.ldf';" + "alter database [$DBName] modify file (name=N'$fileLogicalName_DATA', newname=N'$DBName" + "_data');" + "alter database [$DBName] modify file (name=N'$fileLogicalName_LOG', newname=N'$DBName" + "_log');" + "alter database [$DBName] set read_committed_snapshot on with rollback immediate;" + "alter database [$DBName] set COMPATIBILITY_LEVEL = 100;" 
sqlcmd -S $DBServerName -E -Q $dbCommand -r0 
+0

對不起,我試圖運行它作爲管理員,但不工作... – user1888955

+0

我已經添加IIS。看看是否安裝正確。 SSMS有時會遇到問題。 –

+0

是的,IIS安裝好了,它一直運行良好。我感到很好奇的是,我恢復了另一個SQL服務器上的bak,然後它出現了。不太清楚老年人有什麼問題... – user1888955