Pytanie : Błąd using SQL 2005 Odbitkowy Czarownik

Cześć, I mieć pudełkowaty bieg SQL 2005 i I próbować the odbitkowy czarownik baza danych od SQL 2000 pudełko.  I dostawać the następujący błąd:

__________________________________________________________
06/28/2010 11:03: 30, SQLISPackage, Error, Wydarzenie Imię: OnError
Wiadomość: Dostęp the ścieżka "\ \ SERVER-02 \ C$ \ Program Kartoteka \ Microsoft SQL Serwer \ MSSQL \ Dane \ rms_test.mdf" być denied.StackTrace:    przy System.IO. __Error.WinIOError (Int32 errorCode Smyczkowy maybeFullPath) przy System.IO.File.InternalCopy (Smyczkowy sourceFileName Smyczkowy destFileName Boolowski overwrite) przy Microsoft.SqlServer.Dts.Tasks. TransferObjectsTask. TransferObjectsTask.CopyFile (Smyczkowy sourceFileName Smyczkowy destinationFileName Boolowski overwriteOnExist)
Operator: PMH \ sqladmin
Źródło Imię: Server-02_BCHC-SQL1_Transfer Protestować Task
Źródło ID: {21D03536-3AB2-47FB-AF6C-66A0876D7B27}
Egzekucja ID: {71276E9D-85FA-4F4D-9EB8-5AC609082993}
Czas Rozpoczęcia: 6/28/2010 11:03: 30 AM
Końcówka Czas: 6/28/2010 11:03: 30 AM
Dane Kod: (0), ((0)), 1074802950, PMH \ sqladmin, BCHC-SQL1.pmhbc.net
____________________________________________________________


" Server-02" być mój 2000 SQL serwer.  

I am niektóre typ emisja praw poboru ale I być pewny gdzie look.

Thanks!

Odpowiedź : Błąd using SQL 2005 Odbitkowy Czarownik

Cześć BCHCAdmin,

Ty potrzebować
1. kopiować the nazwa użytkownika - dołączać the wiadomość
2. pomocniczy i przywrócić the databse
3. dylemat osierocony nazwa użytkownika (ponieważ the nowy nazwa użytkownika bóg różny SPID od the użytkownik w the przywrócić DB
    dołączać the wiadomość


Szczęście!
Facet 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:
-- Ten procedura wytwarzać tworzyć nazwa użytkownika pismo dla ty

TWORZYĆ PROCEDURA [dbo]. [sp_dba_security_revlogin]  
 @login_name sysname = NIEOBOWIĄZUJĄCY,  
 @script_server_roles tinyint = (1)  
  
  
OZNAJMIAĆ @name sysname  
OZNAJMIAĆ @xstatus int  
OZNAJMIAĆ @binpwd  varbinary (256)  
OZNAJMIAĆ @txtpwd  sysname  
OZNAJMIAĆ @tmpstr  varchar (256)  
OZNAJMIAĆ @SID_varbinary varbinary (85)  
OZNAJMIAĆ @SID_string varchar (256)  
  
JEŻELI (@LOGIN_NAME BYĆ NIEOBOWIĄZUJĄCY) ZACZYNAĆ  
   OZNAJMIAĆ login_curs KURSOR DLA   
     WYBIERAĆ sid, imię, 2 xstatus, password_hash OD sys.sql_logins  
     DOKĄD wymieniać <> "suma" i is_disabled = (0)  
 zjednoczenie wszystko  
 wybrany sid, imię, 4 xstatus, null od sys.server_principals  
 dokąd typ = "u" i is_disabled = (0)  
  
KOŃCÓWKA INNY ZACZYNAĆ  
  OZNAJMIAĆ login_curs KURSOR DLA   
     WYBIERAĆ sid, imię, 2 xstatus, password_hash OD sys.sql_logins  
     DOKĄD wymieniać <> "suma" i is_disabled = (0) I imię = @login_name  
 zjednoczenie wszystko  
 wybrany sid, imię, 4 xstatus, null od sys.server_principals  
 dokąd typ = "u" i is_disabled = (0) I imię = @login_name  
KOŃCÓWKA  
  
OTWIERAĆ login_curs   
PRZYNOSIĆ NASTĘPNIE OD login_curs W @SID_varbinary, @name, @xstatus, @binpwd  
JEŻELI (@@fetch_status = -1)  
ZACZYNAĆ  
 DRUKOWAĆ "Żadny nazwa użytkownika znajdować."  
 ZAMYKAĆ login_curs   
 DEALOKOWAĆ login_curs   
 WRACAĆ -1  
KOŃCÓWKA  
USTALONY @tmpstr = "/* sp_help_revlogin pismo"   
DRUK @tmpstr  
USTALONY @tmpstr = "**"   
  + KONWERTYTA (varchar, GETDATE ()) + "na" + @@SERVERNAME + "*"  
DRUK @tmpstr  
DRUK ''  
DRUK "OZNAJMIAĆ @pwd sysname"  
PODCZAS GDY (@@FETCH_STATUS <> -1) ZACZYNAĆ  
 JEŻELI (@@FETCH_STATUS <> -2) ZACZYNAĆ  
  DRUKOWAĆ ''  
  USTAWIAĆ @tmpstr = "-- Nazwa użytkownika: " + @name  
  DRUK @tmpstr   
  JEŻELI (@XSTATUS & 4) = 4 ZACZYNAĆ -- NT uwiarygodniać konto/grupa  
   JEŻELI (@XSTATUS & 1) = (1) ZACZYNAĆ -- NT nazwa użytkownika zaprzeczać dostęp  
    USTALONY @tmpstr = 'EXEC mistrz. .sp_denylogin ''' + @name + ''''  
    DRUK @tmpstr   
   KOŃCÓWKA INNY ZACZYNAĆ -- NT nazwa użytkownika mieć dostęp  
    USTALONY @tmpstr = 'EXEC mistrz. .sp_grantlogin ''' + @name + ''''  
    DRUK @tmpstr   
   KOŃCÓWKA  
  KOŃCÓWKA INNY ZACZYNAĆ -- SQL Serwer uwierzytelnienie  
   JEŻELI (@BINPWD BYĆ NIEOBOWIĄZUJĄCY) ZACZYNAĆ -- Hasło hasło  
    EXEC sp_dba_security_scriptLogin @binpwd, @txtpwd @TXTPWD  
    JEŻELI (@XSTATUS & 2048) = 2048 ZACZYNAĆ  
     USTALONY @tmpstr = "SET @pwd = KONWERTYTA (varchar (256)," + @txtpwd + ")"  
    KOŃCÓWKA INNY ZACZYNAĆ  
     USTALONY @tmpstr = "SET @pwd = KONWERTYTA (varbinary (256)," + @txtpwd + ")"  
    KOŃCÓWKA  
    DRUK @tmpstr  
    EXEC sp_dba_security_scriptLogin @SID_varbinary, @SID_string @SID_STRING  
    USTALONY @tmpstr = 'EXEC mistrz. .sp_addlogin ''' + @name   
     + ''', @pwd, @sid = "+ @SID_string +", @encryptopt = '  
   KOŃCÓWKA INNY ZACZYNAĆ -- Nieobowiązujący hasło  
      EXEC sp_dba_security_scriptLogin @SID_varbinary, @SID_string @SID_STRING  
    USTALONY @tmpstr = 'EXEC mistrz. .sp_addlogin ''' + @name   
             + ''', NIEOBOWIĄZUJĄCY, @sid = "+ @SID_string +", @encryptopt = '  
   KOŃCÓWKA  
       JEŻELI (@XSTATUS & 2048) = 2048 ZACZYNAĆ  
         -- nazwa użytkownika ulepszać od 6.5  
    USTALONY @tmpstr = @tmpstr + ''' skip_encryption_old '''   
   KOŃCÓWKA INNY ZACZYNAĆ  
    USTALONY @tmpstr = @tmpstr + ''' skip_encryption '''  
   KOŃCÓWKA  
       DRUK @tmpstr  
     
   -- Rękojeść serwer rola:  
   JEŻELI ISNULL (@SCRIPT_SERVER_ROLES, 1) = (1) ZACZYNAĆ  
    JEŻELI (@XSTATUS &16) = 16 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' sysadmin '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
    JEŻELI (@XSTATUS & 32) = 32 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' securityadmin '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
    JEŻELI (@XSTATUS & 64) = 64 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' serveradmin '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
    JEŻELI (@XSTATUS & 128) = 128 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' setupadmin '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
    JEŻELI (@XSTATUS & 256) = 256 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' processadmin '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
    JEŻELI (@XSTATUS & 512) = 512 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' diskadmin '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
    JEŻELI (@XSTATUS & 1024) = 1024 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' dbcreator '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
    JEŻELI (@XSTATUS & 4096) = 4096 ZACZYNAĆ   
     USTALONY @tmpstr = 'EXEC sp_addsrvrolemember ''' + @name + ''', '' bulkadmin '''  
     DRUK @tmpstr  
    KOŃCÓWKA  
   KOŃCÓWKA     
   -- Końcówka Rękojeść serwer rola  
  KOŃCÓWKA  
 KOŃCÓWKA  
 PRZYNOSIĆ NASTĘPNIE OD login_curs W @SID_varbinary, @name, @xstatus, @binpwd  
KOŃCÓWKA  
ZAMKNIĘTY login_curs   
DEALOKOWAĆ login_curs   
POWRÓT (0)  

IŚĆ


--  Nazwa użytkownika załatwiać the sierota nazwa użytkownika 

UŻYWAĆ [db_dba]
IŚĆ

/****** Przedmiot:  StoredProcedure [dbo]. [USP_DBA_FixOrphanedLogins]    Pismo Data: 06/29/2010 12:07: 23 ******/
SET ANSI_NULLS DALEJ
IŚĆ

USTAWIAĆ QUOTED_IDENTIFIER DALEJ
IŚĆ



Tworzyć procedura [dbo]. [USP_DBA_FixOrphanedLogins]

zaczynać

	ustawiać nocount dalej	


	/** Pokazywać the nazwa użytkownika który być zagrożenie  **/
	OZNAJMIAĆ @Collation 	varchar (100),
		@SQL 		VARCHAR (2000),
		@rc		int

	TWORZYĆ STOŁOWY ##TempSync (DB_NME Varchar (50), DBUserName varchar (50), SysLoginName varchar (50))
	
	WYBIERAĆ @Collation = KONWERTYTA (SYSNAME, DatabasePropertyEx ("mistrz", "Kolacjonowanie "))
	
	USTAWIAĆ @SQL = 'USE [?]
	WYBIÓRKA ''? '' DB_NME, A.name DBUserName, B.log inname SysLoginName 
	OD sysusers A      
	ŁĄCZYĆ master.dbo.syslogins B      
	NA A.name Zestawiać "+ @Collation +" = B.Name       
	ŁĄCZYĆ master.dbo.sysdatabases C      
	NA C.Name = ''? '' DOKĄD issqluser = (1)       
	I (A.sid BYĆ NIEOBOWIĄZUJĄCY       
	I A.sid <> 0x0)       
	I suser_sname (A.sid) BYĆ NIEOBOWIĄZUJĄCY       
	I (C.status & 32) 	= (0) --       
	I (C.status & 64) 	= (0) --wyzdrowienie wyzdrowienie       
	I (C.status & 128) 	= (0) --       
	I (C.status & 256) 	= (0) --odzyskany       
	I (C.status & 512) 	= (0) --autonomiczny       
	I (C.status & 1024) 	= (0) --read tylko 
	ROZKAZ A.name'
	
	WSZYWKA w ##TempSync EXEC sp_msforeachdb @SQL
	-- WYBIÓRKA * OD ##TEMPSYNC
	ustawiać	@rc = @@rowcount

	OPUSZCZAĆ STOŁOWY ##TEMPSYNC

	jeżeli @rc = (0)
	zaczynać
		raiserror ("Żadny Osierocony Nazwa użytkownika. ", - (1), - (1))
		powrót (0)
	końcówka

	
	/** Załatwiać the osierocony nazwa użytkownika **/
	WYBIERAĆ @Collation =CONVERT (SYSNAME, DatabasePropertyEx ("mistrz", "Kolacjonowanie "))
	USTAWIAĆ @SQL = 'USE [?]
	OZNAJMIAĆ @DBUserName varchar (50)
	OZNAJMIAĆ @SysLoginName varchar (50)
	OZNAJMIAĆ SyncDBLogins KURSOR DLA WYBIÓRKA A.name DBUserName, B.log inname SysLoginName 
	OD sysusers ŁĄCZYĆ master.dbo.syslogins B NA A.name Zestawiać '+ @Collation + 
	'= B.Name ŁĄCZYĆ master.dbo.sysdatabases C NA C.Name = ''? '' 
	DOKĄD issqluser = (1) I (A.sid BYĆ NIEOBOWIĄZUJĄCY  I A.sid <> 0x0) I suser_sname (A.sid) BYĆ NIEOBOWIĄZUJĄCY 
	I (C.status & 32) 	= (0) --       
	I (C.status & 64) 	= (0) --wyzdrowienie wyzdrowienie       
	I (C.status & 128) 	= (0) --       
	I (C.status & 256) 	= (0) --odzyskany       
	I (C.status & 512) 	= (0) --autonomiczny       
	I (C.status & 1024) 	= (0) --read tylko 
	ROZKAZ A.name
	
	OTWIERAĆ SyncDBLogins
	PRZYNOSIĆ NASTĘPNIE OD SyncDBLogins W @DBUserName, @SysLoginName
	PODCZAS GDY @@FETCH_STATUS = (0) ZACZYNAĆ    
	    EXEC sp_change_users_login '' update_one '', @DBUserName, @SysLoginName    
	    PRZYNOSIĆ NASTĘPNIE OD SyncDBLogins W @DBUserName, @SysLoginName 
	KOŃCÓWKA
	ZAMKNIĘTY SyncDBLogins
	DEALOKOWAĆ SyncDBLogins'
	EXEC sp_msforeachdb @SQL

	powrót (0)
końcówka


IŚĆ
Inne rozwiązania  
 
programming4us programming4us