Мы используем SQL Server уровневое Данными приложение (dacpac или пакет DAC), и мне нелегко находить текущую версию базы данных.
Есть ли способ получить текущую версию с помощью любого из этих методов:
Из http://msdn.microsoft.com/en-us/ library / ee210574.aspx
Чтобы просмотреть подробную информацию о DAC, развернутом в экземпляре ядра СУБД:
Выберите меню Просмотр / обозреватель объектов .
Подключитесь к экземпляру из панели обозревателя объектов .
Выберите меню Просмотр / Сведения об обозревателе объектов .
Выберите узел сервера в обозревателе объектов , который соответствует экземпляру, а затем перейдите к узлу Management \ Data-tier Applications .
В представлении списка на верхней панели страницы сведений перечислены все DAC, развернутые в экземпляре компонента Database Engine. Выберите DAC, чтобы отобразить информацию на панели подробностей внизу страницы.
Контекстное меню узла «Приложения уровня данных» также используется для развертывания нового DAC или удаления существующего DAC.
SELECT instance_name, type_version FROM msdb.dbo.sysdac_instances
SELECT instance_name, type_version FROM master.dbo.sysdac_instances
Обратите внимание, что в DacFx 3.0 это больше не действует. См. Мой другой ответ, чтобы узнать, как это сделать.
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);
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)