New-AzureSqlDatabaseServerContext

Creates a server connection context.

Note

The cmdlets referenced in this documentation are for managing legacy Azure resources that use Azure Service Manager (ASM) APIs. This legacy PowerShell module isn't recommended when creating new resources since ASM is scheduled for retirement. For more information, see Azure Service Manager retirement.

The Az PowerShell module is the recommended PowerShell module for managing Azure Resource Manager (ARM) resources with PowerShell.

Syntax

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>]

Description

The New-AzureSqlDatabaseServerContext cmdlet creates an Azure SQL Database server connection context. Use SQL Server authentication to create a connection context to a SQL Database server by using the specified credentials. You can specify the SQL Database server by name, by the fully qualified name, or by URL. To obtain a credential, use the Get-Credential cmdlet that prompts you to specify the user name and password.

Use the New-AzureSqlDatabaseServerContext cmdlet with certificate based authentication to create a connection context to the specified SQL Database server by using the specified Azure subscription data. You can specify SQL Database server by name or by the fully qualified name. You can specify the subscription data as a parameter or it can be retrieved from the current Azure subscription. Use the Select-AzureSubscriptionhttps://msdn.microsoft.com/library/windowsazure/jj152833.aspx cmdlet to select the current Azure subscription.

Examples

Example 1: Create a context by using SQL Server authentication

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"

This example uses the SQL Server authentication.

The first command prompts you for server administrator credentials, and stores the credentials in the $Credential variable.

The second command connects to the SQL Database server named lpqd0zbr8y by using $Credential.

The final command creates a database named Database17 on the server that is part of the context in $Context.

Example 2: Create a context by using certificate based authentication

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

This example uses the certificate based authentication.

The first two commands assign values to the $SubscriptionId and $Thumbprint variables.

The third command gets the certificate identified by the thumbprint in $Thumbprint, and stores it in $Certificate.

The fourth command sets the subscription to be Subscription07, and the fifth command selects that subscription.

The final command creates a context in the current subscription for the server named lpqd0zbr8y.

Parameters

-Credential

Specifies a credential object that provides SQL Server authentication for you to access the server.

Type:PSCredential
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedServerName

Specifies the fully qualified domain name (FQDN) name for the Azure SQL Database server. For example, Server02.database.windows.net.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ManageUrl

Specifies the URL that this cmdlet uses to access the Azure SQL DatabaseManagement Portal for the server.

Type:Uri
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Profile

Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.

Type:AzureSMProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerName

Specifies the name of the database server.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SubscriptionName

Specifies the name of the Azure subscription that this cmdlet uses to create the connection context. If you do not specify a value for this parameter, the cmdlet uses the current subscription. Run the Select-AzureSubscription cmdlet to change the current subscription.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UseSubscription

Indicates that this cmdlet uses Azure subscription for creating the connection context.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Outputs

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

Notes

  • If you authenticate without specifying a domain, and if you use Windows PowerShell 2.0, the Get-Credential cmdlet returns a backslash (\) prepended to the username, for example, \user. Windows PowerShell 3.0 does not add the backslash. This backslash is not recognized by the Credential parameter of the New-AzureSqlDatabaseServerContext cmdlet. To remove it, use commands similar to the following:

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