Creazione e aggiornamento delle statistiche
In SMO le informazioni statistiche sull'elaborazione di query nel database possono essere raccolte tramite l'oggetto Statistic.
È possibile creare statistiche per qualsiasi colonna tramite gli oggetti Statistic e StatisticColumn. Il metodo Update può essere eseguito per aggiornare le statistiche nell'oggetto Statistic. I risultati possono essere visualizzati in Query Optimizer.
Esempio
Per utilizzare qualsiasi esempio di codice fornito, è necessario scegliere l'ambiente, il modello e il linguaggio di programmazione per la creazione dell'applicazione. Per ulteriori informazioni, vedere Procedura: Creazione di un progetto Visual Basic SMO in Visual Studio .NET o Procedura: Creazione di un progetto Visual C# SMO in Visual Studio .NET.
Creazione e aggiornamento di statistiche in Visual Basic
In questo esempio di codice viene creata una nuova tabella in un database esistente per il quale vengono creati gli oggetti Statistic e StatisticColumn.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'Reference the CreditCard table.
Dim tb As Table
tb = db.Tables("CreditCard", "Sales")
'Define a Statistic object by supplying the parent table and name arguments in the constructor.
Dim stat As Statistic
stat = New Statistic(tb, "Test_Statistics")
'Define a StatisticColumn object variable for the CardType column and add to the Statistic object variable.
Dim statcol As StatisticColumn
statcol = New StatisticColumn(stat, "CardType")
stat.StatisticColumns.Add(statcol)
'Create the statistic counter on the instance of SQL Server.
stat.Create()
Creazione e aggiornamento di statistiche in Visual C#
In questo esempio di codice viene creata una nuova tabella in un database esistente per il quale vengono creati gli oggetti Statistic e StatisticColumn.
{
//Connect to the local, default instance of SQL Server.
Server srv = new Server();
//Reference the AdventureWorks2008R2 database.
Database db = default(Database);
db = srv.Databases["AdventureWorks2008R2"];
//Reference the CreditCard table.
Table tb = db.Tables["CreditCard", "Sales"];
//Define a Statistic object by supplying the parent table and name
//arguments in the constructor.
Statistic stat = default(Statistic);
stat = new Statistic(tb, "Test_Statistics");
//Define a StatisticColumn object variable for the CardType column
//and add to the Statistic object variable.
StatisticColumn statcol = default(StatisticColumn);
statcol = new StatisticColumn(stat, "CardType");
stat.StatisticColumns.Add(statcol);
//Create the statistic counter on the instance of SQL Server.
stat.Create();
}
Creazione e aggiornamento di statistiche in PowerShell
In questo esempio di codice viene creata una nuova tabella in un database esistente per il quale vengono creati gli oggetti Statistic e StatisticColumn.
# Example of implementing a full text search on the default instance.
# Set the path context to the local, default instance of SQL Server and database tables
CD \sql\localhost\default\databases
$db = get-item AdventureWorks2008R2
CD AdventureWorks2008R2\tables
#Get a reference to the table
$tb = get-item Production.ProductCategory
# Define a FullTextCatalog object variable by specifying the parent database and name arguments in the constructor.
$ftc = New-Object -TypeName Microsoft.SqlServer.Management.SMO.FullTextCatalog -argumentlist $db, "Test_Catalog2"
$ftc.IsDefault = $true
# Create the Full Text Search catalog on the instance of SQL Server.
$ftc.Create()
# Define a FullTextIndex object variable by supplying the parent table argument in the constructor.
$fti = New-Object -TypeName Microsoft.SqlServer.Management.SMO.FullTextIndex -argumentlist $tb
# Define a FullTextIndexColumn object variable by supplying the parent index
# and column name arguments in the constructor.
$ftic = New-Object -TypeName Microsoft.SqlServer.Management.SMO.FullTextIndexColumn -argumentlist $fti, "Name"
# Add the indexed column to the index.
$fti.IndexedColumns.Add($ftic)
# Set change tracking
$fti.ChangeTracking = [Microsoft.SqlServer.Management.SMO.ChangeTracking]::Automatic
# Specify the unique index on the table that is required by the Full Text Search index.
$fti.UniqueIndexName = "AK_ProductCategory_Name"
# Specify the catalog associated with the index.
$fti.CatalogName = "Test_Catalog2"
# Create the Full Text Search Index
$fti.Create()