Fråga : Felet using SQL 2005 kopierar trollkarlen

Hälsningar jag har ett boxasspring SQL 2005, och den pröva I-förmiddagen att använda kopieratrollkarlen för att kopiera en databas från en SQL 2000 boxas.  Förmiddag som I efter får felet: 11:03 för

__________________________________________________________
06/28/2010: 30 SQLISPackage, Error, känd händelse: OnError
meddelande: Ta fram till banan ”\ \ SERVER-02 \ C$ \ program sparar \ den Microsoft SQL serveren \ MSSQL \ data \ rms_test.mdf” är denied.StackTrace:    på System.IO. __Error.WinIOError (Int32 errorCode stränger maybeFullPath), på System.IO.File.InternalCopy (stränga sourceFileName stränger Boolean destFileName överskrivar), på Microsoft.SqlServer.Dts.Tasks. TransferObjectsTask. Operatör för TransferObjectsTask.CopyFile (stränga sourceFileName stränger Boolean overwriteOnExist för destinationFileName),
: PMH \ känd källa för sqladmin
: Server-02_BCHC-SQL1_Transfer anmärker Task
källLEGITIMATION: {21D03536-3AB2-47FB-AF6C-66A0876D7B27} utförandeLEGITIMATIONEN för
: {71276E9D-85FA-4F4D-9EB8-5AC609082993} starten Time för
: 6/28/2010 11:03: 30 AM
avslutar Time: 6/28/2010 11:03: 30 AM
data kodifierar: 0 (0), 1074802950, PMH \ sqladmin, BCHC-SQL1.pmhbc.net
____________________________________________________________


" Server-02” är min SQL-server 2000.   förmiddagen för

I gissar några typer av rätter, utfärdar men I-förmiddagen inte sure var till look.

Thanks!
" klar "

Svar : Felet using SQL 2005 kopierar trollkarlen

Hi BCHCAdmin,

Du behöver
1. kopiera inloggningarna - som fästas till meddelandet
2. reserv och återställande databsen
3. föräldralösa inloggningar för knipa (efter den nya inloggningsguden olik SPID från användaren i återställandeDBEN
    fäst till meddelandet


Bra lycka!
GrabbH
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:
-- Detta ska tillvägagångssätt frambringar inloggningar för en skapa skrivar för dig

SKAPA TILLVÄGAGÅNGSSÄTTET [dbo]. [sp_dba_security_revlogin]  
 @login_namesysname = OGILTIGT,  
 @script_server_rolestinyint = 1  
SOM  
  
FÖRKLARA @namesysname  
FÖRKLARA @xstatusen int  
FÖRKLARA varbinary  @binpwd (256)  
FÖRKLARA @txtpwd  sysname  
FÖRKLARA varchar  @tmpstr (256)  
FÖRKLARA @SID_varbinary varbinary (85)  
FÖRKLARA varchar @SID_string (256)  
  
OM (@LOGIN_NAME ÄR OGILTIG), BÖRJA  
   FÖRKLARA login_cursMARKÖREN FÖR   
     VÄLJ sid som är känd, 2 xstatus, password_hash FRÅN sys.sql_logins  
     VAR känd <> ”sa” och is_disabled = 0  
 all union  
 vald sid som är känd, xstatus som 4 är ogiltig från sys.server_principals  
 var typ = ”u” och is_disabled = 0  
  
AVSLUTA BÖRJAR ANNARS  
  FÖRKLARA login_cursMARKÖREN FÖR   
     VÄLJ sid som är känd, 2 xstatus, password_hash FRÅN sys.sql_logins  
     VAR känd <> ”sa” och is_disabled = 0 OCH namnger = @login_name  
 all union  
 vald sid som är känd, xstatus som 4 är ogiltig från sys.server_principals  
 var typ = ”u” och is_disabled = 0 OCH namnger = @login_name  
AVSLUTA  
  
ÖPPNA login_curs   
HÄMTA DÄREFTER FRÅN login_curs IN I @SID_varbinary, @name, @xstatusen, @binpwd  
OM (@@fetch_status = -1)  
BÖRJA  
 SKRIV UT ”inga fann inloggningar.”,  
 NÄRA login_curs   
 DEALLOCATE login_curs   
 GÅ -1 tillbaka  
AVSLUTA  
FASTSTÄLLD @tmpstr = ”-/*sp_help_revlogin skrivar”,   
TRYCK@tmpstr  
FASTSTÄLLD @tmpstr = ”** frambragt”,   
  + varchar OMVÄND (, GETDATE ()) + "ON" + @@SERVERNAME + ”*”,  
TRYCK@tmpstr  
TRYCK '',  
TRYCKET ”FÖRKLARAR @pwdsysname”,  
STUNDER (@@FETCH_STATUS <> -1) BÖRJAR  
 OM (@@FETCH_STATUS <> -2) BÖRJA  
  SKRIV UT '',  
  FASTSTÄLLD @tmpstr = ”,-- Inloggning: ” + @name  
  TRYCK@tmpstr   
  OM (@XSTATUS & 4) = 4 BÖRJAR -- NT legitimerade konto/gruppen  
   OM (@XSTATUS & 1) = 1 BÖRJAR -- Nt-inloggningen förnekas tar fram  
    FASTSTÄLLD @tmpstr = '''' + @name + '''' för EXEC ledar-. .sp_denylogin,  
    TRYCK@tmpstr   
   AVSLUTA BÖRJAR ANNARS -- Nt-inloggningen har att ta fram  
    FASTSTÄLLD @tmpstr = '''' + @name + '''' för EXEC ledar-. .sp_grantlogin,  
    TRYCK@tmpstr   
   AVSLUTA  
  AVSLUTA BÖRJAR ANNARS -- Sql-serverlegitimation  
   OM (@BINPWD INTE ÄR OGILTIG), BÖRJA -- Non-null lösenord  
    EXEC-sp_dba_security_scriptLogin@binpwd, @txtpwd UT  
    OM (@XSTATUS & 2048) = 2048 BÖRJAR  
     FASTSTÄLLD @tmpstr = ”FASTSTÄLLD @pwd = varchar OMVÄND ((256),” + @txtpwd + ”)”,  
    AVSLUTA BÖRJAR ANNARS  
     FASTSTÄLLD @tmpstr = ”FASTSTÄLLD @pwd = varbinary OMVÄND ((256),” + @txtpwd + ”)”,  
    AVSLUTA  
    SKRIV UT @tmpstr  
    @SID_varbinary EXEC-sp_dba_security_scriptLogin och att @SID_string UT  
    FASTSTÄLLD @tmpstr = '''' + @name för EXEC ledar-. .sp_addlogin   
     + ''', @pwd, @sid = ”+ @SID_string +”, @encryptopt = ',  
   AVSLUTA BÖRJAR ANNARS -- Ogiltigt lösenord  
      @SID_varbinary EXEC-sp_dba_security_scriptLogin och att @SID_string UT  
    FASTSTÄLLD @tmpstr = '''' + @name för EXEC ledar-. .sp_addlogin   
             + ''' som ÄR OGILTIG, @sid = ”+ @SID_string +”, @encryptopt = ',  
   AVSLUTA  
       OM (@XSTATUS & 2048) = 2048 BÖRJAR  
         -- logga in förbättrat från 6.5  
    FASTSTÄLLD @tmpstr- = @tmpstr- + ''' skip_encryption_old''',   
   AVSLUTA BÖRJAR ANNARS  
    FASTSTÄLLD @tmpstr- = @tmpstr- + ''' skip_encryption''',  
   AVSLUTA  
       SKRIV UT @tmpstr  
     
   -- Behandla serverroller:  
   OM ISNULL (@SCRIPT_SERVER_ROLES, 1) = 1 BÖRJAR  
    OM (@XSTATUS & 16) = 16 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' sysadmin''',  
     TRYCK@tmpstr  
    AVSLUTA  
    OM (@XSTATUS & 32) = 32 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' securityadmin''',  
     TRYCK@tmpstr  
    AVSLUTA  
    OM (@XSTATUS & 64) = 64 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' serveradmin''',  
     TRYCK@tmpstr  
    AVSLUTA  
    OM (@XSTATUS & 128) = 128 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' setupadmin''',  
     TRYCK@tmpstr  
    AVSLUTA  
    OM (@XSTATUS & 256) = 256 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' processadmin''',  
     TRYCK@tmpstr  
    AVSLUTA  
    OM (@XSTATUS & 512) = 512 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' diskadmin''',  
     TRYCK@tmpstr  
    AVSLUTA  
    OM (@XSTATUS & 1024) = 1024 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' dbcreator''',  
     TRYCK@tmpstr  
    AVSLUTA  
    OM (@XSTATUS & 4096) = 4096 BÖRJAR   
     FASTSTÄLLD @tmpstr = 'EXEC-sp_addsrvrolemember''' + @name + ''', '' bulkadmin''',  
     TRYCK@tmpstr  
    AVSLUTA  
   AVSLUTA     
   -- Avsluta handtagserverroller  
  AVSLUTA  
 AVSLUTA  
 HÄMTA DÄREFTER FRÅN login_curs IN I @SID_varbinary, @name, @xstatusen, @binpwd  
AVSLUTA  
NÄRA login_curs   
DEALLOCATE login_curs   
RETUR 0  

GÅ


--  Detta ska knipa föräldralösinloggningarna 

ANVÄND [db_dba]
GÅ

/****** Anmärker:  StoredProcedure [dbo]. Skriva daterar:    [USP_DBA_FixOrphanedLogins] 06/29/2010 12:07: 23 ******/,
UPPSÄTTNING ANSI_NULLS PÅ
GÅ

UPPSÄTTNING QUOTED_IDENTIFIER PÅ
GÅ



Skapa tillvägagångssättet [dbo]. [USP_DBA_FixOrphanedLogins]
som
börja

	fastställd nocount på	


	/** Visa att inloggningarna som ska, var hot  **/,
	FÖRKLARA den varchar 	@Collationen (100),
		@SQL 		VARCHAR (2000),
		@rc		int

	SKAPA BORDLÄGGER ##TempSync (DB_NME Varchar (50), varchar DBUserName (50), varchar SysLoginName (50))
	
	VÄLJ @Collationen = OMVÄNDEN (SYSNAME, DatabasePropertyEx (”styra”, ”collationen”)),
	
	FASTSTÄLLD @SQL = 'BRUK [?]
	VÄLJ ''? '' DB_NME, A.name DBUserName, B.log inname SysLoginName 
	FRÅN sysusers A      
	SAMMANFOGA master.dbo.syslogins B      
	PÅ A.name sortera ”+ @Collationen +” = B.Name       
	SAMMANFOGA master.dbo.sysdatabases C      
	PÅ C.Name = ''? '' VAR issqluser = 1       
	OCH (A.sid INTE ÄR OGILTIG       
	OCH A.sid <> 0x0)       
	OCH suser_sname (A.sid) ÄR OGILTIG       
	OCH (C.status & 32) 	= 0 --ladda       
	OCH (C.status & 64) 	= 0 --pre återställning       
	OCH (C.status & 128) 	= 0 --återställa       
	OCH (C.status & 256) 	= 0 --inte återställt       
	OCH (C.status & 512) 	= 0 --offline       
	OCH (C.status & 1024) 	= 0 --läst endast 
	BESTÄLLA VID A.name
	
	SÄTT IN in i sp_msforeachdb@SQL för ##TempSync EXEC
	-- VÄLJ * FRÅN ##TempSync
	fastställd	@rc = @@rowcount

	TAPPA BORDLÄGGER ##TempSync

	om @rc = 0
	börja
		raiserror (”inga föräldralösa inloggningar som ska behandlas. ” - 1, - 1)
		retur 0
	avsluta

	
	/** Fixa föräldralös inloggnings**/,
	VÄLJ @Collation=CONVERT (SYSNAME, DatabasePropertyEx (”styra”, ”collationen”)),
	FASTSTÄLLD @SQL = 'BRUK [?]
	FÖRKLARA varchar @DBUserName (50)
	FÖRKLARA varchar @SysLoginName (50)
	FÖRKLARA den SyncDBLogins MARKÖREN FÖR VALD A.name DBUserName, B.log inname SysLoginName 
	FRÅN sysusers EN SAMMANFOGA master.dbo.syslogins B PÅ A.name sorterar '+ @Collationen + 
	'= B.Name SAMMANFOGAR master.dbo.sysdatabases C PÅ C.Name = ''? '', 
	VAR issqluser = 1 OCH (A.sid INTE ÄR OGILTIG  OCH A.sid <> 0x0) OCH suser_sname (A.sid) ÄR OGILTIG 
	OCH (C.status & 32) 	= 0 --Ladda       
	OCH (C.status & 64) 	= 0 --pre återställning       
	OCH (C.status & 128) 	= 0 --återställa       
	OCH (C.status & 256) 	= 0 --inte återställt       
	OCH (C.status & 512) 	= 0 --offline       
	OCH (C.status & 1024) 	= 0 --läst endast 
	BESTÄLLA VID A.name
	
	ÖPPNA SyncDBLogins
	HÄMTA DÄREFTER FRÅN SyncDBLogins IN I @DBUserName, @SysLoginName
	STUND@@FETCH_STATUS = 0 BÖRJAR    
	    EXEC-sp_change_users_login '' update_one '', @DBUserName, @SysLoginName    
	    HÄMTA DÄREFTER FRÅN SyncDBLogins IN I @DBUserName, @SysLoginName 
	AVSLUTA
	NÄRA SyncDBLogins
	DEALLOCATE SyncDBLogins
	EXEC-sp_msforeachdb@SQL

	retur 0
avsluta


GÅ
Andra lösningar  
 
programming4us programming4us