Hej I enterise manager skapar du en ny server group. I listan som kommer upp där skall bl.a. dell dyka upp och genom detta kan du ansluta dig. Dell/test kan också vara en dator i ditt nätverk. Jag har bara en dator och när jag skapar en ny server group så finns ingenting att ansluta. Du nämnde att du skall ansluta från VB mot SQL-servern, stämmer det? Är det vb6, asp eller .net ? Vet du vad för konto du kan ansluta med och vad databasen heter? Nja... Det är onödigt att skapa en ny server group. Bäste herr Alf verkar inte veta riktigt hur han skall fråga och det blir ju så ibland. Antingen vill han ansluta Enterprise Manager mot databasen för att se hur den ser ut, alternativt använda vb för att ansluta mot den. Vi får avvakta svar här. (via tidigare förklaring via mail under dagen). Hej Alf! Många nyttiga råd men dessvärre fungerar inget. Men en SQLdatabas är inte en FIL, du har gjort en detatch = du har sett till att SQL Server inte längre har databasen... För att lägga in den i din Defaultinstans, så måste du i Enterprise manager göra en Attach Database. Det är då lämpligt att du kopierar databasens filer till D:\Program\Microsoft SQL Server\MSSQL\Data. Databasen består av två (minst) filer som heter .mdf och .ldf. Se till att du får med dig båda. Lite mer förstår jag men inte allt. Du skall då kunna högerklicka på Microsoft SQL Servers och där välja New Registration. Under Microsoft SQL Servers finns iunet sånt val. Bara New SQL Server Group. Om databaserna är tomma, så finns det ingenting i dem, om däremot foldern "Databases" är tom, så betyder det att du inte har några databaser i din instans. Tackar, jag håller med dig. Jodå, Inifrån VB6 kan du sätta en referens till SQLDMO. Öppna upp en connection och loopa igenom "databases collection" som du kan få fram. Vill man inte använda DMO (t.ex. för att slippa distribuera komponenten till användarna) så kan man använda kommandot sp_Databases för att få en lista på vilka databaser som finns på en sql server. Mycket smidigt! Vilken referens eller component skall enablas för att komma åt dessa kommandon ??? Lägg till en referens till ADO, precis som vanligt när programmet ska ansluta sig till en databas. Hej Do until rs.EOF Tack, men ditt kommand fungerar ej. Se kod nedan Förmodligen beror detta på att fältet med databasnamn heter name när man kör sp_helpdb och DATABASE_NAME när man kör sp_databases. Byt således ut i koden till: Fungerarade inte men när jag satte <CODE> OkHur ansluta databas server till EnterPrise
När jag öppnar Enterprise så visas en databas server "DELL" och vidhängande databaser.
Något program har tydligen skapat ytterligare en server som heter "DELL/TEST". Hur ansluta och kunna titta på dessa databaser i Enterprise ??
Databaserna ligger på i olika kataloger på datorn.Sv: Hur ansluta databas server till EnterPrise
Sv:Hur ansluta databas server till EnterPrise
Vad gör jag för fel. Jag hittar ju själva mdf filen på hårddisken.Sv: Hur ansluta databas server till EnterPrise
Sv:Hur ansluta databas server till EnterPrise
Högerklicka på din befintliga server group och välj New SQL Server registration, så startas en wizard. I steg 2 får du antingen välja server från en lista eller skriva in servernamnet manuellt. Gå igenom hela wizard:en så kommer det att gå bra.
SQL-Servern DELL\TEST i ditt fall är ytterligare en instans av sql server (2000), och den kommer att köras "isolerat" från den vanliga sql-servern (DELL). Detta används vanligen om man vill ha både sql server 7 och 2000 på samma dator. I annat fall ser jag inget skäl till att ha kvar DELL\TEST.
/PelleSv: Hur ansluta databas server till EnterPrise
Sv: Hur ansluta databas server till EnterPrise
Det är bara att högerklicka på SQL Server Group i din Enterprise manager och välja New Registration. Sedan fyller du i (väljer) den server/instans du vill administrera. Ange hur du vill logga in mot den (vanligen Windows...) och sedan är du klar.
Instanser är en väldigt användbar sak om man t.ex. behöver fler sorteringsordningar på samma dator. Det är ett betydligt bättre alternativ än att skapa databaser med olika sorteringsordning.
Det är också användbart vid serverkonsolidering eftersom många företag KRÄVER att få installeras på en egen SQL Server.
/mickeSv:Hur ansluta databas server till EnterPrise
Tar det från början.
Om jag går in i enterepise har jag sen tidigare en servergrupp skapad som heter "DELL"
Under denna ligger ett antal databaser som jag har jobbat med tidigare och som är OK.
Dessa ligger under katalogen: D:\Program\Microsoft SQL Server\MSSQL\Data
Igår installerade jag en ny programvara som använder SQL.
Ser då att under "SQL Server Service Manager" ikonen nere i högra hörnet finns dett ytterligare
en SQL server skapad. Denna heter "DELL/TEST". Datafilerna till denna *.mdf ligger i en helt
annan katalog:
"D:\Documents and Settings\All Users.WIN\Application Data\TEST\MSSQL$TEST\Data"
Vill komma åt denna databas i VB6 och vill också kunna titta i den innan för att se vilka fält jag behöver
hämta.
Nu kommer problemen.
Kan inte få upp den i enterprise under ny servergrupp.
Kan däremot lägga till den i den befintliga gruppen "DELL" och titta i den.
När jag har gjort detta går den inte längre att läsa från programmet som den tillhör.
Får meddelande om att den inte är akiv fastän jag har gjort en detach på den från "DELL"
Är det mer utförligt ??
Sv: Hur ansluta databas server till EnterPrise
Du har INTE en servergrupp skapad som heter dell. Du har en registrerad SQL Server-instans som heter DELL.
För att kunna registrera en ny instans, måste du gå en nivå "upp" i hierarkin.
Du har troligtvis råkat ta bort databasen från instansen .\test och det innebär att applikationen inte längre ser databasen.
VB6:
Skriv in Data Source=DELL\TEST;Initial Catalog=Databasnamnet...
i din Connectionstring, så fungerar det. Du kan behöva uppdatera MDAC, men det borde egentligen fungera rakt av.
JAg hoppas nu att du jobbar i SQL Enterprise Manager, så du inte försöker sköta detta från Visual Studio 6.0. Den har ett LIKNANDE fönster med mycket begränsad funktionalitet.
/mickeSv:Hur ansluta databas server till EnterPrise
Har kopierat filerna till MSSQL\data katalogen och gjort en attach. Det fungerar så jag kan öppna databasen och se innehållet.
Hur registrerar jag en ny SQL Server-instans som heter DELL/TEST.
Högsta nivån i enterprise är Console Root. Under där Microsoft SQL Servers.
Därefter ETEST och under där DELL (Windows NT). Under denna ligger databaserna och lite andra kataloger.
???Sv: Hur ansluta databas server till EnterPrise
Välj servern i listan som heter DELL\TEST (eller .\test). Finns inte den, så skriver du in samma som det står i din Service manager (DELL\TEST) sedan väljer du Windows Authentication och klickar tillslut igenom hela wizarden.
Det ser ut som om du har gjort en extra katalognivå som heter ETEST, det är ingen fara, men lite onödigt att ha den där. Nu bör du ju inte ta bort den om du har en server registrerad under den...
/mickeSv:Hur ansluta databas server till EnterPrise
Under ETEST finns däremot valet New SQL Server Registration.
Jag valde det och fickk en ny instans.
Databaserna är tomma. Måste jag göra atach för att få in dom ??Sv: Hur ansluta databas server till EnterPrise
Då kan du göra attach på dem, om det är så de skall installeras.
Jag måste vara ärlig mot dig! Tyvärr är det nog så att du är ute på lite för djupt vatten... Du skulle kanske försöka fråga någon som kan VISA dig hur det ser ut och hur SQL server fungerar. Det verkar lite som om du lyckats göra en hel del saker, men inte riktigt vet vad du gjort - och nu kan du inte förklara vad du gjort, och framför allt inte hur du vill ha det för att det skall fungera igen.
Risken om vi fortsätter är - tyvärr - att hela din server slutar att fungera!
Vill du ändå fortsätta på detta sätt, så hjälper vi självklart till, men som sagt. Det du gjort (som det verkar på dina beskrivningar) är onödigt och ibland rätt komplicerat att få rätt på.
/mickeSv:Hur ansluta databas server till EnterPrise
Men, om servern slutar att fungera får jag börja från början igen.
Emellertid har jag nu fått allt att fungera både med att göra attach på databaserna till instansen
och att öppna filerna i VB6 och lista innehållet.
Nu skulle jag bara vilja veta om man från VB kan kolla om servern är igång och om inte om den går att starta från VB6. Vidare om det från VB går att lista instanserna och attachade databaser.
De instanser som är skapade har inte jag gjort utan de program jag köpt har skapt dessa.
Tackar än en gång för dina goda råd och du ser jag har lärt mig något.Sv: Hur ansluta databas server till EnterPrise
Det du ser i Enterprise manager kan du (teoretiskt) skapa själv med DMO.
Om servern är igång... Lättast är att ansluta till den och se om det fungerar. Funkar det inte (SQL Server does not exist) så är servern inte igång. Timeouten för detta är 30 sek, men det går ju att sänka den för att snabba upp meddelandet.
/mickeSv: Hur ansluta databas server till EnterPrise
/PelleSv:Hur ansluta databas server till EnterPrise
Sv: Hur ansluta databas server till EnterPrise
Den här koden kör kommandot sp_databases. Du kanske måste modifiera connectionstring:en.
<CODE>
Dim myConnection As ADODB.Connection
Dim myRecordSet As ADODB.Recordset
Set myConnection = New ADODB.Connection
myConnection.ConnectionString = "Provider=sqloledb;uid=sa;pwd=test"
myConnection.Open
' Create a Recordset by executing a SQL statement
Set myRecordSet = myConnection.Execute("EXEC sp_Databases")
' Show the first database name in the recordset.
MsgBox myRecordSet("DATABASE_NAME")
' Close the recordset and connection.
myRecordSet.Close
myConnection.Close
</CODE>
/PelleSv:Hur ansluta databas server till EnterPrise
Tack för svaret. Det fungerar. Men, hur loopa igenom och visa alla databaser ??? Sv: Hur ansluta databas server till EnterPrise
Visa alla
rs.movenext
Loop
/micke
Ett bättre kommando är egentligen "EXEC master..sp_helpdb"...
Ger ungefär samma info.
/mickeSv:Hur ansluta databas server till EnterPrise
Private Sub Test()
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set Conn = New ADODB.Connection
Conn.ConnectionString = " Provider=SQLOLEDB.1;Integrated Security=SSPI;" _
& "Persist Security Info=False;Data Source=Dell\TEST"
Conn.Open
'Set rs = Conn.Execute("EXEC master..sp_helpdb") Fungerar inte ???
Set rs = Conn.Execute("EXEC sp_Databases") Fungerar
Do Until rs.EOF
grdDatabaser.AddItem rs("DATABASE_NAME")
rs.MoveNext
Loop
rs.Close
Conn.Close
End SubSv: Hur ansluta databas server till EnterPrise
<CODE>
grdDatabaser.AddItem rs("name")
</CODE>
Inte ens Microsoft är så proffsiga att de är konsekventa.Sv:Hur ansluta databas server till EnterPrise
<CODE>
grdDatabaser.AddItem rs(0)
</CODE>
Konstigt va .....Sv: Hur ansluta databas server till EnterPrise
grdDatabaser.AddItem rs!name
</CODE>
Det "borde" funka, men vi ser ju hur det gått innan...
/mickeSv:Hur ansluta databas server till EnterPrise
Vi avslutar denna fråga.
Fungerar heller inte med rs!name
Felmeddelande:
"Objektet kunde inte hittas i mängden med det begäda namnet eller numret."
Fakta kvarstår att det fungerar med grdDatabaser.AddItem rs(0)
så jag får använda detta men vill man lära sig nåt så är det alltid bättre
att veta varför det ena ellar andra alternativet inte fungerar och var felet egentligen ligger.
Tackar för all hjälp från forumet