Sql-Server
將 SQL Server DB 從我的筆記型電腦導出到 AWS RDS
我正在按照AWS 的本教程將目前位於我的筆記型電腦上的 SQL Server 數據庫導出到 Amazon Web Services RDS。特別是我正在嘗試生成和發布腳本嚮導,然後是批量複製。
生成的腳本如下所示:
CREATE DATABASE [Test] CONTAINMENT = NONE ON PRIMARY ( NAME = N'Datapump_Test', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Datapump_Test.mdf' , SIZE = 1127424KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'Datapump_Test_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Datapump_Test_log.ldf' , SIZE = 2160960KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) GO
所以我的問題是這些路徑(即
C:\.....
行)是什麼,它們是否指向我筆記型電腦上的文件?如果是這樣,當我在 RDS DB 上執行此腳本時是否應該更改它們?我發現如果我把它們留在那裡會出錯,但是如果我在 SSMS 中手動創建數據庫,然後註釋掉這些行並執行腳本,我仍然會遇到很多錯誤,但它確實會創建所有表模式、使用者和索引等等……這是正確的方法嗎?如果是這樣,我上面發布的連結沒有提到這一點似乎很奇怪。這讓我覺得我做錯了什麼。有人對此事有任何見解嗎?
生成的腳本中的路徑是數據和日誌文件應該在您的筆記型電腦上的位置。
如果您將腳本複制粘貼到 amazon AWS,這將是您創建數據庫時創建文件的位置。
如果 Amazon 實例上不存在該路徑,您將收到錯誤消息。
您可以註釋掉這些行,然後文件將在實例的預設位置創建,具有預設大小和從數據庫名稱生成的文件名。
CREATE DATABASE [Test] CONTAINMENT = NONE /* ON PRIMARY ( NAME = N'Datapump_Test', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Datapump_Test.mdf' , SIZE = 1127424KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'Datapump_Test_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Datapump_Test_log.ldf' , SIZE = 2160960KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)*/ GO
正如您指出的其他一些錯誤與角色和權限等內容有關,有一個高級設置對話框,您可以在其中更改一些選項,您還可以選擇要編寫腳本的對象(例如使用者)
有關嚮導的概述,請參閱此連結如何:生成腳本 (SQL Server Management Studio) 。
例如,如果您在此頁面中選擇“選擇特定選項”,您可以取消選擇“使用者”
在下一頁上,您可以點擊高級按鈕
這將打開一個包含更多選項的對話框,允許編寫諸如權限和触發器之類的腳本之類的東西。