無法使用 SQL Server Management Studio 2016 將數據庫附加到 Amazon RDS
我正在嘗試將 mdf 文件附加到在 Amazon 的 RDS 服務上執行的 SQL Server 實例。使用 Microsoft SQL Server Management Studio 2016,我遵循以下步驟:
- 連接到亞馬遜實例後,我右鍵點擊
Databases
目錄並選擇Attach
.Attach Databases
對話來了- 我點擊添加按鈕以選擇本地 .mdf
- 我收到以下錯誤消息:
未能為此請求檢索數據。(Microsoft.SqlServer.Management.Sdk.Sfc)
如需幫助,請點擊: http: //go.microsoft.com/fwlink ?ProdName=Microsoft%20SQL%20Server&LinkId=20476
附加資訊:
執行 Transact-SQL 語句或批處理時發生異常。(Microsoft.SqlServer.ConnectionInfo)
對象“xp_fixeddrives”、數據庫“mssqlsystemresource”、模式“sys”的執行權限被拒絕。對象“xp_fixeddrives”、數據庫“mssqlsystemresource”、模式“sys”的執行權限被拒絕。對象“xp_fixeddrives”、數據庫“mssqlsystemresource”、模式“sys”的執行權限被拒絕。對象“xp_fixeddrives”、數據庫“mssqlsystemresource”、模式“sys”的執行權限被拒絕。(Microsoft SQL Server,錯誤:229)
我在幾個論壇上看到了這個錯誤消息,但總是在嘗試修改數據庫時(此時我相信我只是打開一個文件瀏覽器來定位 mdf)。我也試過以管理員身份執行它,但沒有運氣。我對 SQL Server 很陌生,並且在 Linux 環境中更加熟悉,所以我不排除一些明顯的事情。任何幫助,將不勝感激。
使用 Amazon RDS,您無法直接訪問底層文件系統。
如果您有想要遷移到 RDS SQL Server 的現有數據庫,而不是使用 MDF/LDF 文件,則需要進行還原。
亞馬遜恢復數據庫的說明非常好,但既然你問這個問題,我猜我可能需要向你介紹一個背景概念。還記得我說過你不能訪問文件系統嗎?好吧,您可以訪問其他文件系統,有點像映射驅動器在 Windows 中的工作方式。S3 是 Amazon 的簡單儲存服務,您可以在其中創建儲存桶並將文件放入其中。您將需要:
- 創建 S3 儲存桶
- 將您的數據庫備份(不是 MDF/LDF)放入儲存桶中
- 授予您的 RDS 實例從該 S3 儲存桶讀取的權限(這是Amazon 的說明所在)
- 使用 Amazon 的自定義儲存過程rds_restore_database恢復備份
我遇到了同樣的問題,這個解決方案在 SQL Server 2013 和 2017 中對我有用
- 開始
- 跑步
- 在執行中鍵入(services.msc)打開它
- 轉到 SQL Server (MSSQLSERVER)
- 點擊屬性 選擇登錄
- 選擇“本地系統帳戶”(預設是一些鈍的 Windows 系統帳戶)
- 停止 SQL Server (MSSQLSERVER) 然後啟動它