Sql-Server

無法使用 SQL Server Management Studio 2016 將數據庫附加到 Amazon RDS

  • May 7, 2020

我正在嘗試將 mdf 文件附加到在 Amazon 的 RDS 服務上執行的 SQL Server 實例。使用 Microsoft SQL Server Management Studio 2016,我遵循以下步驟:

  1. 連接到亞馬遜實例後,我右鍵點擊Databases目錄並選擇Attach.
  2. Attach Databases對話來了
  3. 我點擊添加按鈕以選擇本地 .mdf
  4. 我收到以下錯誤消息:

未能為此請求檢索數據。(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 中對我有用

  1. 開始
  2. 跑步
  3. 在執行中鍵入(services.msc)打開它
  4. 轉到 SQL Server (MSSQLSERVER)
  5. 點擊屬性 選擇登錄
  6. 選擇“本地系統帳戶”(預設是一些鈍的 Windows 系統帳戶)
  7. 停止 SQL Server (MSSQLSERVER) 然後啟動它

引用自:https://dba.stackexchange.com/questions/149284