Как я нахожу текущую версию SQL Server уровневым данными приложением?

Мы используем SQL Server уровневое Данными приложение (dacpac или пакет DAC), и мне нелегко находить текущую версию базы данных.

Есть ли способ получить текущую версию с помощью любого из этих методов:

  1. Из Studio управления SQL Server
  2. Через SQL-оператор
  3. Программно использующий код.NET
11
задан Mark 27 May 2015 в 02:05
поделиться

1 ответ

Изнутри SQL Server Management Studio

Из http://msdn.microsoft.com/en-us/ library / ee210574.aspx

Чтобы просмотреть подробную информацию о DAC, развернутом в экземпляре ядра СУБД:

  1. Выберите меню Просмотр / обозреватель объектов .

  2. Подключитесь к экземпляру из панели обозревателя объектов .

  3. Выберите меню Просмотр / Сведения об обозревателе объектов .

  4. Выберите узел сервера в обозревателе объектов , который соответствует экземпляру, а затем перейдите к узлу Management \ Data-tier Applications .

  5. В представлении списка на верхней панели страницы сведений перечислены все DAC, развернутые в экземпляре компонента Database Engine. Выберите DAC, чтобы отобразить информацию на панели подробностей внизу страницы.

Контекстное меню узла «Приложения уровня данных» также используется для развертывания нового DAC или удаления существующего DAC.

С помощью оператора SQL

SELECT instance_name, type_version FROM msdb.dbo.sysdac_instances

С помощью оператора SQL в Azure

SELECT instance_name, type_version FROM master.dbo.sysdac_instances

Программно с использованием кода .NET

Обратите внимание, что в DacFx 3.0 это больше не действует. См. Мой другой ответ, чтобы узнать, как это сделать.

C #

ServerConnection serverConnection;
string databaseName;

// Establish a connection to the SQL Server instance.
using (SqlConnection sqlConnection =
    new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
{
    serverConnection = new ServerConnection(sqlConnection);
    serverConnection.Connect();

    // Assumes default database in connection string is the database we are trying to query.
    databaseName = sqlConnection.Database;
}

// Get the DAC info.
DacStore dacstore = new DacStore(serverConnection);
var dacInstance = dacstore.DacInstances[databaseName];
System.Diagnostics.Debug.Print("Database {0} has Dac pack version {1}.", databaseName, dacInstance.Type.Version);

VB.NET

Dim serverConnection As ServerConnection
Dim databaseName As String

' Establish a connection to the SQL Server instance.
Using sqlConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString)
    serverConnection = New ServerConnection(sqlConnection)
    serverConnection.Connect()

    ' Assumes default database in connection string is the database we are trying to query.
    databaseName = sqlConnection.Database
End Using

' Get the DAC info.
Dim dacstore As New DacStore(serverConnection)
Dim dacInstance = dacstore.DacInstances(databaseName)
System.Diagnostics.Debug.Print("Database {0} has Dac pack version {1}.", databaseName, dacInstance.Type.Version)
14
ответ дан 3 December 2019 в 08:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: