20. juni 2000 - 11:44Der er
13 kommentarer og 1 løsning
Stored procedure til at kopiere en database?
Hejsa...
Jeg har brug for en stored procedure der kan kopiere en database - dvs. gøre nøjagtigt det samme som når man siger "import data" og vælger "transfer objects and data between SQL Server 7 databases" - og så bare med de default values den vælger - hvilket er alt..
Kan det lade sig gøre?
Jeg vil gerne kunne kalde proceduren med FraDatabasenavn, TilDatabasenavn - og hvis den så kan oprette databasen oven i købet - så er det endnu bedre...
Nedenfor er en lille procedure, der laver en totalkopi af en database. Den opretter ikke selv databasen - gør det med 'CREATE DATABASE dbName' som et almindeligt SQL-kald, det er det nemmeste.
Jeg har kun testet det på en W2K Server med SQL2K beta 2, men det burde virke med SQL7. Det tager laaaaang tid for en stor database, men det er du vel klar over!
Sub TransferObjs(strServer, strLogin, strPassword, strSource, strDestination) Set sqlServer = Server.CreateObject("SQLDMO.SQLServer")
sqlServer.Connect strServer, strLogin, strPassword Set db = sqlServer.Databases(strSource)
function CreateDB(strConn, strDatabase) ' strConn er din connection string, fx. "DSN=SQLServer;UID=sa;PWD=hemmeligt;" ' strDatabase er det nye database navn set conn = Server.CreateObject("ADODB.Connection") conn.Open strConn conn.Execute "CREATE DATABASE " & strDatabase set conn = nothing end sub
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.