Avatar billede donquichotte Nybegynder
09. september 2003 - 09:39 Der er 23 kommentarer og
1 løsning

Attach MS SQL 2000 Database

Er der nogen der ligger inde med et simpelt script der kan attache en allerede "detached" database (.MDF) på en MS SQL 2000 server.

NB. der er tale om en lokal SQL Server og der skal ikke attaches via netværk etc.
Avatar billede ocp Nybegynder
09. september 2003 - 10:18 #1
sp_attach_db @dbname N'DatabaseNavn', @filename1 = N'C:\databases\MinDatabase.mdf', @filename2 = N'C:\databases\MinDatabase.ldf'
Avatar billede ocp Nybegynder
09. september 2003 - 10:18 #2
Ups, glemte et lighedstegn:

sp_attach_db @dbname = N'DatabaseNavn', @filename1 = N'C:\databases\MinDatabase.mdf', @filename2 = N'C:\databases\MinDatabase.ldf'
Avatar billede ocp Nybegynder
09. september 2003 - 10:19 #3
100 pts er lige i overkanten for dette svar, opret et svar selv og behold 70 pts.
Avatar billede donquichotte Nybegynder
09. september 2003 - 10:26 #4
Jeg er desværre ikke den store vbscript haj, men umiddelbart synes jeg ikke dette ligner vbscript?

Hvis dette på en eller anden vis bruges i vbscript, hvordan ser det komplette script ud?

De 100pts er helt fint, jeg står akkut og skal bruge det.
Avatar billede medions Nybegynder
09. september 2003 - 12:57 #5
Dette har intet med VBScript at gøre!
Luk spm'et og opret det under Kategorioversigt->Databaser->MS SQL

//>Rune
Avatar billede donquichotte Nybegynder
09. september 2003 - 13:01 #6
Rune:
JO!
jeg efterlyser netop et VBScript det kan udføre dette. Derfor har jeg oprettet spørgsmål under VBScript...

Jeg ved man kan gøre noget med enten "AttachDBWithSingleFile" eller "AttachDB", men det er endnu ikke lykkedes mig.
Avatar billede ocp Nybegynder
09. september 2003 - 13:37 #7
Nej, det er ikke VBscript - det hedder SQL og bruges til databaser ;)

Så prøv dette:

dim cn
set cn = createobject("adodb.connection")
cn.open "dsn=mydsn;uid=sa;pwd=mypassword"

cn.execute("sp_attach_db @dbname N'DatabaseNavn', @filename1 = N'C:\databases\MinDatabase.mdf', @filename2 = N'C:\databases\MinDatabase.ldf'")

cn.close
Avatar billede donquichotte Nybegynder
09. september 2003 - 13:53 #8
Jeg tror det er det rigtige vi har fat i. Du får dine point.

Hvilken værdi skal der sættes i dsn? Jeg kan umiddelbart ikke få den til at finde datasource. Har forsøgt med LOCAL - MSSQLSERVER - DNSNAME (som sagt er jeg ikke haj til det her)

"Data source name not found and no default driver specified"
Avatar billede ocp Nybegynder
09. september 2003 - 13:57 #9
Jeg ændrer det lige fra en dsn til en connectionstring:

cn.Open "Driver={SQL Server};Server=SERVERNAME;Database=MYDB;Uid=sa;Pwd=PASSWORD;"

Du skal bare udfylde det med stort.
Avatar billede donquichotte Nybegynder
09. september 2003 - 14:03 #10
Jeg tror der er noget jeg har misforstået...
Hvorfor skal jeg logge på en Database, for at attache en database? Jeg skal vel som sådan "bare" attache?
Avatar billede ocp Nybegynder
09. september 2003 - 14:07 #11
Nej, du bliver nødt til at være logget på. Ellers kunne gud og hver mand jo smide deres databaser ind på hvilken som helst server.
Det modsvarer jo at være "logget ind" i enterprise manager eller query analyzer.
Avatar billede donquichotte Nybegynder
09. september 2003 - 14:10 #12
Linjen ser nu præcis ud som denne:

cn.open "Driver={SQL Server};Server=PC1055;Database=Master;uid=sa;pwd="

Hvor gik det galt (c:
Avatar billede ocp Nybegynder
09. september 2003 - 14:15 #13
Går det da galt? Hvilken fejlmeddelelse?
Avatar billede donquichotte Nybegynder
09. september 2003 - 14:18 #14
Den failer login for sa.
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.

sa er DBO på Master, der er ikke ikke noget PW på sa useren
Avatar billede ocp Nybegynder
09. september 2003 - 14:30 #15
Vi prøver OLEDB i stedet...

Kører den trusted eller standard security?

Standard:
"Provider=sqloledb;Data Source=PC1055;Initial Catalog=MASTER;User Id=sa;Password=;"

Trusted:
"Provider=sqloledb;Data Source=PC1055;Initial Catalog=MASTER;Integrated Security=SSPI;"
Avatar billede donquichotte Nybegynder
09. september 2003 - 14:39 #16
Jeg beklager den langsommelige process, så langt går den:

dim cn
set cn = createobject("adodb.connection")
cn.open "Provider=sqloledb;Data Source=PC1055;Initial Catalog=MASTER;Integrated Security=SSPI;"

cn.execute("sp_attach_db @dbname N'MYDB', @filename1 = N'C:\program files\microsoft sql server\mssql\MM_Data.mdf', @filename2 = N'C:\program files\microsoft sql server\mssql\MM_Log.ldf'")

cn.close

Får nu fejlen:
Line 1: Incorrect syntax near 'MYDB'
Avatar billede ocp Nybegynder
09. september 2003 - 14:50 #17
Der skal lige være et = før N'MYDB'
Avatar billede donquichotte Nybegynder
09. september 2003 - 14:52 #18
Smukt!
Tusinde Tak for hjælpen!
Avatar billede ocp Nybegynder
09. september 2003 - 14:57 #19
Det var så lidt.
Avatar billede donquichotte Nybegynder
09. september 2003 - 15:49 #20
OCP, var du evt. til at lokke til lidt yderligere assistance hvis jeg smed et par hundrede point extra i en ny tråd (c:

Det drejer sig om samme ting, blot med oprettelse af en bruger "globalt" samt på den attachede DB
Avatar billede ocp Nybegynder
09. september 2003 - 15:53 #21
Du kan få det her... 2 sekunder.
Avatar billede ocp Nybegynder
09. september 2003 - 16:04 #22
cn.execute("sp_addlogin @loginname = 'ocp', @password = 'psswrd', @defdb = 'MinDb'")
Avatar billede donquichotte Nybegynder
09. september 2003 - 16:16 #23
men hvordan sætter jeg hvilke rettigheder dette login har?

Den skal være system administrator som server role samt DBO på selve den attachede DB
Avatar billede donquichotte Nybegynder
09. september 2003 - 21:00 #24
ocp, kan du ikke lige give et svar på den nye tråd jeg har lavet. så får du pts
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester