Vinnaren i pepparkakshustävlingen!
2008-04-25, 23:39
  #1
Medlem
Hej,

jag har en .bak-fil av en SQL2000 databas från mitt webbhotell. Av denna vill jag skapa en lokal databas i SQL 2005.

Så här har jag gjort:
1. Skapat en tom databas lokalt med samma namn som databasen på webbhotellet
2. Gjort en restore där jag valt att återskapa .bak-filen i den nyskapade databasen

Så långt går allt bra, databasen finns där och all data är på plats. Men när jag sen försöker ansluta till den från en lokal webbsite så får jag felet Could not find stored procedure 'sp_xxxx'.

Stored Proceduren finns där och funkar, connectionstringen är korrekt och jag ansluter med sa-kontot. Efter att ha googlat på det så har jag kommit fram till att det är en mismatch på användare (owner?) mellan min lokala SQL Server och den på webbhotellet.

Jag har hittat många som har samma problem, ett par lösningar varav ingen funkat för mig. Nu undrar jag om någon kan tala om hur jag ska gå vidare. Ska jag göra något med användarna (har skapat nya, ändrat befintliga osv utan framgång) eller ska jag ta bort och börja om från början? Hur ska jag isåfall göra steg för steg för att få det att funka?
Citera
2008-04-26, 10:48
  #2
Medlem
gadzooxs avatar
Kod:
USE dindatabas
GO
EXEC sp_changedbowner 'John'
GO

Ett tips är väl att även skapa en roll (grupp) i din databas (din db -> security -> roles -> database roles), till vilken du ger execute-rättigheter på procedurerna. Sedan är det bara en fråga om att lägga in befintliga sql-logins (security -> logins) i din roll. Du kan då enkelt flytta runt db mellan olika servrar, rollen ligger lokalt i din db så den följer med och rättigheterna är färdigkonfigurerade.

Låt bli att köra med sa-kontot i produktion förresten, använd ett login som explicit har rättigheter på just de grejer siten skall komma åt, dvs ett login som är medlem i din grupp som i sin tur har rättigheter att köra procedurer.

Och du behöver inte skapa en tom db för att göra restore, sql fixar det åt dig om du bara högerklickar på mappen Databases -> Restore database...
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback