2013-07-10 25 views
8

Chcę, aby poniższe porównanie nie wykazało różnicy. Według MSDN (patrz krok 7), powinna istnieć dostępna funkcja zmiennej SQLCMD Zmienna, której nie mogę znaleźć. Ta dokumentacja dotyczy SQL 2010, ale używam 2012. Nie istnieje wersja 2012 dokumentacji dostępnej na tej stronie.Zmienne SQLCMD i schemat SSDT porównaj numer

Jak mogę określić wartość $(DatabaseName), aby to porównanie działało? Mam już wartość określoną w moich ustawieniach projektu bazy danych.

SQL Schema Compare

+0

Nie sądzę, że można to zrobić między projektem a żywą bazą danych. Nawet ta strona wydaje się wskazywać na to: "Można tylko określić zmienne SQLCMD podczas porównywania dwóch projektów" Co się stanie, jeśli wygenerujesz skrypt w celu aktualizacji bazy danych? –

+0

Ponadto, jeśli dotyczy to tabeli, która jest lokalna w bazie danych, dlaczego podajesz nazwę bazy danych? Po prostu użyj "dbo.ClaimProvider" i powinieneś wszystko ustawić. Wiem, że jest inaczej dla kwerend między bazami danych, ale nie wydaje się, że przechodzenie przez baz danych. –

+0

@PeterSchott Zrobiłem wiele połączeń między bazami danych, więc wygląda ładniej, gdy wszystkie nazwy są spójne zamiast przełączania między 3 i 2 nazwami części. –

Odpowiedz

3

Można to obejść przez schematu porównując swoją bazę rozwojową , zamiast projektu, na żywo bazy danych. Pamiętaj, że najpierw musisz wdrożyć projekt w swojej bazie danych programistycznych.

FYI - Fakt, że zmienne nie zostały zmienione, stanowi jedynie problem w oknie porównania. Zmienne nie powodują fałszywych różnic podczas porównania (innymi słowy, Schema Compare zastępuje zmienne podczas porównywania), a zmienne są zastępowane podczas aktualizacji docelowej bazy danych.

+0

Próbuję uchwycić to, co twórcy zmienili w dev bazy danych, a następnie zaktualizuj projekt. Jeśli wdrożyłem projekt do dewelopera, czy nie usunę jego zmian? –

+1

Może to być dowolny serwer używany do celów programistycznych, może nawet lokalna instancja db lub serwer współdzielony przeznaczony do porównywania schematów. – Keith

+0

LUB tu jest myśl ... dostać MS, aby naprawić błąd w ich funkcji Porównaj lol – user5855178