開始使用 - Amazon Elastic Compute Cloud

開始使用

這一節包含用於資料庫平台重建的 PowerShell 參數定義和指令碼。如需關於如何使用 PowerShell 指令碼的詳細資訊,請參閱 PowerShell

執行從 Windows 到 Linux 的 Microsoft SQL Server 平台重建助理指令碼

下列常見命令案例和範例 PowerShell 指令碼示範如何使用從 Windows 到 Linux 的 Microsoft SQL Server 資料庫平台重建助理,進行 Microsoft SQL Server 資料庫平台重建。

重要

從 Windows 到 Linux 的 Microsoft SQL Server 資料庫平台重建助理會在每次執行時,於目標執行個體上重設 SQL Server 伺服器管理員 (SA) 使用者密碼。平台重建程序完成後,您必須先設定自己的 SA 使用者密碼,才能連線到目標 SQL Server 執行個體。

語法

從 Windows 到 Linux 的 Microsoft SQL Server 資料庫平台重建助理指令碼會遵循以下範例所示的語法。

PS C:\> C:\MigrateSQLServerToEC2Linux.ps1 [[-SqlServerInstanceName] <String>] [[-DBNames]<Object[]>] [- MigrateAllDBs] [PathForBackup] <String> [-SetSourceDBModeReadOnly] [-IamInstanceProfileName] <String>[- AWSRegion] <String> [[-EC2InstanceId] <String>] [[-EC2InstanceType] <String>] [[-EC2KeyPair] <String>] [[- SubnetId] <String>] [[-AWSProfileName] <String>] [[-AWSProfileLocation] <String>] [-GeneratePresignedUrls] [<CommonParameters>]

範例 1:將資料庫移到 EC2 執行個體

以下範例顯示如何將名為 AdventureDB 的資料庫,從名為 MSSQLSERVER 的 Microsoft SQL Server 執行個體移到 Linux 上的 EC2 Microsoft SQL Server 執行個體 (執行個體 ID 為 i-024689abcdef)。要使用的備份目錄為 D:\\Backup 且 AWS 區域為 us-east-2

PS C:\> ./MigrateSQLServerToEC2Linux.ps1 - SQLServerInstanceName MSSQLSERVER -EC2InstanceId i- 024689abcdef -DBNames AdventureDB -PathForBackup D:\\Backup -AWSRegion us-east-2 - IamInstanceProfileName AmazonSSMManagedInstanceCore

範例 2:使用 AWS 登入資料描述檔將資料庫移到 EC2 執行個體

以下範例顯示如何使用 AWS 登入資料描述檔移動範例 1 中的資料庫:DBMigration

PS C:\> ./MigrateSQLServerToEC2Linux.ps1 - SQLServerInstanceName MSSQLSERVER -EC2InstanceId i- 024689abcdef -DBNames AdventureDB -PathForBackup D:\\Backup -AWSRegion us-east-2 -AWSProfileName DBMigration -IamInstanceProfileName AmazonSSMManagedInstanceCore

範例 3:將資料庫移到新的 m5.large 類型執行個體

以下範例顯示如何在 subnet-abc127 中使用金鑰對 customer-ec2-keypair 建立 m5.large 類型 EC2 Linux 執行個體,然後將 AdventureDBTestDB 從範例 1 和 2 中使用的資料庫移到新的執行個體。

PS C:\> ./MigrateSQLServerToEC2Linux.ps1 -EC2InstanceType m5.large -SubnetId subnet-abc127 -EC2KeyPair customer-ec2-keypair -DBNames AdventureDB,TestDB -PathForBackup D:\\Backup -AWSRegion us-east-2 - AWSProfileName DBMigration -IamInstanceProfileName AmazonSSMManagedInstanceCore

範例 4:將所有資料庫移到新的 m5.large 類型執行個體

以下範例顯示如何在 subnet-abc127 中使用金鑰對 customer-ec2-keypair 建立 m5.large 類型 EC2 Linux 執行個體,然後將所有資料庫從範例 1 和 2 中使用的資料庫移到此執行個體。

PS C:\> ./MigrateSQLServerToEC2Linux.ps1 -EC2InstanceType m5.large -SubnetId subnet-abc127 -EC2KeyPair customer-ec2-keypair -MigrateAllDBs -PathForBackup D:\\Backup -AWSRegion us-east-2 -AWSProfileName DBMigration -IamInstanceProfileName AmazonSSMManagedInstanceCore

參數

下列參數由 PowerShell 指令碼用來進行 Microsoft SQL Server 資料庫的平台重建。

-SqlServerInstanceName

要備份的 Microsoft SQL Server 執行個體名稱。如果未提供 SqlServerInstanceName 的值,則預設會使用 $env:ComputerName

類型:字串

必要:否

-DBNames

要備份和還原的資料庫名稱。以逗號分隔的清單形式指定資料庫名稱 (例如 adventureDB,universityDB)。輸入 DBNamesMigrateAllDBs 參數是必要參數。

類型:物件

必要:否

-MigrateAllDBs

此參數預設為停用。如果已啟用此參數,自動化會遷移系統資料庫 (master、msdb、tempdb) 以外的所有資料庫。輸入 DBNamesMigrateAllDBs 參數是必要參數。

類型:SwitchParameter

必要:否

-PathForBackup

存放完整備份的路徑。

類型:字串

必要:是

-SetSourceDBModeReadOnly

此參數預設為停用。如果已啟用此參數,則遷移期間內的資料庫會是唯讀狀態。

類型:SwitchParameter

必要:否

-IamInstanceProfileName

輸入具備許可的 AWS IAM 執行個體角色,以代表您執行 Systems Manager Automation。請參閱 AWS Systems Manager 使用者指南中的自動化入門

類型:字串

必要:是

-AWSRegion

輸入 Amazon S3 儲存貯體建立所在的 AWS 區域,以儲存資料庫備份。

類型:字串

必要:是

-EC2InstanceId

若要將 Microsoft SQL Server 資料庫還原到執行 Microsoft SQL Server Linux 的現有 EC2 執行個體,請輸入執行個體的執行個體 ID。確定 EC2 執行個體已經安裝並執行 AWS Systems Manager SSM Agent。

類型:字串

必要:否

-EC2InstanceType

若要將 Microsoft SQL Server 資料庫還原到新的 EC2 Linux 執行個體,請輸入要啟動的執行個體類型。

類型:字串

必要:否

-EC2KeyPair

若要將 Microsoft SQL Server 資料庫還原到新的 EC2 Linux 執行個體,請輸入要用來存取執行個體的 EC2 金鑰對。如果您要建立新的 EC2 Linux 執行個體,則建議使用此參數。

類型:字串

必要:否

-SubnetId

建立新的 EC2 Linux 執行個體時,需要此參數。建立新的 EC2 Linux 執行個體時,若未提供 SubnetId,則 AWS 使用者的預設子網會用於啟動 EC2 Linux 執行個體。

類型:字串

必要:否

-AWSProfileName

自動化連線到 AWS 服務時所使用的 AWS 描述檔名稱。如需必要 IAM 使用者許可的詳細資訊,請參閱 AWS Systems Manager 使用者指南中的自動化入門。如果未輸入描述檔,則自動化會使用您的預設 AWS 描述檔。

類型:字串

必要:否

-AWSProfileLocation

AWS 描述檔的位置 (如果 AWS 描述檔並未儲存於預設位置)。

類型:字串

必要:否

-GeneratePresignedUrls

只有在平台重建至非 EC2 執行個體 (例如重建至 VMware Cloud on AWS 或內部部署 VM) 時,才會使用此參數。

類型:SwitchParameter

必要:否

<CommonParameters>

此 Cmdlet 支援常見參數:VerboseDebugErrorActionErrorVariableWarningActionWarningVariableOutBufferPipelineVariableOutVariable。如需詳細資訊,請參閱 Microsoft PowerShell 文件中的關於常見參數

必要:否