SQL Server nu este configurat pentru accesul la date (Programare, Sql, Server Sql, Tsql, Vb6)

Jack Njiri a intrebat.

Rulez o bază de date SQL Server 2005 dintr-o aplicație VB 6. Mă conectez la baza de date prin intermediul unui DSN ODBC.

Am redenumit calculatorul pe care rulează instanța implicită a SQL Server din „Software” în „IT”. Apoi am rulat aplicația sp_dropserver și sp_addserver proceduri stocate pentru a redenumi instanța.

La repornirea serviciului SQL Server, serverul a reușit să preia noul nume SQL Server.

După ce am configurat numele sursei de date ODBC cu noul nume, conexiunea a fost OK. Sunt capabil să îmi rulez aplicația și să citesc înregistrări prin seturile de înregistrări ADO. Cu toate acestea, nu reușesc să actualizez niciun set de înregistrări folosind aplicația .Update metoda . În schimb, primesc următoarea eroare … SQL Server not configured for data access

Cum pot activa accesul la date pe instanța de server redenumită?

6 răspunsuri
gbn

Cum să: Redenumirea unui computer care găzduiește o instanță de sine stătătoare a SQL Server 2005

Ar trebui să puteți rula acest lucru, dar nu și împotriva oricărui server asociat. Nu este un server legat. Este local.

EXEC sp_serveroption 'YourServer', 'DATA ACCESS', TRUE

Comentarii

  • Acest lucru expune serverul la injecții SQL sau la alte probleme de securitate? –  > Por Fandango68.
  • nu funcționează dacă procedura stocată utilizează SQL dinamic –  > Por Tone Škoda.
Ljuba Buinjac

Doar du-te la proprietățile serverului legat > Server options > Data access –> true

Funcționează pe SQL Server 2014.

Salutări

Comentarii

  • „thrue” ar trebui să fie „true” ? Poate editează cineva răspunsul? –  > Por qxotk.
Piotr Rodak

Această postare este destul de veche, dar poate că cineva va da peste ea.Am scris un post pe blog despre această opțiune, care poate fi setată pe serverele locale și pe cele legate.

Marcello Miorelli

Aș dori doar să adaug la răspunsurile anterioare că, cel puțin în cazul meu aici, am avut nevoie să activez accesul la date în ambele locuri.

de exemplu:

există un server A și un server B

Pe serverul AI am un server legat LB care mă leagă de serverul A la serverul B

Trebuie să execut următoarele:

— pe serverul A

exec sp_serveroption 'LB', 'data access', 'true'

— pe serverul B

exec sp_serveroption 'B', 'data access', 'true'

Neil P

Tocmai am dat peste această eroare și am descoperit că a fost cauzată de faptul că am încercat să execut OpenQuery pe serverul local (doh!). Schimbarea numelui serverului cu cel al unui server real legat mi-a rezolvat problema.

Comentarii

  • O soluție mai bună ar fi să nu folosiți OpenQuery atunci când nu este nevoie. –  > Por mrdenny.
user2991005

cu această utilizare master

exec sp_serveroption 'server name', 'data access', 'true'

go 

serverele legate generate pentru replicare prezintă în continuare aceeași eroare