Använder User Instance
betyder att SQL Server skapar en speciell kopia av den databasfilen för användning av ditt program. Om du har två olika program som använder samma anslutningssträng får de två helt olika kopior av databasen. Detta leder till mycket av förvirring, eftersom folk kommer att testa att uppdatera data med sitt program, sedan ansluta till en annan kopia av sin databas i Management Studio och klaga på att deras uppdatering inte fungerar. Detta skickar dem genom en felaktig serie av vilda gåsjaktsteg och försöker felsöka fel problem.
Den här artikeln går in mer på djupet om hur man använder den här funktionen, men följ den allra första anmärkningen:User Instance
funktionen har fasats ut . I SQL Server 2012 är de föredragna alternativen (i denna ordning, IMHO):
-
Skapa eller bifoga din databas till en riktig instans av SQL Server. Din anslutningssträng behöver då bara ange instansnamnet, databasnamnet och autentiseringsuppgifter. Det kommer inte att ske någon sammanblandning eftersom Management Studio, Visual Studio och dina program alla kommer att ansluta till en enda kopia av databasen.
-
Använd
SqlLocalDb
för lokal utveckling. Jag tror att jag pekade på den här artikeln igår:"Komma igång med SQL Server 2012 Express LocalDB." - Använd SQL Server Compact. Jag gillar det här alternativet minst eftersom funktionaliteten och syntaxen inte är samma - så det kommer inte nödvändigtvis att förse dig med all funktionalitet du i slutändan kommer att vilja distribuera. Compact Edition är också utfasad, så det finns det.
Naturligtvis om du använder en version AttachDbFileName
.
EDIT: Jag har bloggat om detta här:
- Dåliga vanor:Använder AttachDBFileName