2012-11-14 29 views
5

Visual Studio Database Project, şema karşılaştırması yaparken SQLCMD değişkenlerini ayrıştırmıyor gibi görünüyor.Visual Studio şema karşılaştırmasında bir karşılaştırma yaparken SQLCMD değişkenleri ayrıştırma seçeneği var mı?

Bütün eş

CREATE SYNONYM [dbo].[addressesExtDB] FOR [$(ExtDB)].[dbo].[addresses]; 

gibi görünüyor ama onlar veritabanından farklı olarak bildirilecektir tutun.

Doğru ayarlandığında var ExtDB 'ExtDBnn' veritabanında sonuçlanan Synonym ayarlandığında doğru 'Specify SQLCMD Variabeles...' -Ayarlar bir şema güncellemesi yaptığınızda:

CREATE SYNONYM [dbo].[addressesExtDB] FOR [ExtDBnn].[dbo].[addresses]; 

bir Yeniden karşılaştır eylemler yanlış olarak tüm kelimeler gösterir tekrar farklı. Dolayısıyla, karşılaştırma sqlcmd değişkenlerini ayrıştırmalı ve sonuçları veritabanında karşılaştırmak için kullanmalıdır. Bunu yapmak için bir seçeneği özlüyor muyum yoksa aynı sorunu yaşadın mı ve bir şekilde bir çözüm buldunuz mu?

cevap

0

Hayır, değişkenler VS'deki şema karşılaştırmasına geçmez (bunu, projeye kendi katkınızı ekleyerek doğrulayabilirsiniz).

SqlPackage.exe kullanıldığında bile, değişkenler hedefe değil yalnızca kaynağa iletilir.

Bununla yüz yüze geldiğimde, veritabanından getirilen bir .dacpac dosyasında veritabanı adı -> değişken ikamesini sonlandırdım - her şey yolunda olsa bile, oldukça kesintiye uğruyor.