necesito hacer una copia de unas tablas...

21/10/2006 - 20:17 por Rafael Patiño Ortega | Informe spam
Hola a todos.

Estoy necesitando hacer una copia de unas tablas (incluyendo sus indices
nada mas) de una base de datos de sqlserver a otra base de datos de sqlserver
en otro servidor de sql, como lo hace el DTS (Data Transformation Services)
import/export wizard de SQL, lo anterior, dentro de mi sistema para que el
usuario de x departamento respalde sus tablas, las pueda recuperar a voluntad
y pueda hacerlo sin que entre al administrador corporativo.

Existe algun store procedure o rutina que pueda hacerlo?

Saludos,

Rafael Patiño Ortega

Preguntas similare

Leer las respuestas

#1 Maxi
21/10/2006 - 23:15 | Informe spam
Hola, no se si es bueno hacer esto quee stas proponiendo como medida de
traspaso de informacion, yo pasaria solamente datos y si queres pasar
tambien estructura (como es un indice) yo haria un backup/restore.
De todas maneras lo que deberias hacer es por medio de codigo, primero pasar
los datos, luego armarte algo para identificar los indices de un lado y ver
si existen del otro y los que no entonces pasarlos.
Si no queres usar TSQL para esto y lo queres hacer desde una aplicacion
podrias usar SQL-DMO


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Rafael Patiño Ortega" wrote
in message news:
Hola a todos.

Estoy necesitando hacer una copia de unas tablas (incluyendo sus indices
nada mas) de una base de datos de sqlserver a otra base de datos de
sqlserver
en otro servidor de sql, como lo hace el DTS (Data Transformation
Services)
import/export wizard de SQL, lo anterior, dentro de mi sistema para que el
usuario de x departamento respalde sus tablas, las pueda recuperar a
voluntad
y pueda hacerlo sin que entre al administrador corporativo.

Existe algun store procedure o rutina que pueda hacerlo?

Saludos,

Rafael Patiño Ortega
Respuesta Responder a este mensaje
#2 Rafael Patiño Ortega
22/10/2006 - 07:10 | Informe spam
Estimado Maxi,

A lo mejor es un poco complicado para mi explicar la razon de hacerlo asi,
pero voy a tratar para que me comprendas porque para mi es mejor de esa
manera; por una parte tengo una nomina que se procesa semanalmente y otra
quinecnalmente
1.- antes de actualizar los datos donde llevo los saldos de las deducciones
de cada empleado requiero que se haga un respaldo por si algo sale mal o por
si desean regresar a ese punto para agregar algun dato que falto y volver a
actualizar los saldos y/o yo puedo consultar esa base de datos via internet
para ayudarles como parte de mi soporte a clientes.
2.- como no uso la replicacion de las bases de datos, por seguridad realizo
un respaldo diariamente de toda la base de datos y asi en caso de que falle
el servidor oficial, simplemente se quita y se pone el otro donde esta el
respaldo, se le cambia la IP y listo, todo sigue funcionando perfectamente, y
el usuario no tiene que meterse en la bronca de restaurar un backup, y todos
los pasos que conlleva ese procedimiento.

Obviamente esto va de acuerdo a como tengo desarrolado el sistema y mis
planes de contingencia que me han funcionado muy bien, tu sabes que cada
programador tiene su forma de matar pulgas, y esta es la mia.

Saludos,

Rafael Patiño Ortega
Respuesta Responder a este mensaje
#3 Rafael Patiño Ortega
23/10/2006 - 19:56 | Informe spam
Se podra convertir de VB a store procedure esta rutina..?

TransferObjectsTask Object
The TransferObjectsTask object allows you transfer one or more Microsoft®
SQL Server™ objects between source and destination databases. An object can
represent:
A table, or table data.
A view.
A referential integrity constraint.
A stored procedure.
An index.
A default or a rule.
A user-defined data type.
In addition, you can transfer all users or all logins (roles) for the source
database. You can also transfer all objects dependent on the requested
objects.
Note The source and destination must both be Microsoft SQL Server version
7.0 or later databases.

*******************************************
The Microsoft Visual Basic® Sub RunTransfer creates a DTS step and a
TransferObjectsTask object. It configures the task to copy the tables authors
and employee, the view titleview, and the stored procedure byroyalty, and all
objects dependent on these, from the pubs database supplied with SQL Server
2000 to a database named SomeOfPubs.

Private Sub RunTransfer(ByVal objPackage As DTS.Package2)
Dim objStep As DTS.Step
Dim objTask As DTS.Task
Dim objXferObj As DTS.TransferObjectsTask

'create step and task
Set objStep = objPackage.Steps.New
Set objTask = objPackage.Tasks.New("DTSTransferObjectsTask")
Set objXferObj = objTask.CustomTask

'configure transfer objects task
With objXferObj
.Name = "XferObjTask"
.SourceServer = "(local)"
.SourceUseTrustedConnection = True
.SourceDatabase = "pubs"
.DestinationServer = "(local)"
.DestinationUseTrustedConnection = True
.DestinationDatabase = "SomeOfPubs"
.ScriptFileDirectory = "D:\DTS_UE\Scripts"
.CopyAllObjects = False
.IncludeDependencies = True
.IncludeLogins = False
.IncludeUsers = False
.DropDestinationObjectsFirst = True
.CopySchema = True
.CopyData = DTSTransfer_AppendData
.AddObjectForTransfer "authors", "dbo", DTSSQLObj_UserTable
.AddObjectForTransfer "employee", "dbo", DTSSQLObj_UserTable
.AddObjectForTransfer "titleview", "dbo", DTSSQLObj_View
.AddObjectForTransfer "byroyalty", "dbo", DTSSQLObj_StoredProcedure
End With

'link step to task
objStep.TaskName = objXferObj.Name
objStep.Name = "XferObjStep"
objPackage.Steps.Add objStep
objPackage.Tasks.Add objTask

Ojala que si, porque es exactamente lo que estoy buscando pero en un store
procedure.

Saludos.-

Rafael Patiño Ortega
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida