SSDT, Veri Katmanı Uygulama Çerçevesi (DacFX olarak da bilinir) adlı bir kütüphane tarafından desteklenmektedir. DacFX, dacpac dosyalarını ayıklamak ve yayımlamak için kullanabileceğiniz bir genel API'dir. Böyle bir dizin şey Visual Studio veya SQL Server altında Program Files DacFX bir kopyasını bulabilirsiniz:
- C: \ Program Files Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ (x86) \ SQLDB \ DAC \ 130
- C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ DAC \ bin
burada DacFX son sürümünü indirebilirsiniz: https://www.microsoft.com/en-us/download/details.aspx?id=51672
Not DacFX'i yüklediğinizde aynı zamanda Yukarıdaki indirme sayfasının Sistem Gereksinimleri bölümünde bulunan SqlSysClrTypes ve SqlDom bağımlılıklarını kurmaya çalışın.
bunu gibi
SqlPackage.exe kullanabilir, ayıklamak ve bir dacpac dosyasını yayınlamak için DacFX kullanmak için:
C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\SqlPackage.exe /a:extract /scs:"Data Source=YOURSERVER;Initial Catalog=YOURDB;Integrated Security=true" /tf:C:\temp\yourdb.dacpac
C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\SqlPackage.exe /a:publish /tcs:"Data Source=YOURSERVER;Initial Catalog=YOUROTHERDB;Integrated Security=true" /sf:C:\temp\yourdb.dacpac
Alternatif olarak, programlı Microsoft.SqlServer kullanarak DacFX kullanabilirsiniz. Dac API, bu şekilde: using Microsoft.SqlServer.Dac; class Program { static void Main(string[] args) { DacServices ds = new DacServices("Data Source=YOURSERVER;Initial Catalog=YOURDB;Integrated Security=true"); ds.Extract(@"C:\temp\yourdb.dacpac", "YOURDB", "AppName", new System.Version()); using (DacPackage dp = DacPackage.Load(@"C:\temp\yourdb.dacpac")) { ds.Deploy(dp, "YOUROTHERDB"); } } }
Microsoft.SqlServer.Dac API'sini kullanmak benim için mükemmel. Teşekkür ederim!!!! – Liv