sql >> Database teknologi >  >> RDS >> Sqlserver

hvad er problemet med AttachDbFilename

Brug af User Instance betyder, at SQL Server opretter en speciel kopi af databasefilen til brug for dit program. Hvis du har to forskellige programmer, der bruger den samme forbindelsesstreng, får de to helt forskellige kopier af databasen. Dette fører til en masse af forvirring, da folk vil teste at opdatere data med deres program, derefter forbinde til en anden kopi af deres database i Management Studio og klage over, at deres opdatering ikke virker. Dette sender dem gennem en række fejlbehæftede trin af vilde gåsejagt, der prøver at fejlfinde det forkerte problem.

Denne artikel går mere i dybden med, hvordan du bruger denne funktion, men vær opmærksom på den allerførste bemærkning:User Instance funktion er blevet forældet . I SQL Server 2012 er de foretrukne alternativer (i denne rækkefølge, IMHO):

  1. Opret eller vedhæft din database til en rigtig forekomst af SQL Server. Din forbindelsesstreng skal så blot angive instansnavnet, databasenavnet og legitimationsoplysninger. Der vil ikke være nogen sammenblanding, da Management Studio, Visual Studio og dine programmer alle vil oprette forbindelse til en enkelt kopi af databasen.

  2. Brug SqlLocalDb til lokal udvikling. Jeg tror, ​​jeg henviste dig til denne artikel i går:"Kom godt i gang med SQL Server 2012 Express LocalDB."

  3. Brug SQL Server Compact. Jeg kan mindst lide denne mulighed, fordi funktionaliteten og syntaksen ikke er den samme - så det vil ikke nødvendigvis give dig al den funktionalitet, du i sidste ende vil have lyst til at implementere. Compact Edition er også forældet, så der er det.

Selvfølgelig, hvis du bruger en version SqlLocalDb er ikke en mulighed - så du bør oprette en rigtig database og bruge den konsekvent. Jeg nævner kun den kompakte mulighed for fuldstændighedens skyld - jeg tror, ​​det kan være næsten lige så dårlig en idé som at bruge AttachDbFileName .

EDIT: Jeg har blogget om dette her:

  • Dårlige vaner:Brug af AttachDBFileName


  1. Kapacitetsplanlægning for MySQL og MariaDB - Dimensionering af lagerstørrelse

  2. Sådan fungerer Mod() i PostgreSQL

  3. Hvordan bruger man flere WITH-sætninger i en PostgreSQL-forespørgsel?

  4. Værdi Fejl under import af data til postgres-tabellen ved hjælp af psycopg2