Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

какъв е проблемът с AttachDbFilename

Използване на User Instance означава, че SQL Server създава специално копие на този файл на базата данни за използване от вашата програма. Ако имате две различни програми, използващи същия низ за връзка, те получават две напълно различни копия на базата данни. Това води до много от объркване, тъй като хората ще тестват актуализирането на данни с програмата си, след което ще се свържат с различно копие на своята база данни в Management Studio и ще се оплакват, че актуализацията им не работи. Това ги изпраща през погрешна серия от стъпки за преследване на дива гъска, опитвайки се да отстранят грешния проблем.

Тази статия разглежда по-задълбочено как да използвате тази функция, но обърнете внимание на първата бележка:User Instance функцията е отхвърлена . В SQL Server 2012 предпочитаните алтернативи са (в този ред, IMHO):

  1. Създайте или прикачете вашата база данни към реален екземпляр на SQL Server. След това вашият низ за връзка ще трябва само да посочи името на екземпляра, името на базата данни и идентификационните данни. Няма да има объркване, тъй като Management Studio, Visual Studio и вашата програма(и) ще се свързват към едно копие на базата данни.

  2. Използвайте SqlLocalDb за местно развитие. Вярвам, че ви насочих към тази статия вчера:„Първи стъпки с SQL Server 2012 Express LocalDB.“

  3. Използвайте SQL Server Compact. Най-малко ми харесва тази опция, защото функционалността и синтаксисът не са едни и същи - така че не е задължително да ви предостави цялата функционалност, която в крайна сметка ще искате да разгърнете. Компактното издание също е остаряло, така че има и това.

Разбира се, ако използвате версия SqlLocalDb не е опция - така че трябва да създавате реална база данни и да я използвате последователно. Споменавам само опцията Compact за пълнота - мисля, че това може да бъде почти толкова лоша идея, колкото използването на AttachDbFileName .

РЕДАКТИРАНЕ: Писах в блог за това тук:

  • Лоши навици:Използване на AttachDBFileName


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка sql с невалидно име на колона

  2. Как да прехвърляте или експортирате данни от SQL Server 2005 в Excel

  3. FILE_ID() срещу FILE_IDEX() в SQL Server:Каква е разликата?

  4. Как да използвате RANK() в SQL Server

  5. Как връщате имената на колоните на таблица?