你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzureSqlDatabaseServerContext

创建服务器连接上下文。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧式 Azure 资源。 创建新资源时,建议不要使用旧的 PowerShell 模块,因为计划将停用 ASM。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是建议用于管理 PowerShell 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。

语法

New-AzureSqlDatabaseServerContext
   -ServerName <String>
   -Credential <PSCredential>
   [-Profile <AzureSMProfile>]
   [<CommonParameters>]
New-AzureSqlDatabaseServerContext
   [-ServerName <String>]
   -ManageUrl <Uri>
   -Credential <PSCredential>
   [-Profile <AzureSMProfile>]
   [<CommonParameters>]
New-AzureSqlDatabaseServerContext
   -ServerName <String>
   [-UseSubscription]
   [-SubscriptionName <String>]
   [-Profile <AzureSMProfile>]
   [<CommonParameters>]
New-AzureSqlDatabaseServerContext
   -FullyQualifiedServerName <String>
   -Credential <PSCredential>
   [-Profile <AzureSMProfile>]
   [<CommonParameters>]
New-AzureSqlDatabaseServerContext
   -FullyQualifiedServerName <String>
   [-UseSubscription]
   [-SubscriptionName <String>]
   [-Profile <AzureSMProfile>]
   [<CommonParameters>]

说明

New-AzureSqlDatabaseServerContext cmdlet 创建Azure SQL 数据库服务器连接上下文。 使用 SQL Server 身份验证通过指定的凭据创建到SQL 数据库服务器的连接上下文。 可以按名称、完全限定名称或 URL 指定SQL 数据库服务器。 若要获取凭据,请使用提示你指定用户名和密码的 Get-Credential cmdlet。

使用具有基于证书的身份验证的 New-AzureSqlDatabaseServerContext cmdlet,使用指定的 Azure 订阅数据创建到指定SQL 数据库服务器的连接上下文。 可以按名称或完全限定的名称指定SQL 数据库服务器。 可以将订阅数据指定为参数,也可以从当前 Azure 订阅中检索该数据。 使用 Select-AzureSubscriptionhttps://msdn.microsoft.com/library/windowsazure/jj152833.aspx cmdlet 选择当前的 Azure 订阅。

示例

示例 1:使用 SQL Server 身份验证创建上下文

PS C:\> $Credential = Get-Credential
PS C:\> $Context = New-AzureSqlDatabaseServerContext -ServerName "lpqd0zbr8y" -Credential $Credential
PS C:\> $Database17 = New-AzureSqlDatabase -ConnectionContext $Context -DatabaseName "Database17" -MaxSizeGB 50 -Collation "SQL_Latin1_General_CP1_CI_AS"

此示例使用 SQL Server 身份验证。

第一个命令会提示你输入服务器管理员凭据,并将凭据存储在$Credential变量中。

第二个命令使用 $Credential 连接到名为 lpqd0zbr8y 的 SQL 数据库 服务器。

最后一个命令在服务器上创建名为 Database17 的数据库,该数据库是$Context上下文的一部分。

示例 2:使用基于证书的身份验证创建上下文

PS C:\> $SubscriptionId = <Subscription ID>
PS C:\> $Thumbprint = <Certificate Thumbprint>
PS C:\> $Certificate = Get-Item "Cert:\CurrentUser\My\$Thumbprint"
PS C:\> Set-AzureSubscription -SubscriptionName "Subscription07" -SubscriptionId $SubscriptionId -Certificate $Certificate
PS C:\> Select-AzureSubscription -SubscriptionName "Subscription07"
PS C:\> $Context = New-AzureSqlDatabaseServerContext -ServerName "lpqd0zbr8y" -UseSubscription

此示例使用基于证书的身份验证。

前两个命令将值分配给$SubscriptionId和$Thumbprint变量。

第三个命令获取$Thumbprint指纹标识的证书,并将其存储在$Certificate中。

第四个命令将订阅设置为 Subscription07,第五个命令选择该订阅。

最后一个命令在名为 lpqd0zbr8y 的服务器当前订阅中创建上下文。

参数

-Credential

指定一个凭据对象,该对象提供用于访问服务器的 SQL Server 身份验证。

类型:PSCredential
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-FullyQualifiedServerName

指定Azure SQL 数据库服务器的完全限定域名 (FQDN) 名称。 例如,Server02.database.windows.net。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ManageUrl

指定此 cmdlet 用于访问服务器的 Azure SQL 数据库Management Portal 的 URL。

类型:Uri
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Profile

指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。

类型:AzureSMProfile
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ServerName

指定数据库服务器的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SubscriptionName

指定此 cmdlet 用于创建连接上下文的 Azure 订阅的名称。 如果未为此参数指定值,则 cmdlet 将使用当前订阅。 运行 Select-AzureSubscription cmdlet 以更改当前订阅。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-UseSubscription

指示此 cmdlet 使用 Azure 订阅创建连接上下文。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

输出

Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.IServerDataServiceContext

备注

  • 如果在未指定域的情况下进行身份验证,如果使用 Windows PowerShell 2.0,则 Get-Credential cmdlet 将返回用户名前面附加的反斜杠(\),例如 \user。 Windows PowerShell 3.0 不会添加反斜杠。 New-AzureSqlDatabaseServerContext cmdlet 的 Credential 参数无法识别此反斜杠。 若要删除它,请使用类似于下面的命令:

    PS C:\\\> $Credential = Get-Credential PS C:\\\> $Credential = New-Object -TypeName 'System.Management.Automation.PSCredential' -ArgumentList $Credential.Username.Replace("\",""),$Credential.Password