Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

iniciar una instancia de SQL Server en modo de usuario unico

Estas en el tema de iniciar una instancia de SQL Server en modo de usuario unico en el foro de SQL Server en Foros del Web. pues eso que hay dos tablas que no puyedo poenr en simple user master y tempdb y lo necesito para ejecutar un restore de una ...
  #1 (permalink)  
Antiguo 23/02/2010, 11:51
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
iniciar una instancia de SQL Server en modo de usuario unico

pues eso que hay dos tablas que no puyedo poenr en simple user master y tempdb y lo necesito para ejecutar un restore de una copia de seguridad que em dice que solo s epeude ejecutar en modo de usurio unico... como peudo poenrlas en modo de usuario unico estas dos tablas? ya que no me da esa opcion...
  #2 (permalink)  
Antiguo 23/02/2010, 15:38
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

Si vas a hacer un RESTORE de Master (Tempdb, no se requiere), hay un metodo, el cual, debes arrancar tu instancia en SINGLE_USER, abres un analizador de consultas, haces tu restore (de la master), reinicias y listo.

CUIDADO: El restaurar una master, no es cosa de todos los dias, busca las implicaciones que vas a tener en hacer este procedimiento
  #3 (permalink)  
Antiguo 24/02/2010, 06:07
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

He conseguido iniciar el sql server en modo de usuario unico pero ahora me salta este error... "no se puede restaurar la copia de seguridad en el dispositivo C:/ xxx por que se creo con una version del servidor distinta a la de este servidor" que queire decir eso que nos epeude restaurar por que es d eotro servidor... necesito migrar la bd del servidor viejo a este servidor ya!!
  #4 (permalink)  
Antiguo 24/02/2010, 10:25
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

A ver...danos mas datos.

¿Para que quieres restarur la master?, es para trasferir los usuarios, hay otras formas menos "rudas" de hacerlo.

¿De que version-edicion estas migrando y hacia que version-edicion, lo haras?
  #5 (permalink)  
Antiguo 24/02/2010, 10:30
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

Cita:
Iniciado por iislas Ver Mensaje
A ver...danos mas datos.

¿Para que quieres restarur la master?, es para trasferir los usuarios, hay otras formas menos "rudas" de hacerlo.

¿De que version-edicion estas migrando y hacia que version-edicion, lo haras?
los don son sql server 2000 pero creo que distintas versiones o algo y ese es el problema principal y por lo que no puedo migrar usando una copia de seguridad, teniendo en cuenta que son servidores que no estan en red ni relacionados entre si..¿ como puedo migrar un sqlserver 200 de un servidor a otro?¿
  #6 (permalink)  
Antiguo 24/02/2010, 10:34
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

BACKUP - RESTORE (BASES) y para los usuarios, ejecutas el siguiente script en tu base a migrar y lo que te resulte, lo ejecutas en tu base migrada (master)

USE [master]

GO

/****** Object: StoredProcedure [dbo].[sp_hexadecimal] Script Date:

03/23/2006 10:24:06 ******/

SET ANSI_NULLS OFF

GO

SET QUOTED_IDENTIFIER ON

GO





CREATE PROCEDURE [dbo].[sp_hexadecimal]

@binvalue varbinary(256),

@hexvalue varchar(256) OUTPUT

AS

DECLARE @charvalue varchar(256)

DECLARE @i int

DECLARE @length int

DECLARE @hexstring char(16)

SELECT @charvalue = '0x'

SELECT @i = 1

SELECT @length = DATALENGTH (@binvalue)

SELECT @hexstring = '0123456789ABCDEF'

WHILE (@i <= @length)

BEGIN

DECLARE @tempint int

DECLARE @firstint int

DECLARE @secondint int

SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))

SELECT @firstint = FLOOR(@tempint/16)

SELECT @secondint = @tempint - (@firstint*16)

SELECT @charvalue = @charvalue +

SUBSTRING(@hexstring, @firstint+1, 1) +

SUBSTRING(@hexstring, @secondint+1, 1)

SELECT @i = @i + 1

END

SELECT @hexvalue = @charvalue





set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go





create PROCEDURE [dbo].[sp_help_revlogin] @login_name sysname = NULL AS

DECLARE @name sysname

DECLARE @xstatus int

DECLARE @binpwd varbinary (256)

DECLARE @txtpwd sysname

DECLARE @tmpstr varchar (256)

DECLARE @SID_varbinary varbinary(85)

DECLARE @SID_string varchar(256)





IF (@login_name IS NULL)

DECLARE login_curs CURSOR FOR

SELECT sid, name, xstatus, password FROM master..sysxlogins

WHERE srvid IS NULL AND name <> 'sa'

ELSE

DECLARE login_curs CURSOR FOR

SELECT sid, name, xstatus, password FROM master..sysxlogins

WHERE srvid IS NULL AND name = @login_name

OPEN login_curs

FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd

IF (@@fetch_status = -1)

BEGIN

PRINT 'No login(s) found.'

CLOSE login_curs

DEALLOCATE login_curs

RETURN -1

END

SET @tmpstr = '/* sp_help_revlogin script '

PRINT @tmpstr + ' -- '

SET @tmpstr = '** Generated '

+ CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'

PRINT @tmpstr + ' -- '

PRINT '' + ' -- '

PRINT 'DECLARE @pwd sysname' + ' -- '

WHILE (@@fetch_status <> -1)

BEGIN

IF (@@fetch_status <> -2)

BEGIN

PRINT ''

SET @tmpstr = '-- Login: ' + @name

PRINT @tmpstr + ' -- '

IF (@xstatus & 4) = 4

BEGIN -- NT authenticated account/group

IF (@xstatus & 1) = 1

BEGIN -- NT login is denied access

SET @tmpstr = 'EXEC master..sp_denylogin ''' + @name + ''''

PRINT @tmpstr + ' -- '

END

ELSE BEGIN -- NT login has access

SET @tmpstr = 'EXEC master..sp_grantlogin ''' + @name + ''''

PRINT @tmpstr + ' -- '

END

END

ELSE BEGIN -- SQL Server authentication

IF (@binpwd IS NOT NULL)

BEGIN -- Non-null password

EXEC sp_hexadecimal @binpwd, @txtpwd OUT

IF (@xstatus & 2048) = 2048

SET @tmpstr = 'SET @pwd = CONVERT (varchar(256), ' + @txtpwd + ') -- '

ELSE

SET @tmpstr = 'SET @pwd = CONVERT (varbinary(256), ' + @txtpwd + ') -- '

PRINT @tmpstr

EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT

SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name

+ ''', @pwd, @sid = ' + @SID_string + ', @encryptopt = '

END

ELSE BEGIN

-- Null password

EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT

SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name

+ ''', NULL, @sid = ' + @SID_string + ', @encryptopt = '

END

IF (@xstatus & 2048) = 2048

-- login upgraded from 6.5

SET @tmpstr = @tmpstr + '''skip_encryption_old'''

ELSE

SET @tmpstr = @tmpstr + '''skip_encryption'''

PRINT @tmpstr + ' -- '

END

END

FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd

END

CLOSE login_curs

DEALLOCATE login_curs

RETURN 0
  #7 (permalink)  
Antiguo 25/02/2010, 04:07
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

El problema es que no peudo migrar aciendo backup - restore de las tabasl pro que em dice al hacer el restore q nos on la misma versiond e sql 2000 tiene que haber alguna forma de pasar los datos entre 2 sql server 2000 sin ahcer backup restore
  #8 (permalink)  
Antiguo 25/02/2010, 10:09
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

Compañero, si los servidores NO SE VEN (no estan en el mismo nodo de red), no te queda mas que BACKUP - RESTORE, ¿Que ediciones tienes de SQL Server?
  #9 (permalink)  
Antiguo 26/02/2010, 04:04
 
Fecha de Ingreso: junio-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

Cita:
Iniciado por iislas Ver Mensaje
Compañero, si los servidores NO SE VEN (no estan en el mismo nodo de red), no te queda mas que BACKUP - RESTORE, ¿Que ediciones tienes de SQL Server?
Al final migre haciendo copi paste d ela carpeta data
  #10 (permalink)  
Antiguo 26/02/2010, 09:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: iniciar una instancia de SQL Server en modo de usuario unico

pues que bueno que te funciono....

Etiquetas: iniciar, instancia, modo, server, sql, usuarios, unicos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:59.