MSSQL .mdf .ldf másolási probléma
2020-07-19T11:31:23+02:00
2020-07-19T14:54:03+02:00
2022-08-11T21:05:30+02:00
Tanulnijo
Sziasztok!

Segítséget szeretnék kérni a következő hibával kapcsolatban.
Létre hoztam egy lokális adatbázist, benne 3 táblával. Néha tudom futtatni a programot, de gyakran dob hibát:
Unable to copy file "C:\..\..\myDB_log.ldf"  to  "bin\debug\myDB_log.ldf"
The process cannot access the file "bin\debug\myDB_log.ldf" because it is being used by another process

Could not copy "C:\..\..\myDB_log.ldf"  to  "bin\debug\myDB_log.ldf" The process cannot access the file "bin\debug\myDB_log.ldf" Exceeded retry count of 10. Failed. The file is locked by: "SQL Server Windows NT - 64 Bit (15780)"

Ugyan ezt a két hibaüzenet az .mdf fileokra.

Több helyen is próbáltam utána nézni, de sehol nem találtam végleges megoldást a hibára.
Copy To Output Directory  Copy if newer -re állítva.

Connection string:

<connectionStrings>
    <add name="MyDBConStr"
         connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDB.mdf;Integrated Security=True"/>
  </connectionStrings>

Server Object Explorer -ben látom az adattáblákat, van is benne 3 sor tesztelésre.
public Frm_Main() -ben töltöttem fel  3 sor adattal, utána kommenteltem ezen sorokat, de gondolom nem erre van a hiba.
Egyszer már le töröltem a programból az .mdf .ldf file -okat és újra létre hoztam, hátha megoldja a problémát, de egy ideig működött, majd újra vissza tért a csatlakozási vagy másolási hiba.
A MyProgram mappához, amely tartalmazza az .mdf  .ldf fileokat (illetve ezen belül a bin\debug mappán belül a másik .mdf .ldf fileokat is), a properties-security -n hozzá adtam a 
SQLSERVERAGENT illetve a MSSQLSERVER teljes hozzáféréssel. (Hasonló problémánál olvastam megoldásként.) Ez sem segített.

Köszönöm, ha tudna valaki tanácsot adni, mi lehet a probléma.
Mutasd a teljes hozzászólást!
Külső meghajtón nem fog menni.
Ebben az esetben vagy kell egy server, amire felteszed az MSSQL Express Edition-t, és erre kapcsolódik mindkét gépen az alkalmazás, vagy az egyik klienst kinevezed 'server'-nek, de ennek akkor mindig futnia kell, hogy a másik gépről is tudj rá csatlakozni. Ez utóbbi nem túl szép megoldás, de működhet.
Mutasd a teljes hozzászólást!

  • Kiegészítésként. Frissítettem az adatbázis, futtattam a programot, nem dobott hibát,. Ránéztem utána a tábla adatokra és el tűnt a 3 sor adat, amit korábban be töltöttem...
    Mutasd a teljes hozzászólást!
  • Valószínűleg fut a gépeden egy MSSQL server, ahova fel van attach-olva az mdf file, és ezt a service kizárólagosra nyitja meg, ezért nem tudod lokális DB-ként megnyitni.
    Két dolgot tehetsz:
    1. Lecseréled a connection stringet olyanra, amelyik a DB serverhez kapcsolódik (connectionstrings.com-on találsz rá példákat).
    2. detach-olod az MSSQL serverről a DB-t, akkor az 'elengedi', igy tudsz hozzá lokálisan csatlakozni. Csak ebben az esetben, ha bele akarsz nézni, akkor mindig az elején attach a serveren, nézegetés, detach a serveren, fejlesztés.
    Mutasd a teljes hozzászólást!
  • Köszönöm szépen!
    Utána nézek és jelzem, ha sikerült megoldanom!
    Mutasd a teljes hozzászólást!
  • Még egy kérdésem lenne, ha nem gond.
    A programot majd unokatesóm úgy szeretné használni, hogy az adatbázis egy külső meghajtón lenne, mert két gépen is dolgozna rajta. Olvastam, ha jól emlékszem, hogy külső meghajtón nem lehet használni lokális adatbázist. Van rá megoldás, vagy használjak másik adatbázist. Én külső ssd -re gondoltam, hogy olyat vegyen majd. Azzal működne? Vagy lenne valamilyen egyszerű megoldás az adatfile -ok "cipelésére" az asztali és a laptop között?
    Köszönöm!
    Mutasd a teljes hozzászólást!
  • Külső meghajtón nem fog menni.
    Ebben az esetben vagy kell egy server, amire felteszed az MSSQL Express Edition-t, és erre kapcsolódik mindkét gépen az alkalmazás, vagy az egyik klienst kinevezed 'server'-nek, de ennek akkor mindig futnia kell, hogy a másik gépről is tudj rá csatlakozni. Ez utóbbi nem túl szép megoldás, de működhet.
    Mutasd a teljes hozzászólást!
  • Köszönöm!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd