Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Script SQL Server

Postades av 2004-12-07 15:56:55 - Peter Grafström, i forum sql-server/msde, Tråden har 7 Kommentarer och lästs av 794 personer

Tjenare,

jag skulle vilja skripta ut samtliga obejct (ej data) i en databas till fil. Problemet jag har är att jag skulle vilja schedulera detta jobb att köra varje natt tex.

Någon som har en lösning på detta?

\Peter


Svara

Sv: Script SQL Server

Postades av 2004-12-07 16:00:32 - Marcus Olsson

Med hjälp av SQLDMO så kan man relativt enkelt skapa sql-script för objekten i en databas. Genom att göra det i ett vbscript så kan du ju enkelt skapa ett jobb för det i SQL Server.

/Marcus


Svara

Sv:Script SQL Server

Postades av 2004-12-07 16:14:00 - Peter Grafström

Hej och tack för snabbt svar. Jag är inte helt säker på att jag förstår hur du menar. Tanken är att jag vill fånga upp de förändringar som har skett på alla object dagligen.

Har du ett exempel på ett sådant vbscript skulle det vara kanon.

\Peter


Svara

Sv: Script SQL Server

Postades av 2004-12-07 18:46:21 - Marcus Olsson

På installationsskivan för SQL Server så finns det en mängd exempel för bla SQLDMO, dessa exempel finns även listade i SQL Server Books Online. Sök på "SQL-DMO Samples" så hittar du dem.
Ett av exemplen är en fullständig VB6-app som kan scripta valda delar från en databas.
Följande exempel är ett vbscript vars kod jag tagit från exemplet och moddat lite.
<code>
Option Explicit

Dim goSQLServer 'As SQLDMO.SQLServer
Dim oDatabase 'As SQLDMO.Database
Dim oTable 'As SQLDMO.Table
Dim oView 'As SQLDMO.View
Dim oStoredProc 'As SQLDMO.StoredProcedure
Dim oUser 'As SQLDMO.User
Dim oDBRole 'As SQLDMO.DatabaseRole
Dim flag 'As SQLDMO_SCRIPT_TYPE
Dim sScript 'As String

Set goSQLServer = CreateObject("SQLDMO.SQLServer")
' Logga in i din SQL Server
goSQLServer.LoginSecure = True ' Trusted login, false för standard login. False är default
goSQLServer.Connect "server"
'goSQLServer.Connect "server","userid","password" ' Standard login

' Välj databas
Set oDatabase = goSQLServer.Databases("Pubs")

' flag styr hur tabellerna skall scriptas, det är bara att or'a ihop dem
flag = 4 'SQLDMOScript_Default
flag = flag Or 73736 'SQLDMOScript_Indexes
flag = flag Or 520093696 'SQLDMOScript_DRI_AllConstraints
flag = flag Or 16 'SQLDMOScript_Triggers
flag = flag Or 134217728 'SQLDMOScript_DRI_ForeignKeys

' Scripta tabellerna
For Each oTable In oDatabase.Tables
If Not oTable.SystemObject Then
sScript = sScript & oTable.Script(flag)
End If
Next

' Vyerna
For Each oView In oDatabase.Views
sScript = sScript & oView.Script
Next

' Procedurerna
For Each oStoredProc In oDatabase.StoredProcedures
sScript = sScript & oStoredProc.Script
Next

' Scriptet för alla objekt finns nu i sScript
</code>

Du får själv kompletera koden med det som behövs för att spara scriptet till fil, eller varför inte till en tabell.

/Marcus


Svara

Sv: Script SQL Server

Postades av 2004-12-07 18:57:09 - Per Hultqvist

Well, du har två problem här. Dels vill du scripta förändringarna på databaserna och dels vill du göra detta enligt ett schema.

När det gäller att scripta databasförändringar så har du nog tyvärr (mig veterligen) ingen nytta av SQL-Serverns egna scriptning (eller SQL-DMO, samma scriptmotor). Det finns produkter, t ex Red-Gate SQL Compare (www.redgate.com), som är gjorda för att scripta skillnader mellan två databaser, men i alla fall Redgates produkt är inte gratis. Har själv köpt den och kan rekommendera den för det ändamålet.

När det sedan gäller schemaläggningen så krävs det antagligen att man kan styra programmet ifråga med commandlineparametrar eller att man på något sätt kan accessa programmets komponenter i en utvecklingsmiljö för att själv skriva en liten applikation som gör jobbet åt en. När det gäller Redgate så klarar den både dessa alternativ. De skickar med .Net assemblies som du kan styra scriptningen med manuellt för största flexibilitet. Jag ska dock erkänna att jag inte själv utnyttjat denna möjlighet, så jag vet inte hur lätt det är.

Har ingen erfarenhet av andra produkter så därför kan jag inte jämföra priser/kvalitet/funktionalitet med andra produkter.


Svara

Sv:Script SQL Server

Postades av 2004-12-07 22:35:39 - Per Karlsson

Eftersom scripten sparas som textfiler, är det lätt att jämföra dagens script med scripten från dagen innan. Skriv ett vb-program som kör både dmo-jobbet och jämförelsen och sparar både hela scriptet och förändringsscriptet.

/Pelle


Svara

Sv: Script SQL Server

Postades av 2004-12-08 17:22:18 - Per Hultqvist

Problemet är att även om du diffar två create-script så får du ju inte ett Alter-script :-)


Svara

Sv:Script SQL Server

Postades av 2004-12-08 23:57:00 - Per Karlsson

Nej, men det framgår inte av frågan att det är Alter-script som efterfrågas, utan endast att förändringar ska fångas upp. :)

Om man vill ha Alter-script så får man lägga ner ett par timmar till på sitt vb-program. Dock gäller detta bara för tabeller. För vyer, triggers och lagrade procedurer fungerar det utmärkt att köra först drop, sen create och sist grant.

/Pelle


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
969
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies