Pergunta : Erro using o feiticeiro da cópia do SQL 2005

Olá!, eu tenho uma caixa funcionar SQL 2005 e eu estou tentando usar o feiticeiro da cópia para copiar uma base de dados de uma caixa do SQL 2000.  Eu estou começ o seguinte erro: 11:03 do

__________________________________________________________
06/28/2010: 30, SQLISPackage, Error, nome do evento: Mensagem de OnError
: O acesso ao trajeto “\ \ SERVER-02 \ C$ \ limas de programa \ usuário de Microsoft SQL \ MSSQL \ dados \ rms_test.mdf” é denied.StackTrace:    em System.IO. __Error.WinIOError (maybeFullPath) da corda de Int32 errorCode em System.IO.File.InternalCopy (corda destFileName bôoleana overwrite) da corda sourceFileName em Microsoft.SqlServer.Dts.Tasks. TransferObjectsTask. Operador do
de TransferObjectsTask.CopyFile (overwriteOnExist bôoleano da corda destinationFileName da corda sourceFileName): PMH \ nome fonte do sqladmin
: Server-02_BCHC-SQL1_Transfer objeta a identificação da fonte de Task
: {21D03536-3AB2-47FB-AF6C-66A0876D7B27} identificação da execução do
: {71276E9D-85FA-4F4D-9EB8-5AC609082993} horas de início do
: 6/28/2010 de 11:03: 30 tempo do fim de AM
: 6/28/2010 de 11:03: Código de 30 dados de AM
: 0, (0), 1074802950, PMH \ sqladmin, BCHC-SQL1.pmhbc.net
____________________________________________________________


" Server-02” são meu usuário 2000 do SQL.   o

I am que supor alguns tipos de edição de direitas mas eu não é certos onde a look.

Thanks!
class= do

Resposta : Erro using o feiticeiro da cópia do SQL 2005

Olá! BCHCAdmin,

Você precisa
1. copiar os inícios de uma sessão - unidos à mensagem
2. alternativo e restauração o databse
3. inícios de uma sessão orfandades do reparo (desde que o deus novo SPID diferente dos inícios de uma sessão do usuário no DB da restauração
    unido à mensagem


Boa sorte!
Indivíduo H
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
-- Este procedimento gerará um certificado dos inícios de uma sessão da criação para você

CRIAR O PROCEDIMENTO [dbo]. [sp_dba_security_revlogin]  
 sysname = ZERO do @login_name,  
 tinyint dos @script_server_roles = 1  
COMO  
  
DECLARAR o sysname do @name  
DECLARAR o @xstatus int  
DECLARAR o @binpwd  varbinary (256)  
DECLARAR o sysname  do @txtpwd  
DECLARAR o @tmpstr  varchar (256)  
DECLARAR varbinary @SID_varbinary (85)  
DECLARAR @SID_string varchar (256)  
  
SE (O @LOGIN_NAME É ZERO) COMEÇAR  
   DECLARAR O CURSOR dos login_curs PARA   
     SELECIONAR sid, nome, 2 xstatus, password_hash de sys.sql_logins  
     ONDE nomear <> o “sa” e = 0 is_disabled  
 união toda  
 selecionar sid, nome, 4 xstatus, zero de sys.server_principals  
 onde tipo = “u” e = 0 is_disabled  
  
A EXTREMIDADE COMEÇA MAIS  
  DECLARAR O CURSOR dos login_curs PARA   
     SELECIONAR sid, nome, 2 xstatus, password_hash de sys.sql_logins  
     ONDE nomear <> o “sa” e = 0 is_disabled E nome = @login_name  
 união toda  
 selecionar sid, nome, 4 xstatus, zero de sys.server_principals  
 onde tipo = “u” e = 0 is_disabled E nome = @login_name  
EXTREMIDADE  
  
ABRIR login_curs   
BUSCAR EM SEGUIDA dos login_curs em @SID_varbinary, @name, @xstatus, @binpwd  
SE (@@fetch_status = -1)  
COMEÇAR  
 NÃO IMPRIMIR “nenhum início de uma sessão encontrado.”  
 FECHAR login_curs   
 LIBERAR login_curs   
 RETORNAR -1  
EXTREMIDADE  
AJUSTAR o @tmpstr = de “certificado do sp_help_revlogin/*”   
IMPRIMIR o @tmpstr  
AJUSTAR o @tmpstr = “** gerado”   
  + CONVERSO (varchar, GETDATE ()) + "ON" + @@SERVERNAME + “*”  
@tmpstr da CÓPIA  
CÓPIA ''  
A CÓPIA “DECLARA o sysname do @pwd”  
QUANDO (@@FETCH_STATUS <> -1) COMEÇAR  
 SE (@@FETCH_STATUS <> -2) COMEÇAR  
  IMPRIMIR ''  
  AJUSTAR o @tmpstr = “-- Início de uma sessão: ” + @name  
  @tmpstr da CÓPIA   
  SE (@XSTATUS & 4) = 4 COMEÇAM -- Cliente/grupo autenticados NT  
   SE (@XSTATUS & 1) = 1 COMEÇA -- O início de uma sessão do NT é negado o acesso  
    AJUSTAR o @tmpstr = '''' + @name + '''' do mestre. .sp_denylogin de EXEC  
    IMPRIMIR o @tmpstr   
   A EXTREMIDADE COMEÇA MAIS -- O início de uma sessão do NT tem o acesso  
    AJUSTAR o @tmpstr = '''' + @name + '''' do mestre. .sp_grantlogin de EXEC  
    IMPRIMIR o @tmpstr   
   EXTREMIDADE  
  A EXTREMIDADE COMEÇA MAIS -- Autenticação de usuário do SQL  
   SE (O @BINPWD NÃO É NULO) COMEÇAR -- Senha Non-null  
    @binpwd do sp_dba_security_scriptLogin de EXEC, @txtpwd PARA FORA  
    SE (@XSTATUS & 2048) = 2048 COMEÇAM  
     AJUSTAR o @tmpstr = “AJUSTAM o @pwd = o CONVERSO (varchar (256),” + o @txtpwd + ")”  
    A EXTREMIDADE COMEÇA MAIS  
     AJUSTAR o @tmpstr = “AJUSTAM o @pwd = o CONVERSO (varbinary (256),” + o @txtpwd + ")”  
    EXTREMIDADE  
    @tmpstr da CÓPIA  
    sp_dba_security_scriptLogin de EXEC @SID_varbinary, @SID_string PARA FORA  
    AJUSTAR o @tmpstr = '''' + @name do mestre. .sp_addlogin de EXEC   
     + ''', @pwd, @sid = “+ @SID_string +”, @encryptopt = '  
   A EXTREMIDADE COMEÇA MAIS -- Senha nula  
      sp_dba_security_scriptLogin de EXEC @SID_varbinary, @SID_string PARA FORA  
    AJUSTAR o @tmpstr = '''' + @name do mestre. .sp_addlogin de EXEC   
             + ''', ZERO, @sid = “+ @SID_string +”, @encryptopt = '  
   EXTREMIDADE  
       SE (@XSTATUS & 2048) = 2048 COMEÇAM  
         -- início de uma sessão promovido de 6.5  
    AJUSTAR o ''' do @tmpstr = do skip_encryption_old do @tmpstr + do '''   
   A EXTREMIDADE COMEÇA MAIS  
    AJUSTAR o ''' do @tmpstr = do skip_encryption do @tmpstr + do '''  
   EXTREMIDADE  
       @tmpstr da CÓPIA  
     
   -- Papéis do usuário do punho:  
   SE ISNULL (@SCRIPT_SERVER_ROLES, 1) = 1 COMEÇAM  
    SE (@XSTATUS & 16) = 16 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' sysadmin  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
    SE (@XSTATUS & 32) = 32 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' securityadmin  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
    SE (@XSTATUS & 64) = 64 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' serveradmin  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
    SE (@XSTATUS & 128) = 128 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' setupadmin  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
    SE (@XSTATUS & 256) = 256 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' processadmin  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
    SE (@XSTATUS & 512) = 512 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' diskadmin  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
    SE (@XSTATUS & 1024) = 1024 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' dbcreator  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
    SE (@XSTATUS & 4096) = 4096 COMEÇAM   
     AJUSTAR o @tmpstr = '''' + @name + ''' do sp_addsrvrolemember de EXEC, do '' ''' bulkadmin  
     IMPRIMIR o @tmpstr  
    EXTREMIDADE  
   EXTREMIDADE     
   -- Papéis do usuário do punho da extremidade  
  EXTREMIDADE  
 EXTREMIDADE  
 BUSCAR EM SEGUIDA dos login_curs em @SID_varbinary, @name, @xstatus, @binpwd  
EXTREMIDADE  
Login_curs PRÓXIMOS   
LIBERAR login_curs   
RETORNO 0  

IR


--  Isto reparará os inícios de uma sessão dos órfão 

USAR [db_dba]
IR

/Objeto do ******:  StoredProcedure [dbo]. Data do certificado [    de USP_DBA_FixOrphanedLogins]: 06/29/2010 de 12:07: 23 ******/
AJUSTAR ANSI_NULLS SOBRE
IR

AJUSTAR QUOTED_IDENTIFIER SOBRE
IR



Criar o procedimento [dbo]. [USP_DBA_FixOrphanedLogins]
como
começar

	ajustar o nocount sobre	


	/** Mostrar os inícios de uma sessão que serão **  da ameaça/
	DECLARAR o @Collation 	varchar (100),
		@SQL 		VARCHAR (2000),
		@rc		int

	CRIAR o ##TempSync da TABELA (DB_NME Varchar (50), DBUserName varchar (50), SysLoginName varchar (50))
	
	SELECIONAR o @Collation = o CONVERSO (SYSNAME, DatabasePropertyEx (“mestre”, o “cotejo "))
	
	AJUSTAR O @SQL = 'O USO [?]
	SELECIONAR ''? '' DB_NME, A.name DBUserName, inname SysLoginName de B.log 
	Dos sysusers A      
	JUNTAR-SE a master.dbo.syslogins B      
	Em A.name ordenar “+ @Collation +” = B.Name       
	JUNTAR-SE a master.dbo.sysdatabases C      
	EM C.Name = ''? '' ONDE issqluser = 1       
	E (A.sid NÃO É NULO       
	E A.sid <> 0x0)       
	E o suser_sname (A.sid) É NULO       
	E (C.status & 32) 	= 0 --carregamento       
	E (C.status & 64) 	= 0 --pre recuperação       
	E (C.status & 128) 	= 0 --recuperação       
	E (C.status & 256) 	= 0 --não recuperado       
	E (C.status & 512) 	= 0 --fora de linha       
	E (C.status & 1024) 	= 0 --lido somente 
	ORDEM por A.name
	
	INSERÇÃO no @SQL do sp_msforeachdb do ##TempSync EXEC
	-- SELECIONAR * DO ##TempSync
	ajustar	o @rc = o @@rowcount

	DEIXAR CAIR O ##TempSync DA TABELA

	se @rc = 0
	começar
		raiserror (“nenhuns inícios de uma sessão orfandades a ser segurados. ”, - 1, - 1)
		retorno 0
	extremidade

	
	/** Reparar ** orfandade dos inícios de uma sessão/
	SELECIONAR o =CONVERT do @Collation (SYSNAME, DatabasePropertyEx (“mestre”, o “cotejo "))
	AJUSTAR O @SQL = 'O USO [?]
	DECLARAR o @DBUserName varchar (50)
	DECLARAR o @SysLoginName varchar (50)
	DECLARAR O CURSOR de SyncDBLogins PARA A.name SELETO DBUserName, inname SysLoginName de B.log 
	Dos sysusers UMA JUNTA master.dbo.syslogins B em A.name ordena '+ @Collation + 
	'= B.Name JUNTAM-SE a master.dbo.sysdatabases C EM C.Name = ''? '' 
	ONDE o issqluser = 1 E (A.sid NÃO É NULO  E A.sid <> 0x0) E suser_sname (A.sid) É NULO 
	E (C.status & 32) 	= 0 --Carregamento       
	E (C.status & 64) 	= 0 --pre recuperação       
	E (C.status & 128) 	= 0 --recuperação       
	E (C.status & 256) 	= 0 --não recuperado       
	E (C.status & 512) 	= 0 --fora de linha       
	E (C.status & 1024) 	= 0 --lido somente 
	ORDEM por A.name
	
	ABRIR SyncDBLogins
	BUSCAR EM SEGUIDA de SyncDBLogins no @DBUserName, @SysLoginName
	QUANDO O @@FETCH_STATUS = 0 COMEÇAR    
	    Sp_change_users_login '' update_one '' de EXEC, @DBUserName, @SysLoginName    
	    BUSCAR EM SEGUIDA de SyncDBLogins no @DBUserName, @SysLoginName 
	EXTREMIDADE
	SyncDBLogins PRÓXIMO
	LIBERAR SyncDBLogins
	@SQL do sp_msforeachdb de EXEC

	retorno 0
extremidade


IR
Outras soluções  
 
programming4us programming4us