Progettare il primo database SQL di AzureDesign your first Azure SQL database

Il database SQL di Azure è un database relazionale distribuito come servizio, ovvero DBaaS, in Microsoft Cloud (Azure).Azure SQL Database is a relational database-as-a service (DBaaS) in the Microsoft Cloud (Azure). Questa esercitazione illustra come usare il portale di Azure e SQL Server Management Studio (SSMS) per le operazioni seguenti:In this tutorial, you learn how to use the Azure portal and SQL Server Management Studio (SSMS) to:

  • Creare un database nel portale di AzureCreate a database in the Azure portal
  • Impostare una regola del firewall a livello di server nel portale di AzureSet up a server-level firewall rule in the Azure portal
  • Connettersi al database con SSMSConnect to the database with SSMS
  • Creare tabelle con SQL Server Management StudioCreate tables with SSMS
  • Eseguire il caricamento bulk dei dati con BCPBulk load data with BCP
  • Eseguire una query su quei dati con SQL Server Management StudioQuery that data with SSMS
  • Ripristinare il database a un ripristino temporizzato con il portale di AzureRestore the database to a previous point in time restore in the Azure portal

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

PrerequisitiPrerequisites

Per completare questa esercitazione, accertarsi di avere installato:To complete this tutorial, make sure you have installed:

Accedere al Portale di Azure.Log in to the Azure portal

Accedere al Portale di Azure.Log in to the Azure portal.

Creare un database SQL vuotoCreate a blank SQL database

Un database SQL di Azure viene creato con un set definito di risorse di calcolo e di archiviazione.An Azure SQL database is created with a defined set of compute and storage resources. Il database viene creato in un gruppo di risorse di Azure e in un server logico di database SQL di Azure.The database is created within an Azure resource group and in an Azure SQL Database logical server.

Per creare un database SQL vuoto, attenersi alla procedura seguente.Follow these steps to create a blank SQL database.

  1. Fare clic sul pulsante Nuovo nell'angolo superiore sinistro del portale di Azure.Click the New button found on the upper left-hand corner of the Azure portal.

  2. Selezionare Database dalla pagina Nuovo, quindi selezionare Crea in Database SQL nella pagina Nuovo.Select Databases from the New page, and select Create under SQL Database on the New page.

    creare database vuoto

  3. Compilare il modulo Database SQL con le informazioni seguenti, come illustrato nell'immagine precedente:Fill out the SQL Database form with the following information, as shown on the preceding image:

    ImpostazioneSetting       Valore consigliatoSuggested value DescrizioneDescription
    Database name (Nome database)Database name mySampleDatabasemySampleDatabase Per i nomi di database validi, vedere Database Identifiers (Identificatori di database).For valid database names, see Database Identifiers.
    SottoscrizioneSubscription Sottoscrizione in usoYour subscription Per informazioni dettagliate sulle sottoscrizioni, vedere Subscriptions (Sottoscrizioni).For details about your subscriptions, see Subscriptions.
    Gruppo di risorseResource group myResourceGroupmyResourceGroup Per i nomi di gruppi di risorse validi, vedere Naming rules and restrictions (Regole di denominazione e restrizioni).For valid resource group names, see Naming rules and restrictions.
    Select source (Seleziona origine)Select source Database vuotoBlank database Indica che deve essere creato un database vuoto.Specifies that a blank database should be created.
  4. Fare clic su Server per creare e configurare un nuovo server per il nuovo database.Click Server to create and configure a new server for your new database. Compilare il modulo del nuovo server con le informazioni seguenti:Fill out the New server form with the following information:

    ImpostazioneSetting       Valore consigliatoSuggested value DescrizioneDescription
    Server name (Nome server)Server name Qualsiasi nome globalmente univocoAny globally unique name Per i nomi di server validi, vedere Naming rules and restrictions (Regole di denominazione e restrizioni).For valid server names, see Naming rules and restrictions.
    Nome di accesso amministratore serverServer admin login Qualsiasi nome validoAny valid name Per i nomi di accesso validi, vedere Database Identifiers (Identificatori di database).For valid login names, see Database Identifiers.
    PasswordPassword Qualsiasi password validaAny valid password La password deve contenere almeno otto caratteri delle tre categorie seguenti: maiuscole, minuscole, numeri e caratteri non alfanumerici.Your password must have at least eight characters and must contain characters from three of the following categories: upper case characters, lower case characters, numbers, and non-alphanumeric characters.
    PosizioneLocation Qualsiasi località validaAny valid location Per informazioni sulle aree, vedere Aree di Azure.For information about regions, see Azure Regions.

    Creare il server di database

  5. Fare clic su Seleziona.Click Select.

  6. Fare clic su Piano tariffario per specificare il livello di servizio, il numero di DTU e la quantità di risorse di archiviazione.Click Pricing tier to specify the service tier, the number of DTUs, and the amount of storage. Esplorare le opzioni relative al numero di DTU e di risorse di archiviazione disponibile per ogni livello di servizio.Explore the options for the number of DTUs and storage that is available to you for each service tier.

  7. Per questa esercitazione selezionare il livello di servizio Standard e quindi usare il dispositivo di scorrimento per selezionare 100 DTU (S3) e 400 GB di archiviazione.For this tutorial, select the Standard service tier and then use the slider to select 100 DTUs (S3) and 400 GB of storage.

    Creare il database s1

  8. Accettare le condizioni dell'anteprima per usare l'opzione Spazio di archiviazione aggiuntivo.Accept the preview terms to use the Add-on Storage option.

    Importante

    * Le dimensioni di archiviazione superiori alla quantità di risorse di archiviazione incluse sono disponibili in anteprima e vengono applicati costi aggiuntivi.* Storage sizes greater than the amount of included storage are in preview and extra costs apply. Per ulteriori informazioni, vedere Database SQL Prezzi.For details, see SQL Database pricing.

    * Nel livello Premium sono attualmente disponibili più di 1 TB di risorse di archiviazione nelle aree seguenti: Stati Uniti orientali 2, Stati Uniti occidentali, US Gov Virginia, Europa occidentale, Germania centrale, Asia sud-orientale, Giappone orientale, Australia orientale, Canada centrale e Canada orientale.* In the Premium tier, more than 1 TB of storage is currently available in the following regions: US East2, West US, US Gov Virginia, West Europe, Germany Central, South East Asia, Japan East, Australia East, Canada Central, and Canada East. Vedere Limitazioni correnti per P11-P15.See P11-P15 Current Limitations.

  9. Dopo la selezione del livello di servizio, del numero di DTU e della quantità di risorse di archiviazione, fare clic su Applica.After selecting the server tier, the number of DTUs, and the amount of storage, click Apply.

  10. Selezionare regole di confronto per il database vuoto. Per questa esercitazione usare il valore predefinito.Select a collation for the blank database (for this tutorial, use the default value). Per altre informazioni sulle regole di confronto, vedere Collations (Regole di confronto)For more information about collations, see Collations

  11. Dopo aver completato il modulo del database SQL, fare clic su Crea per effettuare il provisioning del database.Now that you have completed the SQL Database form, click Create to provision the database. Il provisioning richiede alcuni minuti.Provisioning takes a few minutes.

  12. Sulla barra degli strumenti fare clic su Notifiche per monitorare il processo di distribuzione.On the toolbar, click Notifications to monitor the deployment process.

    notifica

Creare una regola del firewall a livello di serverCreate a server-level firewall rule

Il servizio di database SQL crea un firewall a livello di server che impedisce alle applicazioni e agli strumenti esterni di connettersi al server o ai database sul server a meno che non venga creata una regola del firewall per aprire il firewall per indirizzi IP specifici.The SQL Database service creates a firewall at the server-level that prevents external applications and tools from connecting to the server or any databases on the server unless a firewall rule is created to open the firewall for specific IP addresses. Seguire questi passaggi per creare una regola del firewall a livello di server di database SQL per l'indirizzo IP del client e abilitare la connettività esterna tramite il firewall del database SQL solo per il proprio indirizzo IP.Follow these steps to create a SQL Database server-level firewall rule for your client's IP address and enable external connectivity through the SQL Database firewall for your IP address only.

Nota

Il database SQL comunica attraverso la porta 1433.SQL Database communicates over port 1433. Se si sta tentando di connettersi da una rete aziendale, il traffico in uscita attraverso la porta 1433 potrebbe non essere autorizzato dal firewall della rete.If you are trying to connect from within a corporate network, outbound traffic over port 1433 may not be allowed by your network's firewall. In questo caso, non è possibile connettersi al server del database SQL di Azure, a meno che il reparto IT non apra la porta 1433.If so, you cannot connect to your Azure SQL Database server unless your IT department opens port 1433.

  1. Al termine della distribuzione, scegliere Database SQL dal menu a sinistra e fare clic su mySampleDatabase nella pagina Database SQL.After the deployment completes, click SQL databases from the left-hand menu and then click mySampleDatabase on the SQL databases page. Si apre la pagina di panoramica per il database che visualizza il nome completo del server, ad esempio mynewserver-20170824.database.windows.net, e offre altre opzioni di configurazione.The overview page for your database opens, showing you the fully qualified server name (such as mynewserver-20170824.database.windows.net) and provides options for further configuration.

  2. Copiare il nome completo del server per connettersi al server e ai relativi database nelle guide introduttive successive.Copy this fully qualified server name for use to connect to your server and its databases in subsequent quick starts.

    Nome del server

  3. Fare clic su Imposta firewall server sulla barra degli strumenti.Click Set server firewall on the toolbar. Si apre la pagina Impostazioni del firewall per il server del database SQL.The Firewall settings page for the SQL Database server opens.

    Regola del firewall del server

  4. Fare clic su Aggiungi IP client sulla barra degli strumenti per aggiungere l'indirizzo IP corrente a una nuova regola del firewall.Click Add client IP on the toolbar to add your current IP address to a new firewall rule. Una regola del firewall può aprire la porta 1433 per un indirizzo IP singolo o un intervallo di indirizzi IP.A firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  5. Fare clic su Salva.Click Save. Viene creata una regola del firewall a livello di server per l'indirizzo IP corrente, che apre la porta 1433 nel server logico.A server-level firewall rule is created for your current IP address opening port 1433 on the logical server.

  6. Fare clic su OK e quindi chiudere la pagina Impostazioni del firewall.Click OK and then close the Firewall settings page.

È ora possibile connettersi al server del database SQL e ai relativi database usando SQL Server Management Studio o un altro strumento di propria scelta da questo indirizzo IP, con l'account amministratore del server creato in precedenza.You can now connect to the SQL Database server and its databases using SQL Server Management Studio or another tool of your choice from this IP address using the server admin account created previously.

Importante

Per impostazione predefinita, l'accesso attraverso il firewall del database SQL è abilitato per tutti i servizi di Azure.By default, access through the SQL Database firewall is enabled for all Azure services. Selezionando NO in questa pagina permette di disabilitare tutti i servizi di Azure.Click OFF on this page to disable for all Azure services.

Informazioni di connessione SQL ServerSQL server connection information

Ottenere il nome completo del server per il server del database SQL di Azure nel portale di Azure.Get the fully qualified server name for your Azure SQL Database server in the Azure portal. Usare il nome completo del server per connettersi al server tramite SQL Server Management Studio.You use the fully qualified server name to connect to your server using SQL Server Management Studio.

  1. Accedere al Portale di Azure.Log in to the Azure portal.
  2. Scegliere Database SQL dal menu a sinistra, quindi fare clic sul database nella pagina Database SQL.Select SQL Databases from the left-hand menu, and click your database on the SQL databases page.
  3. Nel riquadro Informazioni di base della pagina del portale di Azure per il database individuare e quindi copiare il Nome server.In the Essentials pane in the Azure portal page for your database, locate and then copy the Server name.

    informazioni di connessione

Connettersi al database con SSMSConnect to the database with SSMS

Usare SQL Server Management Studio per stabilire una connessione al server del database SQL di Azure.Use SQL Server Management Studio to establish a connection to your Azure SQL Database server.

  1. Aprire SQL Server Management Studio.Open SQL Server Management Studio.

  2. Nella finestra di dialogo Connetti al server immettere le informazioni seguenti:In the Connect to Server dialog box, enter the following information:

    ImpostazioneSetting       Valore consigliatoSuggested value DescrizioneDescription
    Tipo di serverServer type Motore di databaseDatabase engine Questo valore è obbligatorioThis value is required
    Nome serverServer name Nome completo del serverThe fully qualified server name Il nome sarà simile a: mynewserver20170824.database.windows.net.The name should be something like this: mynewserver20170824.database.windows.net.
    AutenticazioneAuthentication Autenticazione di SQL ServerSQL Server Authentication L'autenticazione SQL è il solo tipo di autenticazione configurato in questa esercitazione.SQL Authentication is the only authentication type that we have configured in this tutorial.
    LoginLogin Account amministratore del serverThe server admin account Si tratta dell'account specificato quando è stato creato il server.This is the account that you specified when you created the server.
    PasswordPassword Password per l'account amministratore del serverThe password for your server admin account Si tratta della password specificata quando è stato creato il server.This is the password that you specified when you created the server.

    connetti al server

  3. Fare clic su Opzioni nella finestra di dialogo Connetti al server.Click Options in the Connect to server dialog box. Nella sezione Connetti al database immettere mySampleDatabase per connettersi a tale database.In the Connect to database section, enter mySampleDatabase to connect to this database.

    connettersi al database nel server

  4. Fare clic su Connetti.Click Connect. La finestra Esplora oggetti viene visualizzata in SSMS.The Object Explorer window opens in SSMS.

  5. In Esplora oggetti espandere Database e quindi espandere mySampleDatabase per visualizzare gli oggetti disponibili nel database di esempio.In Object Explorer, expand Databases and then expand mySampleDatabase to view the objects in the sample database.

    oggetti di database

Creare tabelle nel databaseCreate tables in the database

Creare uno schema di database con quattro tabelle che modellano un sistema di gestione degli studenti per le università tramite Transact-SQL:Create a database schema with four tables that model a student management system for universities using Transact-SQL:

  • PersonPerson
  • CorsoCourse
  • StudenteStudent
  • Accreditare quel modello come un sistema di gestione degli studenti per le universitàCredit that model a student management system for universities

Nel diagramma seguente viene illustrato come queste tabelle sono correlate tra loro.The following diagram shows how these tables are related to each other. Alcune di queste tabelle fanno riferimento a delle colonne in altre tabelle.Some of these tables reference columns in other tables. Ad esempio, la tabella Student fa riferimento alla colonna PersonId della tabella Person.For example, the Student table references the PersonId column of the Person table. Studiare il diagramma per comprendere come sono correlate tra loro le tabelle in questa esercitazione.Study the diagram to understand how the tables in this tutorial are related to one another. Per un esame approfondito su come creare tabelle di database efficaci, vedere Create effective database tables (Creare tabelle di database efficaci).For an in-depth look at how to create effective database tables, see Create effective database tables. Per informazioni sulla scelta dei tipi di dati, vedere Tipi di dati.For information about choosing data types, see Data types.

Nota

È anche possibile usare la Progettazione delle tabelle in SQL Server Management Studio per creare e progettare le tabelle.You can also use the table designer in SQL Server Management Studio to create and design your tables.

Relazioni tra tabelle

  1. In Esplora oggetti fare clic con il pulsante destro del mouse su mySampleDatabase e scegliere Nuova query.In Object Explorer, right-click mySampleDatabase and click New Query. Viene visualizzata una finestra di query vuota, connessa al database.A blank query window opens that is connected to your database.

  2. Nella finestra di query, eseguire la query seguente per creare quattro tabelle nel database:In the query window, execute the following query to create four tables in your database:

    -- Create Person table
    
    CREATE TABLE Person
    (
    PersonId   INT IDENTITY PRIMARY KEY,
    FirstName   NVARCHAR(128) NOT NULL,
    MiddelInitial NVARCHAR(10),
    LastName   NVARCHAR(128) NOT NULL,
    DateOfBirth   DATE NOT NULL
    )
    
    -- Create Student table
    
    CREATE TABLE Student
    (
    StudentId INT IDENTITY PRIMARY KEY,
    PersonId  INT REFERENCES Person (PersonId),
    Email   NVARCHAR(256)
    )
    
    -- Create Course table
    
    CREATE TABLE Course
    (
    CourseId  INT IDENTITY PRIMARY KEY,
    Name   NVARCHAR(50) NOT NULL,
    Teacher   NVARCHAR(256) NOT NULL
    ) 
    
    -- Create Credit table
    
    CREATE TABLE Credit
    (
    StudentId   INT REFERENCES Student (StudentId),
    CourseId   INT REFERENCES Course (CourseId),
    Grade   DECIMAL(5,2) CHECK (Grade <= 100.00),
    Attempt   TINYINT,
    CONSTRAINT  [UQ_studentgrades] UNIQUE CLUSTERED
    (
    StudentId, CourseId, Grade, Attempt
    )
    )
    

    Creare tabelle

  3. Espandere il nodo "tabelle" in SQL Server Management Studio Object Explorer per visualizzare le tabelle create.Expand the 'tables' node in the SQL Server Management Studio Object explorer to see the tables you created.

    tabelle create con SQL Server Management Studio

Caricare i dati nelle tabelleLoad data into the tables

  1. Creare una cartella denominata SampleTableData nella cartella download per archiviare i dati di esempio per il database.Create a folder called SampleTableData in your Downloads folder to store sample data for your database.

  2. Fare doppio clic sui seguenti collegamenti e salvarli nella cartella SampleTableData.Right-click the following links and save them into the SampleTableData folder.

  3. Aprire una finestra del prompt dei comandi e passare alla cartella SampleTableData.Open a command prompt window and navigate to the SampleTableData folder.

  4. Eseguire i comandi seguenti per inserire dei dati di esempio nelle tabelle sostituendo i valori per ServerName, DatabaseName, UserName e Password con i valori dell'ambiente.Execute the following commands to insert sample data into the tables replacing the values for ServerName, DatabaseName, UserName, and Password with the values for your environment.

    bcp Course in SampleCourseData -S <ServerName>.database.windows.net -d <DatabaseName> -U <Username> -P <password> -q -c -t ","
    bcp Person in SamplePersonData -S <ServerName>.database.windows.net -d <DatabaseName> -U <Username> -P <password> -q -c -t ","
    bcp Student in SampleStudentData -S <ServerName>.database.windows.net -d <DatabaseName> -U <Username> -P <password> -q -c -t ","
    bcp Credit in SampleCreditData -S <ServerName>.database.windows.net -d <DatabaseName> -U <Username> -P <password> -q -c -t ","
    

A questo punto, sono stati caricati i dati di esempio nelle tabelle create in precedenza.You have now loaded sample data into the tables you created earlier.

Eseguire query sui datiQuery data

Eseguire le query seguenti per recuperare informazioni dalle tabelle del database.Execute the following queries to retrieve information from the database tables. Vedere Writing SQL Queries (Scrittura di query SQL) per altre informazioni sulla scrittura di query SQL.See Writing SQL Queries to learn more about writing SQL queries. La prima query unisce tutte e quattro le tabelle per trovare tutti gli studenti a cui ha insegnato "Dominick Pope" che hanno un livello superiore al 75% nella sua classe.The first query joins all four tables to find all the students taught by 'Dominick Pope' who have a grade higher than 75% in his class. La seconda query unisce tutte e quattro le tabelle e trova tutti i corsi in cui si è registrato "Noe Coleman".The second query joins all four tables and finds all courses in which 'Noe Coleman' has ever enrolled.

  1. In una finestra di query di SQL Server Management Studio, eseguire la query seguente:In a SQL Server Management Studio query window, execute the following query:

    -- Find the students taught by Dominick Pope who have a grade higher than 75%
    
    SELECT  person.FirstName,
    person.LastName,
    course.Name,
    credit.Grade
    FROM  Person AS person
    INNER JOIN Student AS student ON person.PersonId = student.PersonId
    INNER JOIN Credit AS credit ON student.StudentId = credit.StudentId
    INNER JOIN Course AS course ON credit.CourseId = course.courseId
    WHERE course.Teacher = 'Dominick Pope' 
    AND Grade > 75
    
  2. In una finestra di query di SQL Server Management Studio, eseguire la query seguente:In a SQL Server Management Studio query window, execute following query:

    -- Find all the courses in which Noe Coleman has ever enrolled
    
    SELECT  course.Name,
    course.Teacher,
    credit.Grade
    FROM  Course AS course
    INNER JOIN Credit AS credit ON credit.CourseId = course.CourseId
    INNER JOIN Student AS student ON student.StudentId = credit.StudentId
    INNER JOIN Person AS person ON person.PersonId = student.PersonId
    WHERE person.FirstName = 'Noe'
    AND person.LastName = 'Coleman'
    

Ripristinare un database a un momento precedenteRestore a database to a previous point in time

Si supponga di aver eliminato accidentalmente una tabella.Imagine you have accidentally deleted a table. Si tratta di un elemento che non è facile da ripristinare.This is something you cannot easily recover from. Il Database SQL di Azure consente di tornare in qualsiasi punto degli ultimi 35 giorni e di ripristinare questo punto nel tempo in un nuovo database.Azure SQL Database allows you to go back to any point in time in the last up to 35 days and restore this point in time to a new database. È possibile usare questo database per ripristinare i dati eliminati.You can you this database to recover your deleted data. La procedura seguente consente di ripristinare il database di esempio in un punto precedente all'aggiunta delle tabelle.The following steps restore the sample database to a point before the tables were added.

  1. Nella pagina Database SQL del database fare clic su Ripristina sulla barra degli strumenti.On the SQL Database page for your database, click Restore on the toolbar. Si apre la pagina Ripristina .The Restore page opens.

    ripristinare

  2. Compilare il modulo Ripristina con le informazioni obbligatorie:Fill out the Restore form with the required information:

    • Nome database: specificare un nome per il databaseDatabase name: Provide a database name
    • Temporizzato: Selezionare la scheda Temporizzato del modulo RipristinoPoint-in-time: Select the Point-in-time tab on the Restore form
    • Punto di ripristino: selezionare un punto nel tempo precedente alla modifica del databaseRestore point: Select a time that occurs before the database was changed
    • Server di destinazione: non è possibile modificare questo valore quando si ripristina un databaseTarget server: You cannot change this value when restoring a database
    • Pool di database elastici: selezionare NessunoElastic database pool: Select None
    • Piano tariffario: selezionare 20 DTU e 40 GB di memoria.Pricing tier: Select 20 DTUs and 40 GB of storage.

    punto di ripristino

  3. Fare clic su OK per ripristinare il database da ripristinare in un punto nel tempo precedente all'aggiunta delle tabelle.Click OK to restore the database to restore to a point in time before the tables were added. Il ripristino di un database in un altro punto nel tempo crea un duplicato del database nello stesso server del database originale nel punto nel tempo specificato, a condizione che si trovi nell'ambito del periodo di conservazione per il livello di servizio applicato.Restoring a database to a different point in time creates a duplicate database in the same server as the original database as of the point in time you specify, as long as it is within the retention period for your service tier.

Passaggi successiviNext steps

Questa esercitazione ha illustrato le attività di base che è possibile eseguire con i database, come creare database e tabelle, caricare dati, eseguire query sui dati e ripristinare un database a un momento precedente.In this tutorial, you learned basic database tasks such as create a database and tables, load and query data, and restore the database to a previous point in time. Si è appreso come:You learned how to:

  • Creare un databaseCreate a database
  • Configurare una regola del firewallSet up a firewall rule
  • Connettersi al database con SQL Server Management Studio (SSMS)Connect to the database with SQL Server Management Studio (SSMS)
  • Creare tabelleCreate tables
  • Eseguire il caricamento bulk dei datiBulk load data
  • Eseguire query sui datiQuery that data
  • Ripristinare il database a un momento precedente usando le funzionalità di ripristino temporizzato del database SQLRestore the database to a previous point in time using SQL Database point in time restore capabilities

Per informazioni sulla progettazione di un database con Visual Studio e C#, passare all'esercitazione successiva.Advance to the next tutorial to learn about designing a database using Visual Studio and C#.