Vraag : Fout die SQL 2005 de Tovenaar van het Exemplaar gebruiken

Hello, heb ik een doos die SQL 2005 in werking stellen en ik probeer om de exemplaartovenaar te gebruiken om een gegevensbestand van een SQL 2000 vakje te kopiëren.  Ik krijg de volgende fout: 11:03

__________________________________________________________
06/28/2010: 30, SQLISPackage, Error, de Naam van de Gebeurtenis: Het Bericht van OnError
: De toegang tot de weg „\ \ server-02 \ C$ van het \- Programma van de Dossiers \ Microsoft SQL van de Server \ MSSQL \- Gegevens \ rms_test.mdf“ is denied.StackTrace:    bij System.IO. __Error.WinIOError (Koord Int32 errorCode maybeFullPath) bij System.IO.File.InternalCopy (het Koord destFileName van het Koord beschrijven sourceFileName Van Boole) bij Microsoft.SqlServer.Dts.Tasks. TransferObjectsTask. Van TransferObjectsTle (overwriteOnExist Van Boole van het Koord destinationFileName van het Koord sourceFileName)
de Exploitant/>ask.CopyFi BronNaam: Server-02_BCHC-SQL1_Transfer heeft Task
Bronidentiteitskaart bezwaar: {21D03536-3AB2-47FB-AF6C-66A0876D7B27}/> identiteitskaart van de Uitvoering AC609082993}/> de Tijd van het Begin de Tijd van het Eind AM de Code van Gegevens AMmin, bCHC-SQL1.pmhbc.net
____________________________________________________________


" server-02“ zijn mijn SQL van 2000 server.  

I am sommige soorten rechten veronderstellen geeft uit maar ik ben geen zekere waar te look.

Thanks!

Antwoord : Fout die SQL 2005 de Tovenaar van het Exemplaar gebruiken

Hallo BCHCAdmin,

U hebt nodig aan
1. kopi�ër logins - in bijlage aan het bericht
2. de file en herstelt databse
3. de moeilijke situatie orphaned logins (sinds de nieuwe loginsgod herstelt verschillende SPID van de gebruiker in OB
    in bijlage aan het bericht


Goed geluk!
Kerel 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:
-- Deze procedure zal cre�ërt logins manuscript voor u produceren

CRE�ëR PROCEDURE [dbo]. [sp_dba_security_revlogin]  
 @login_name sysname = VERKLAAR nietig,  
 @script_server_roles tinyint = 1  
ZOALS  
  
VERKLAAR @name sysname  
VERKLAAR @xstatus int.  
VERKLAAR @binpwd  varbinary (256)  
VERKLAAR @txtpwd  sysname  
VERKLAAR @tmpstr  varchar (256)  
VERKLAAR @SID_varbinary varbinary (85)  
VERKLAAR @SID_string varchar (256)  
  
ALS (@LOGIN_NAME IS ONGELDIG) BEGIN  
   VERKLAAR LOGIN_CURS CURSEUR VOOR   
     SELECTEER sid, naam, xstatus 2, password_hash VAN sys.sql_logins  
     WAAR is_disabled <> de naam „sa“ en = 0  
 unie allen  
 selecteer sid, naam, xstatus 4, ongeldig van sys.server_principals  
 waar is_disabled het type = „u“ en = 0  
  
HET EIND BEGINT ANDERS  
  VERKLAAR LOGIN_CURS CURSEUR VOOR   
     SELECTEER sid, naam, xstatus 2, password_hash VAN sys.sql_logins  
     WAAR is_disabled <> de naam „sa“ en = 0 EN naam = @login_name  
 unie allen  
 selecteer sid, naam, xstatus 4, ongeldig van sys.server_principals  
 waar is_disabled het type = „u“ en = 0 EN naam = @login_name  
EIND  
  
OPEN login_curs   
HAAL DAARNA VAN LOGIN_CURS IN @SID_VARBINARY, @NAME, @XSTATUS, @BINPWD  
ALS (@@fetch_status = -1)  
BEGIN  
 DRUK „Geen gevonden login.“  
 SLUIT login_curs   
 DEALLOCATE login_curs   
 KEER -1 terug  
EIND  
REEKS @tmpstr = „/* sp_help_revlogin manuscript“   
DRUK @tmpstr  
REEKS @tmpstr = „Geproduceerde **“   
  + Varchar BEKEERLING (, GETDATE ()) + "aan" + @@SERVERNAME + „*/“  
DRUK @tmpstr  
DRUK ''  
De DRUK „VERKLAART @pwd sysname“  
TERWIJL (@@FETCH_STATUS <> -1) BEGIN  
 ALS (@@FETCH_STATUS <> -2) BEGIN  
  DRUK ''  
  PLAATS @tmpstr = „-- Login: “ + @name  
  DRUK @tmpstr   
  ALS (@XSTATUS & 4) = 4 BEGINNEN -- NT voor authentiek verklaarde rekening/groep  
   ALS (@XSTATUS & 1) = 1 BEGINT -- NT login wordt ontzegd toegang  
    REEKS @tmpstr = 'EXEC meester. .sp_denylogin ''' + @name + ''''  
    DRUK @tmpstr   
   HET EIND BEGINT ANDERS -- NT login heeft toegang  
    REEKS @tmpstr = 'EXEC meester. .sp_grantlogin ''' + @name + ''''  
    DRUK @tmpstr   
   EIND  
  HET EIND BEGINT ANDERS -- SQL de authentificatie van de Server  
   ALS (@BINPWD IS NIET ONGELDIG) BEGIN -- Niet-krachteloos wachtwoord  
    EXEC sp_dba_security_scriptLogin @binpwd, @txtpwd UIT  
    ALS (@XSTATUS & 2048) = 2048 BEGINT  
     DE REEKS @TMPSTR = „PLAATSTE @PWD = VARCHAR BEKEERLING ((256),“ + @TXTPWD + „)“  
    HET EIND BEGINT ANDERS  
     DE REEKS @TMPSTR = „PLAATSTE @PWD = VARBINARY BEKEERLING ((256),“ + @TXTPWD + „)“  
    EIND  
    DRUK @tmpstr  
    @SID_varbinary EXEC sp_dba_security_scriptLogin, UIT @SID_string  
    REEKS @tmpstr = 'EXEC meester. .sp_addlogin ''' + @name   
     + ''', @pwd, @sid = „+ @SID_string +“, @encryptopt = '  
   HET EIND BEGINT ANDERS -- Ongeldig wachtwoord  
      @SID_varbinary EXEC sp_dba_security_scriptLogin, UIT @SID_string  
    REEKS @tmpstr = 'EXEC meester. .sp_addlogin ''' + @name   
             + ONGELDIGE ''', @sid = „+ @SID_string +“, @encryptopt = '  
   EIND  
       ALS (@XSTATUS & 2048) = 2048 BEGINT  
         -- login promotie van 6.5  
    REEKS @tmpstr = @tmpstr + ''' skip_encryption_old '''   
   HET EIND BEGINT ANDERS  
    REEKS @tmpstr = @tmpstr + ''' skip_encryption '''  
   EIND  
       DRUK @tmpstr  
     
   -- De serverrollen van het handvat:  
   ALS ISNULL (@SCRIPT_SERVER_ROLES, 1) = 1 BEGINT  
    ALS (@XSTATUS & 16) = 16 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' sysadmin '''  
     DRUK @tmpstr  
    EIND  
    ALS (@XSTATUS & 32) = 32 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' securityadmin '''  
     DRUK @tmpstr  
    EIND  
    ALS (@XSTATUS & 64) = 64 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' serveradmin '''  
     DRUK @tmpstr  
    EIND  
    ALS (@XSTATUS & 128) = 128 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' setupadmin '''  
     DRUK @tmpstr  
    EIND  
    ALS (@XSTATUS & 256) = 256 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' processadmin '''  
     DRUK @tmpstr  
    EIND  
    ALS (@XSTATUS & 512) = 512 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' diskadmin '''  
     DRUK @tmpstr  
    EIND  
    ALS (@XSTATUS & 1024) = 1024 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' dbcreator '''  
     DRUK @tmpstr  
    EIND  
    ALS (@XSTATUS & 4096) = 4096 BEGINNEN   
     REEKS @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' bulkadmin '''  
     DRUK @tmpstr  
    EIND  
   EIND     
   -- De serverrollen van het Handvat van het eind  
  EIND  
 EIND  
 HAAL DAARNA VAN LOGIN_CURS IN @SID_VARBINARY, @NAME, @XSTATUS, @BINPWD  
EIND  
DICHTE login_curs   
DEALLOCATE login_curs   
TERUGKEER 0  

GA


--  Dit zal de wezen logins bevestigen 

GEBRUIK [db_dba]
GA

/****** Heb bezwaar:  StoredProcedure [dbo]. [USP_DBA_FixOrphanedLogins]    de Datum van het Manuscript: het 12:07 van 06/29/2010: 23 ******/
VASTGESTELDE ANSI_NULLS 
GA

PLAATS QUOTED_IDENTIFIER
GA



Cre�ër procedure [dbo]. [USP_DBA_FixOrphanedLogins]
zoals
begin

	plaats nocount	


	/Toont ** logins die bedreiging **  /zullen zijn
	VERKLAAR @Collation 	varchar (100),
		@SQL 		VARCHAR (2000),
		@rc		int.

	CRE�ëR LIJST ##TempSync (DB_NME Varchar (50), varchar DBUserName (50), varchar SysLoginName (50))
	
	SELECTEER @Collation = BEKEERLING (SYSNAME, DatabasePropertyEx („meester“, „Collatie“))
	
	PLAATS @SQL = 'GEBRUIK [?]
	SELECTEER ''? '' DB_NME, A.name DBUserName, B.log inname SysLoginName 
	VAN sysusers A      
	SLUIT me aan bij master.dbo.syslogins B      
	OP A.name breng „+ @Collation +“ = B.Name bij elkaar       
	SLUIT me aan bij master.dbo.sysdatabases C      
	OP C.Name = ''? '' WAAR issqluser = 1       
	EN (A.sid IS NIET ONGELDIG       
	EN A.sid <> 0x0)       
	EN suser_sname (A.sid) IS ONGELDIG       
	EN (C.status & 32) 	= 0 --lading       
	EN (C.status & 64) 	= 0 --pre terugwinning       
	EN (C.status & 128) 	= 0 --het terugkrijgen       
	EN (C.status & 256) 	= 0 --teruggekregen niet       
	EN (C.status & 512) 	= 0 --offline       
	EN (C.status & 1024) 	= 0 --lees slechts 
	ORDE DOOR A.name
	
	TUSSENVOEGSEL in ##TempSync EXEC sp_msforeachdb @SQL
	-- SELECTEER * UIT ##TempSync
	plaats	@rc = @@rowcount

	LAAT VALLEN LIJST ##TempSync

	als @rc = 0
	begin
		raiserror („Geen Orphaned te behandelen Logins. “, - 1, - 1)
		terugkeer 0
	eind

	
	/Orphaned de Moeilijke situatie ** logins **/
	SELECTEER @Collation =CONVERT (SYSNAME, DatabasePropertyEx („meester“, „Collatie“))
	PLAATS @SQL = 'GEBRUIK [?]
	VERKLAAR @DBUserName varchar (50)
	VERKLAAR @SysLoginName varchar (50)
	VERKLAAR CURSEUR SyncDBLogins VOOR UITGEZOCHTE A.name DBUserName, B.log inname SysLoginName 
	VAN sysusers brengt JOIN master.dbo.syslogins B OP A.name '+ @Collation + bij elkaar 
	'= SLUITEN aan B.Name zich bij master.dbo.sysdatabases C OP C.Name = ''? '' 
	WAAR issqluser = 1 EN (A.sid IS NIET ONGELDIG  EN A.sid <> 0x0) EN suser_sname (A.sid) ONGELDIG IS 
	EN (C.status & 32) 	= 0 --Lading       
	EN (C.status & 64) 	= 0 --pre terugwinning       
	EN (C.status & 128) 	= 0 --het terugkrijgen       
	EN (C.status & 256) 	= 0 --teruggekregen niet       
	EN (C.status & 512) 	= 0 --offline       
	EN (C.status & 1024) 	= 0 --lees slechts 
	ORDE DOOR A.name
	
	OPEN SyncDBLogins
	HAAL DAARNA VAN SyncDBLogins IN @DBUserName, @SysLoginName
	TERWIJL @@FETCH_STATUS = 0 BEGINNEN    
	    EXEC sp_change_users_login '' update_one '', @DBUserName, @SysLoginName    
	    HAAL DAARNA VAN SyncDBLogins IN @DBUserName, @SysLoginName 
	EIND
	DICHTE SyncDBLogins
	DEALLOCATE SyncDBLogins
	EXEC sp_msforeachdb @SQL

	terugkeer 0
eind


GA
Andere oplossingen  
 
programming4us programming4us